Overview
POL Balance
POL Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CUBE_Proxy_V2
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT // Custom Cube proxy contract! // _____ _____ _____ _____ // /\ \ /\ \ /\ \ /\ \ // /::\ \ /::\____\ /::\ \ /::\ \ // /::::\ \ /:::/ / /::::\ \ /::::\ \ // /::::::\ \ /:::/ / /::::::\ \ /::::::\ \ // /:::/\:::\ \ /:::/ / /:::/\:::\ \ /:::/\:::\ \ // /:::/ \:::\ \ /:::/ / /:::/__\:::\ \ /:::/__\:::\ \ // /:::/ \:::\ \ /:::/ / /::::\ \:::\ \ /::::\ \:::\ \ // /:::/ / \:::\ \ /:::/ / _____ /::::::\ \:::\ \ /::::::\ \:::\ \ // /:::/ / \:::\ \ /:::/____/ /\ \ /:::/\:::\ \:::\ ___\ /:::/\:::\ \:::\ \ // /:::/____/ \:::\____\|:::| / /::\____\/:::/__\:::\ \:::| |/:::/__\:::\ \:::\____\ // \:::\ \ \::/ /|:::|____\ /:::/ /\:::\ \:::\ /:::|____|\:::\ \:::\ \::/ / // \:::\ \ \/____/ \:::\ \ /:::/ / \:::\ \:::\/:::/ / \:::\ \:::\ \/____/ // \:::\ \ \:::\ \ /:::/ / \:::\ \::::::/ / \:::\ \:::\ \ // \:::\ \ \:::\ /:::/ / \:::\ \::::/ / \:::\ \:::\____\ // \:::\ \ \:::\__/:::/ / \:::\ /:::/ / \:::\ \::/ / // \:::\ \ \::::::::/ / \:::\/:::/ / \:::\ \/____/ // \:::\ \ \::::::/ / \::::::/ / \:::\ \ // \:::\____\ \::::/ / \::::/ / \:::\____\ // \::/ / \::/ / \::/ / \::/ / // \/____/ \/____/ \/____/ \/____/ pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/metatx/ERC2771Context.sol"; contract CUBE_Proxy_V2 { address public originalCubitContract; address public forwarderContract; address public owner; address public user; event TransferRef(address indexed from, address indexed recipient, uint256 amount, uint256 ref); event Transfer(address indexed from, address indexed recipient, uint256 amount); constructor(address _originalCubitAddress, address _forwarderAddress) { originalCubitContract = _originalCubitAddress; forwarderContract = _forwarderAddress; owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner, "Not the owner"); _; } // Function to allow the forwarder to check the balance of the cubit contract function balanceOf(address account) public view returns (uint256) { IERC20 cubit = IERC20(originalCubitContract); return cubit.balanceOf(account); } // Function for gaslessTransfer with REFID using forwarder, user must approve this contract from Cubit contract first. function transferWithRef(address sender, address recipient, uint256 amount, uint256 ref) public { require(msg.sender == forwarderContract || msg.sender == owner, "Not authorized"); IERC20 cubit = IERC20(originalCubitContract); //uint256 amountWithDecimals = amount * (10**18); cubit.transferFrom(sender, recipient, amount); emit TransferRef(sender, recipient, amount, ref); } // Function to transfer tokens from the proxy contract on behalf of the user function transfer(address sender, address recipient, uint256 amount) public { require(msg.sender == forwarderContract || msg.sender == owner, "Not authorized"); IERC20 cubit = IERC20(originalCubitContract); uint256 amountWithDecimals = amount * (10**18); cubit.transferFrom(sender, recipient, amountWithDecimals); emit Transfer(msg.sender, recipient, amountWithDecimals); } // Function to Upgrade the proxy when needed. function upgradeProxy(address _newProxy) public onlyOwner { require(_newProxy != address(0), "Invalid proxy address"); originalCubitContract = _newProxy; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (metatx/ERC2771Context.sol) pragma solidity ^0.8.20; import {Context} from "../utils/Context.sol"; /** * @dev Context variant with ERC2771 support. * * WARNING: Avoid using this pattern in contracts that rely in a specific calldata length as they'll * be affected by any forwarder whose `msg.data` is suffixed with the `from` address according to the ERC2771 * specification adding the address size in bytes (20) to the calldata size. An example of an unexpected * behavior could be an unintended fallback (or another function) invocation while trying to invoke the `receive` * function only accessible if `msg.data.length == 0`. */ abstract contract ERC2771Context is Context { /// @custom:oz-upgrades-unsafe-allow state-variable-immutable address private immutable _trustedForwarder; /** * @dev Initializes the contract with a trusted forwarder, which will be able to * invoke functions on this contract on behalf of other accounts. * * NOTE: The trusted forwarder can be replaced by overriding {trustedForwarder}. */ /// @custom:oz-upgrades-unsafe-allow constructor constructor(address trustedForwarder_) { _trustedForwarder = trustedForwarder_; } /** * @dev Returns the address of the trusted forwarder. */ function trustedForwarder() public view virtual returns (address) { return _trustedForwarder; } /** * @dev Indicates whether any particular address is the trusted forwarder. */ function isTrustedForwarder(address forwarder) public view virtual returns (bool) { return forwarder == trustedForwarder(); } /** * @dev Override for `msg.sender`. Defaults to the original `msg.sender` whenever * a call is not performed by the trusted forwarder or the calldata length is less than * 20 bytes (an address length). */ function _msgSender() internal view virtual override returns (address sender) { if (isTrustedForwarder(msg.sender) && msg.data.length >= 20) { // The assembly code is more direct than the Solidity version using `abi.decode`. /// @solidity memory-safe-assembly assembly { sender := shr(96, calldataload(sub(calldatasize(), 20))) } } else { return super._msgSender(); } } /** * @dev Override for `msg.data`. Defaults to the original `msg.data` whenever * a call is not performed by the trusted forwarder or the calldata length is less than * 20 bytes (an address length). */ function _msgData() internal view virtual override returns (bytes calldata) { if (isTrustedForwarder(msg.sender) && msg.data.length >= 20) { return msg.data[:msg.data.length - 20]; } else { return super._msgData(); } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 value) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets a `value` amount of tokens as the allowance of `spender` over the * caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 value) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (utils/Context.sol) pragma solidity ^0.8.20; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "evmVersion": "paris" }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_originalCubitAddress","type":"address"},{"internalType":"address","name":"_forwarderAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ref","type":"uint256"}],"name":"TransferRef","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"forwarderContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"originalCubitContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"ref","type":"uint256"}],"name":"transferWithRef","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxy","type":"address"}],"name":"upgradeProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"user","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610e9d380380610e9d8339818101604052810190610032919061015e565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505061019e565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061012b82610100565b9050919050565b61013b81610120565b811461014657600080fd5b50565b60008151905061015881610132565b92915050565b60008060408385031215610175576101746100fb565b5b600061018385828601610149565b925050602061019485828601610149565b9150509250929050565b610cf0806101ad6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b14610113578063beabacc814610131578063c164bdf11461014d578063e45e20f81461016b57610088565b80634a1523281461008d5780634f8632ba146100a957806370a08231146100c757806374474d28146100f7575b600080fd5b6100a760048036038101906100a291906108b2565b610189565b005b6100b1610386565b6040516100be9190610928565b60405180910390f35b6100e160048036038101906100dc9190610943565b6103ac565b6040516100ee919061097f565b60405180910390f35b610111600480360381019061010c9190610943565b610454565b005b61011b610596565b6040516101289190610928565b60405180910390f35b61014b6004803603810190610146919061099a565b6105bc565b005b6101556107cf565b6040516101629190610928565b60405180910390f35b6101736107f3565b6040516101809190610928565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102325750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026890610a4a565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040518463ffffffff1660e01b81526004016102d493929190610a6a565b6020604051808303816000875af11580156102f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103179190610ad9565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f9be86a1edd93f234e9c42b9ec0ff205d1b91b05eed309f225cc0a82f936508308585604051610377929190610b06565b60405180910390a35050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b815260040161040b9190610928565b602060405180830381865afa158015610428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044c9190610b44565b915050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104db90610bbd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054a90610c29565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106655750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069b90610a4a565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000670de0b6b3a7640000836106e09190610c78565b90508173ffffffffffffffffffffffffffffffffffffffff166323b872dd8686846040518463ffffffff1660e01b815260040161071f93929190610a6a565b6020604051808303816000875af115801561073e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107629190610ad9565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107c0919061097f565b60405180910390a35050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108498261081e565b9050919050565b6108598161083e565b811461086457600080fd5b50565b60008135905061087681610850565b92915050565b6000819050919050565b61088f8161087c565b811461089a57600080fd5b50565b6000813590506108ac81610886565b92915050565b600080600080608085870312156108cc576108cb610819565b5b60006108da87828801610867565b94505060206108eb87828801610867565b93505060406108fc8782880161089d565b925050606061090d8782880161089d565b91505092959194509250565b6109228161083e565b82525050565b600060208201905061093d6000830184610919565b92915050565b60006020828403121561095957610958610819565b5b600061096784828501610867565b91505092915050565b6109798161087c565b82525050565b60006020820190506109946000830184610970565b92915050565b6000806000606084860312156109b3576109b2610819565b5b60006109c186828701610867565b93505060206109d286828701610867565b92505060406109e38682870161089d565b9150509250925092565b600082825260208201905092915050565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b6000610a34600e836109ed565b9150610a3f826109fe565b602082019050919050565b60006020820190508181036000830152610a6381610a27565b9050919050565b6000606082019050610a7f6000830186610919565b610a8c6020830185610919565b610a996040830184610970565b949350505050565b60008115159050919050565b610ab681610aa1565b8114610ac157600080fd5b50565b600081519050610ad381610aad565b92915050565b600060208284031215610aef57610aee610819565b5b6000610afd84828501610ac4565b91505092915050565b6000604082019050610b1b6000830185610970565b610b286020830184610970565b9392505050565b600081519050610b3e81610886565b92915050565b600060208284031215610b5a57610b59610819565b5b6000610b6884828501610b2f565b91505092915050565b7f4e6f7420746865206f776e657200000000000000000000000000000000000000600082015250565b6000610ba7600d836109ed565b9150610bb282610b71565b602082019050919050565b60006020820190508181036000830152610bd681610b9a565b9050919050565b7f496e76616c69642070726f787920616464726573730000000000000000000000600082015250565b6000610c136015836109ed565b9150610c1e82610bdd565b602082019050919050565b60006020820190508181036000830152610c4281610c06565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610c838261087c565b9150610c8e8361087c565b9250828202610c9c8161087c565b91508282048414831517610cb357610cb2610c49565b5b509291505056fea2646970667358221220bef3c1c8eee153f737c1b024dca11ded3bcfa2b032690eb32452f00c973b322e64736f6c634300081700330000000000000000000000004c989b872e96c37bc6fcb2f0fe5fdcabecc405a200000000000000000000000020723de8e6ab77181bef9478f7c3cf4f44698e69
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b14610113578063beabacc814610131578063c164bdf11461014d578063e45e20f81461016b57610088565b80634a1523281461008d5780634f8632ba146100a957806370a08231146100c757806374474d28146100f7575b600080fd5b6100a760048036038101906100a291906108b2565b610189565b005b6100b1610386565b6040516100be9190610928565b60405180910390f35b6100e160048036038101906100dc9190610943565b6103ac565b6040516100ee919061097f565b60405180910390f35b610111600480360381019061010c9190610943565b610454565b005b61011b610596565b6040516101289190610928565b60405180910390f35b61014b6004803603810190610146919061099a565b6105bc565b005b6101556107cf565b6040516101629190610928565b60405180910390f35b6101736107f3565b6040516101809190610928565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102325750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026890610a4a565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040518463ffffffff1660e01b81526004016102d493929190610a6a565b6020604051808303816000875af11580156102f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103179190610ad9565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f9be86a1edd93f234e9c42b9ec0ff205d1b91b05eed309f225cc0a82f936508308585604051610377929190610b06565b60405180910390a35050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b815260040161040b9190610928565b602060405180830381865afa158015610428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044c9190610b44565b915050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104db90610bbd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054a90610c29565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106655750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069b90610a4a565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000670de0b6b3a7640000836106e09190610c78565b90508173ffffffffffffffffffffffffffffffffffffffff166323b872dd8686846040518463ffffffff1660e01b815260040161071f93929190610a6a565b6020604051808303816000875af115801561073e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107629190610ad9565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107c0919061097f565b60405180910390a35050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006108498261081e565b9050919050565b6108598161083e565b811461086457600080fd5b50565b60008135905061087681610850565b92915050565b6000819050919050565b61088f8161087c565b811461089a57600080fd5b50565b6000813590506108ac81610886565b92915050565b600080600080608085870312156108cc576108cb610819565b5b60006108da87828801610867565b94505060206108eb87828801610867565b93505060406108fc8782880161089d565b925050606061090d8782880161089d565b91505092959194509250565b6109228161083e565b82525050565b600060208201905061093d6000830184610919565b92915050565b60006020828403121561095957610958610819565b5b600061096784828501610867565b91505092915050565b6109798161087c565b82525050565b60006020820190506109946000830184610970565b92915050565b6000806000606084860312156109b3576109b2610819565b5b60006109c186828701610867565b93505060206109d286828701610867565b92505060406109e38682870161089d565b9150509250925092565b600082825260208201905092915050565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b6000610a34600e836109ed565b9150610a3f826109fe565b602082019050919050565b60006020820190508181036000830152610a6381610a27565b9050919050565b6000606082019050610a7f6000830186610919565b610a8c6020830185610919565b610a996040830184610970565b949350505050565b60008115159050919050565b610ab681610aa1565b8114610ac157600080fd5b50565b600081519050610ad381610aad565b92915050565b600060208284031215610aef57610aee610819565b5b6000610afd84828501610ac4565b91505092915050565b6000604082019050610b1b6000830185610970565b610b286020830184610970565b9392505050565b600081519050610b3e81610886565b92915050565b600060208284031215610b5a57610b59610819565b5b6000610b6884828501610b2f565b91505092915050565b7f4e6f7420746865206f776e657200000000000000000000000000000000000000600082015250565b6000610ba7600d836109ed565b9150610bb282610b71565b602082019050919050565b60006020820190508181036000830152610bd681610b9a565b9050919050565b7f496e76616c69642070726f787920616464726573730000000000000000000000600082015250565b6000610c136015836109ed565b9150610c1e82610bdd565b602082019050919050565b60006020820190508181036000830152610c4281610c06565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610c838261087c565b9150610c8e8361087c565b9250828202610c9c8161087c565b91508282048414831517610cb357610cb2610c49565b5b509291505056fea2646970667358221220bef3c1c8eee153f737c1b024dca11ded3bcfa2b032690eb32452f00c973b322e64736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004c989b872e96c37bc6fcb2f0fe5fdcabecc405a200000000000000000000000020723de8e6ab77181bef9478f7c3cf4f44698e69
-----Decoded View---------------
Arg [0] : _originalCubitAddress (address): 0x4c989B872E96C37bc6fCB2f0fE5FDcaBeCC405a2
Arg [1] : _forwarderAddress (address): 0x20723De8E6AB77181bEF9478F7C3cf4f44698E69
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000004c989b872e96c37bc6fcb2f0fe5fdcabecc405a2
Arg [1] : 00000000000000000000000020723de8e6ab77181bef9478f7c3cf4f44698e69
Deployed Bytecode Sourcemap
2493:2202:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3533:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2628:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3236:168;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4518:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2602:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4042:419;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2522:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2564:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3533:422;3661:17;;;;;;;;;;;3647:31;;:10;:31;;;:54;;;;3696:5;;;;;;;;;;;3682:19;;:10;:19;;;3647:54;3639:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;3731:12;3753:21;;;;;;;;;;;3731:44;;3844:5;:18;;;3863:6;3871:9;3882:6;3844:45;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3925:9;3905:43;;3917:6;3905:43;;;3936:6;3944:3;3905:43;;;;;;;:::i;:::-;;;;;;;;3629:326;3533:422;;;;:::o;2628:19::-;;;;;;;;;;;;;:::o;3236:168::-;3293:7;3312:12;3334:21;;;;;;;;;;3312:44;;3373:5;:15;;;3389:7;3373:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3366:31;;;3236:168;;;:::o;4518:175::-;3107:5;;;;;;;;;;;3093:19;;:10;:19;;;3085:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;4615:1:::1;4594:23;;:9;:23;;::::0;4586:57:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4677:9;4653:21;::::0;:33:::1;;;;;;;;;;;;;;;;;;4518:175:::0;:::o;2602:20::-;;;;;;;;;;;;;:::o;4042:419::-;4150:17;;;;;;;;;;;4136:31;;:10;:31;;;:54;;;;4185:5;;;;;;;;;;;4171:19;;:10;:19;;;4136:54;4128:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;4220:12;4242:21;;;;;;;;;;;4220:44;;4274:26;4313:6;4303;:17;;;;:::i;:::-;4274:46;;4330:5;:18;;;4349:6;4357:9;4368:18;4330:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4424:9;4403:51;;4412:10;4403:51;;;4435:18;4403:51;;;;;;:::i;:::-;;;;;;;;4118:343;;4042:419;;;:::o;2522:36::-;;;;;;;;;;;;:::o;2564:32::-;;;;;;;;;;;;;:::o;88:117:4:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:765::-;1283:6;1291;1299;1307;1356:3;1344:9;1335:7;1331:23;1327:33;1324:120;;;1363:79;;:::i;:::-;1324:120;1483:1;1508:53;1553:7;1544:6;1533:9;1529:22;1508:53;:::i;:::-;1498:63;;1454:117;1610:2;1636:53;1681:7;1672:6;1661:9;1657:22;1636:53;:::i;:::-;1626:63;;1581:118;1738:2;1764:53;1809:7;1800:6;1789:9;1785:22;1764:53;:::i;:::-;1754:63;;1709:118;1866:2;1892:53;1937:7;1928:6;1917:9;1913:22;1892:53;:::i;:::-;1882:63;;1837:118;1197:765;;;;;;;:::o;1968:118::-;2055:24;2073:5;2055:24;:::i;:::-;2050:3;2043:37;1968:118;;:::o;2092:222::-;2185:4;2223:2;2212:9;2208:18;2200:26;;2236:71;2304:1;2293:9;2289:17;2280:6;2236:71;:::i;:::-;2092:222;;;;:::o;2320:329::-;2379:6;2428:2;2416:9;2407:7;2403:23;2399:32;2396:119;;;2434:79;;:::i;:::-;2396:119;2554:1;2579:53;2624:7;2615:6;2604:9;2600:22;2579:53;:::i;:::-;2569:63;;2525:117;2320:329;;;;:::o;2655:118::-;2742:24;2760:5;2742:24;:::i;:::-;2737:3;2730:37;2655:118;;:::o;2779:222::-;2872:4;2910:2;2899:9;2895:18;2887:26;;2923:71;2991:1;2980:9;2976:17;2967:6;2923:71;:::i;:::-;2779:222;;;;:::o;3007:619::-;3084:6;3092;3100;3149:2;3137:9;3128:7;3124:23;3120:32;3117:119;;;3155:79;;:::i;:::-;3117:119;3275:1;3300:53;3345:7;3336:6;3325:9;3321:22;3300:53;:::i;:::-;3290:63;;3246:117;3402:2;3428:53;3473:7;3464:6;3453:9;3449:22;3428:53;:::i;:::-;3418:63;;3373:118;3530:2;3556:53;3601:7;3592:6;3581:9;3577:22;3556:53;:::i;:::-;3546:63;;3501:118;3007:619;;;;;:::o;3632:169::-;3716:11;3750:6;3745:3;3738:19;3790:4;3785:3;3781:14;3766:29;;3632:169;;;;:::o;3807:164::-;3947:16;3943:1;3935:6;3931:14;3924:40;3807:164;:::o;3977:366::-;4119:3;4140:67;4204:2;4199:3;4140:67;:::i;:::-;4133:74;;4216:93;4305:3;4216:93;:::i;:::-;4334:2;4329:3;4325:12;4318:19;;3977:366;;;:::o;4349:419::-;4515:4;4553:2;4542:9;4538:18;4530:26;;4602:9;4596:4;4592:20;4588:1;4577:9;4573:17;4566:47;4630:131;4756:4;4630:131;:::i;:::-;4622:139;;4349:419;;;:::o;4774:442::-;4923:4;4961:2;4950:9;4946:18;4938:26;;4974:71;5042:1;5031:9;5027:17;5018:6;4974:71;:::i;:::-;5055:72;5123:2;5112:9;5108:18;5099:6;5055:72;:::i;:::-;5137;5205:2;5194:9;5190:18;5181:6;5137:72;:::i;:::-;4774:442;;;;;;:::o;5222:90::-;5256:7;5299:5;5292:13;5285:21;5274:32;;5222:90;;;:::o;5318:116::-;5388:21;5403:5;5388:21;:::i;:::-;5381:5;5378:32;5368:60;;5424:1;5421;5414:12;5368:60;5318:116;:::o;5440:137::-;5494:5;5525:6;5519:13;5510:22;;5541:30;5565:5;5541:30;:::i;:::-;5440:137;;;;:::o;5583:345::-;5650:6;5699:2;5687:9;5678:7;5674:23;5670:32;5667:119;;;5705:79;;:::i;:::-;5667:119;5825:1;5850:61;5903:7;5894:6;5883:9;5879:22;5850:61;:::i;:::-;5840:71;;5796:125;5583:345;;;;:::o;5934:332::-;6055:4;6093:2;6082:9;6078:18;6070:26;;6106:71;6174:1;6163:9;6159:17;6150:6;6106:71;:::i;:::-;6187:72;6255:2;6244:9;6240:18;6231:6;6187:72;:::i;:::-;5934:332;;;;;:::o;6272:143::-;6329:5;6360:6;6354:13;6345:22;;6376:33;6403:5;6376:33;:::i;:::-;6272:143;;;;:::o;6421:351::-;6491:6;6540:2;6528:9;6519:7;6515:23;6511:32;6508:119;;;6546:79;;:::i;:::-;6508:119;6666:1;6691:64;6747:7;6738:6;6727:9;6723:22;6691:64;:::i;:::-;6681:74;;6637:128;6421:351;;;;:::o;6778:163::-;6918:15;6914:1;6906:6;6902:14;6895:39;6778:163;:::o;6947:366::-;7089:3;7110:67;7174:2;7169:3;7110:67;:::i;:::-;7103:74;;7186:93;7275:3;7186:93;:::i;:::-;7304:2;7299:3;7295:12;7288:19;;6947:366;;;:::o;7319:419::-;7485:4;7523:2;7512:9;7508:18;7500:26;;7572:9;7566:4;7562:20;7558:1;7547:9;7543:17;7536:47;7600:131;7726:4;7600:131;:::i;:::-;7592:139;;7319:419;;;:::o;7744:171::-;7884:23;7880:1;7872:6;7868:14;7861:47;7744:171;:::o;7921:366::-;8063:3;8084:67;8148:2;8143:3;8084:67;:::i;:::-;8077:74;;8160:93;8249:3;8160:93;:::i;:::-;8278:2;8273:3;8269:12;8262:19;;7921:366;;;:::o;8293:419::-;8459:4;8497:2;8486:9;8482:18;8474:26;;8546:9;8540:4;8536:20;8532:1;8521:9;8517:17;8510:47;8574:131;8700:4;8574:131;:::i;:::-;8566:139;;8293:419;;;:::o;8718:180::-;8766:77;8763:1;8756:88;8863:4;8860:1;8853:15;8887:4;8884:1;8877:15;8904:410;8944:7;8967:20;8985:1;8967:20;:::i;:::-;8962:25;;9001:20;9019:1;9001:20;:::i;:::-;8996:25;;9056:1;9053;9049:9;9078:30;9096:11;9078:30;:::i;:::-;9067:41;;9257:1;9248:7;9244:15;9241:1;9238:22;9218:1;9211:9;9191:83;9168:139;;9287:18;;:::i;:::-;9168:139;8952:362;8904:410;;;;:::o
Swarm Source
ipfs://bef3c1c8eee153f737c1b024dca11ded3bcfa2b032690eb32452f00c973b322e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.