Transactions
Internal Transactions
Coin Balance History
Logs
Code
Read Contract
Read Proxy
Write Contract
Write Proxy
Contract is not verified. However, we found a verified contract with the same bytecode in Blockscout DB 0x9dad43ee9e09837aeaca21799c88613e8e7c67dd.
All metadata displayed below is from that contract. In order to verify current contract, click Verify & Publish button
Verify & Publish
All metadata displayed below is from that contract. In order to verify current contract, click Verify & Publish button
- Contract name:
- TokenProxy
- Optimization enabled
- true
- Compiler version
- v0.7.5+commit.eb77ed08
- Optimization runs
- 200
- Verified at
- 2021-10-26T17:42:27.372620Z
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