- Contract name:
- TokenFactory
- Optimization enabled
- true
- Compiler version
- v0.7.5+commit.eb77ed08
- Optimization runs
- 200
- EVM Version
- istanbul
- Verified at
- 2021-10-17T14:01:46.003879Z
Constructor Arguments
00000000000000000000000011e02cde9b6a3298b26e886117ff4f0ede56ce0b0000000000000000000000003c975d98682b183c0e6fcfc6cf8d441960be313d
Arg [0] (address) : 0x11e02cde9b6a3298b26e886117ff4f0ede56ce0b
Arg [1] (address) : 0x3c975d98682b183c0e6fcfc6cf8d441960be313d
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":"_owner","internalType":"address"},{"type":"address","name":"_tokenImage","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"deploy","inputs":[{"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":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"owner","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"setTokenImage","inputs":[{"type":"address","name":"_tokenImage","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"tokenImage","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"_newOwner","internalType":"address"}]}]
Deployed ByteCode
0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631fa2195f1461005c5780638da5cb5b14610084578063a39d6acf146100a8578063c1aef4f214610173578063f2fde38b1461017b575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166101a1565b005b61008c6101ec565b604080516001600160a01b039092168252519081900360200190f35b61008c600480360360808110156100be57600080fd5b8101906020810181356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b91939092909160208101903564010000000081111561012b57600080fd5b82018360208201111561013d57600080fd5b8035906020019184600183028401116401000000008311171561015f57600080fd5b919350915060ff81351690602001356101fb565b61008c6102d3565b6100826004803603602081101561019157600080fd5b50356001600160a01b03166102e2565b6000546001600160a01b031633146101b857600080fd5b6101c18161031b565b6101ca57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6000600160009054906101000a90046001600160a01b03168787878787873360405161022690610357565b6001600160a01b03808a16825260ff8516606083015260808201849052821660a082015260c0602082018181529082018890526040820160e083018a8a80828437600083820152601f01601f1916909101848103835288815260200190508888808284376000838201819052604051601f909201601f19169093018190039d509b50909950505050505050505050f0801580156102c7573d6000803e3d6000fd5b50979650505050505050565b6001546001600160a01b031681565b6000546001600160a01b031633146102f957600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061034f57508115155b949350505050565b61057d806103658339019056fe608060405234801561001057600080fd5b5060405161057d38038061057d833981810160405260c081101561003357600080fd5b81516020830180516040519294929383019291908464010000000082111561005a57600080fd5b90830190602082018581111561006f57600080fd5b825164010000000081118282018810171561008957600080fd5b82525081516020918201929091019080838360005b838110156100b657818101518382015260200161009e565b50505050905090810190601f1680156100e35780820380516001836020036101000a031916815260200191505b506040526020018051604051939291908464010000000082111561010657600080fd5b90830190602082018581111561011b57600080fd5b825164010000000081118282018810171561013557600080fd5b82525081516020918201929091019080838360005b8381101561016257818101518382015260200161014a565b50505050905090810190601f16801561018f5780820380516001836020036101000a031916815260200191505b50604081815260208301518382015160609485015163054fd4d560e41b8552925191965094509092916001600160a01b038916916354fd4d5091600480820192600092909190829003018186803b1580156101e957600080fd5b505afa1580156101fd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561022657600080fd5b810190808051604051939291908464010000000082111561024657600080fd5b90830190602082018581111561025b57600080fd5b825164010000000081118282018810171561027557600080fd5b82525081516020918201929091019080838360005b838110156102a257818101518382015260200161028a565b50505050905090810190601f1680156102cf5780820380516001836020036101000a031916815260200191505b506040525050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc88905586519091506103109060009060208901906103e4565b5084516103249060019060208801906103e4565b506002805460ff90951660ff1990951694909417909355600680546001600160a01b039092166001600160a01b03199283168117909155600780549092161790558351602094850120825192850192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8188015280820194909452606084019190915260808301919091523060a0808401919091528151808403909101815260c090920190528051920191909120600855506104859050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261041a5760008555610460565b82601f1061043357805160ff1916838001178555610460565b82800160010185558215610460579182015b82811115610460578251825591602001919060010190610445565b5061046c929150610470565b5090565b5b8082111561046c5760008155600101610471565b60ea806104936000396000f3fe608060405260043610601c5760003560e01c80635c60da1b146061575b60006024608f565b90506001600160a01b038116603857600080fd5b60405136600082376000803683855af43d82016040523d6000833e808015605d573d83f35b3d83fd5b348015606c57600080fd5b506073608f565b604080516001600160a01b039092168252519081900360200190f35b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc549056fea2646970667358221220f7c4934bd67facb5878894e46524eaa736d748ad86fe331f5fb4b5ce7f9c39bf64736f6c63430007050033a2646970667358221220f01204e7aa78b2262d4856d798905b2be31a607cb27dbe0df9ed77258d44759264736f6c63430007050033