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:49:08.183142Z
Constructor Arguments
00000000000000000000000093ee1707d31c3f69ed29a67c08acd2850fa41ef600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000f60000000000000000000000000c8c0172dd5fa7e9d009c75746bce84d7ecffb00000000000000000000000000000000000000000000000000000000000000001e54657468657220555344206f6e20456e657267792057656220436861696e000000000000000000000000000000000000000000000000000000000000000000045553445400000000000000000000000000000000000000000000000000000000
Arg [0] (address) : 0x93ee1707d31c3f69ed29a67c08acd2850fa41ef6
Arg [1] (string) : Tether USD on Energy Web Chain
Arg [2] (string) : USDT
Arg [3] (uint8) : 18
Arg [4] (uint256) : 246
Arg [5] (address) : 0x0c8c0172dd5fa7e9d009c75746bce84d7ecffb00
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