Transactions
Internal Transactions
Coin Balance History
Logs
Code
Read Contract
Read Proxy
Write Contract
Write Proxy
- Contract name:
- TokenProxy
- Optimization enabled
- true
- Compiler version
- v0.7.5+commit.eb77ed08
- Optimization runs
- 200
- EVM Version
- default
- Verified at
- 2021-10-26T17:42:27.372620Z
Constructor Arguments
0000000000000000000000003c975d98682b183c0e6fcfc6cf8d441960be313d00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000f60000000000000000000000004c278bf25b7dae52e2179dd76ff9fb45d18a1510000000000000000000000000000000000000000000000000000000000000001c55534420436f696e206f6e20456e657267792057656220436861696e0000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000
Arg [0] (address) : 0x3c975d98682b183c0e6fcfc6cf8d441960be313d
Arg [1] (string) : USD Coin on Energy Web Chain
Arg [2] (string) : USDC
Arg [3] (uint8) : 6
Arg [4] (uint256) : 246
Arg [5] (address) : 0x4c278bf25b7dae52e2179dd76ff9fb45d18a1510
Contract source code
// File: contracts/upgradeability/Proxy.solpragma solidity 0.7.5;/*** @title Proxy* @dev Gives the possibility to delegate any call to a foreign implementation.*/abstract contract Proxy {/*** @dev Tells the address of the implementation where every call will be delegated.* @return address of the implementation to which it will be delegated*/function implementation() public view virtual returns (address);/*** @dev Fallback function allowing to perform a delegatecall to the given implementation.* This function will return whatever the implementation call returns*/fallback() external payable {// solhint-disable-previous-line no-complex-fallbackaddress _impl = implementation();require(_impl != address(0));assembly {/*0x40 is the "free memory slot", meaning a pointer to next slot of empty memory. mload(0x40)loads the data in the free memory slot, so `ptr` is a pointer to the next slot of emptymemory. It's needed because we're going to write the return data of delegatecall to thefree memory slot.*/let ptr := mload(0x40)/*`calldatacopy` is copy calldatasize bytes from calldataFirst argument is the destination to which data is copied(ptr)Second argument specifies the start position of the copied data.Since calldata is sort of its own unique location in memory,0 doesn't refer to 0 in memory or 0 in storage - it just refers to the zeroth byte of calldata.That's always going to be the zeroth byte of the function selector.Third argument, calldatasize, specifies how much data will be copied.calldata is naturally calldatasize bytes long (same thing as msg.data.length)*/
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_tokenImage","internalType":"address"},{"type":"string","name":"_name","internalType":"string"},{"type":"string","name":"_symbol","internalType":"string"},{"type":"uint8","name":"_decimals","internalType":"uint8"},{"type":"uint256","name":"_chainId","internalType":"uint256"},{"type":"address","name":"_owner","internalType":"address"}]},{"type":"fallback","stateMutability":"payable"},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"impl","internalType":"address"}],"name":"implementation","inputs":[]}]
Deployed ByteCode
0x608060405260043610601c5760003560e01c80635c60da1b146061575b60006024608f565b90506001600160a01b038116603857600080fd5b60405136600082376000803683855af43d82016040523d6000833e808015605d573d83f35b3d83fd5b348015606c57600080fd5b506073608f565b604080516001600160a01b039092168252519081900360200190f35b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc549056fea2646970667358221220f7c4934bd67facb5878894e46524eaa736d748ad86fe331f5fb4b5ce7f9c39bf64736f6c63430007050033