Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0.00000942 ETH
Eth Value
$0.04 (@ $4,014.10/ETH)More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 6,465 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Add To Withdrawa... | 21407254 | 14 hrs ago | IN | 0 ETH | 0.00073494 | ||||
Add To Withdrawa... | 21406365 | 17 hrs ago | IN | 0 ETH | 0.00094403 | ||||
Dcs Bulk Check S... | 21401384 | 34 hrs ago | IN | 0 ETH | 0.0005226 | ||||
Add To Withdrawa... | 21399179 | 41 hrs ago | IN | 0 ETH | 0.00101324 | ||||
Fcn Bulk Process... | 21384918 | 3 days ago | IN | 0 ETH | 0.02214126 | ||||
Fcn Bulk Collect... | 21384915 | 3 days ago | IN | 0 ETH | 0.01913471 | ||||
Fcn Bulk Settle ... | 21383510 | 3 days ago | IN | 0 ETH | 0.00159543 | ||||
Sfn Bulk Process... | 21380464 | 4 days ago | IN | 0 ETH | 0.0185305 | ||||
Sfn Bulk Collect... | 21380454 | 4 days ago | IN | 0 ETH | 0.01369426 | ||||
Sfn Bulk Settle ... | 21380335 | 4 days ago | IN | 204.88984153 ETH | 0.00496525 | ||||
Fcn Bulk Check T... | 21380127 | 4 days ago | IN | 0 ETH | 0.06643387 | ||||
Fcn Bulk Check T... | 21380126 | 4 days ago | IN | 0 ETH | 0.07208534 | ||||
Fcn Bulk Check T... | 21380125 | 4 days ago | IN | 0 ETH | 0.07908761 | ||||
Fcn Bulk Check T... | 21380124 | 4 days ago | IN | 0 ETH | 0.09075199 | ||||
Fcn Bulk Check T... | 21380123 | 4 days ago | IN | 0 ETH | 0.09912493 | ||||
Sfn Bulk Settle ... | 21380105 | 4 days ago | IN | 0 ETH | 0.00406483 | ||||
Dcs Bulk Process... | 21379874 | 4 days ago | IN | 0 ETH | 0.02391653 | ||||
Dcs Bulk Collect... | 21379871 | 4 days ago | IN | 0 ETH | 0.02350058 | ||||
Sfn Bulk Settle ... | 21379852 | 4 days ago | IN | 0.01429595 ETH | 0.01593128 | ||||
Dcs Bulk Settle ... | 21379849 | 4 days ago | IN | 0 ETH | 0.01077535 | ||||
Dcs Bulk Check T... | 21379812 | 4 days ago | IN | 0 ETH | 0.01118595 | ||||
Dcs Bulk Check T... | 21379811 | 4 days ago | IN | 0 ETH | 0.01179426 | ||||
Fcn Bulk Check T... | 21379797 | 4 days ago | IN | 0 ETH | 0.085751 | ||||
Fcn Bulk Check T... | 21379796 | 4 days ago | IN | 0 ETH | 0.08509447 | ||||
Sfn Bulk Check T... | 21379783 | 4 days ago | IN | 0 ETH | 0.00776769 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21380335 | 4 days ago | 204.88984153 ETH | ||||
21379852 | 4 days ago | 0.01429595 ETH | ||||
21329932 | 11 days ago | 201.0162565 ETH | ||||
21329932 | 11 days ago | 0.54087015 ETH | ||||
21288669 | 17 days ago | 0.81387682 ETH | ||||
21287249 | 17 days ago | 0.00390251 ETH | ||||
21287244 | 17 days ago | 0.00001722 ETH | ||||
21287244 | 17 days ago | 0.00463934 ETH | ||||
21287244 | 17 days ago | 0.00001549 ETH | ||||
21280021 | 18 days ago | 10.03627171 ETH | ||||
21279908 | 18 days ago | Contract Creation | 0 ETH | |||
21279907 | 18 days ago | Contract Creation | 0 ETH | |||
21279907 | 18 days ago | Contract Creation | 0 ETH | |||
21279907 | 18 days ago | Contract Creation | 0 ETH | |||
21279907 | 18 days ago | Contract Creation | 0 ETH | |||
21279906 | 18 days ago | Contract Creation | 0 ETH | |||
21279906 | 18 days ago | Contract Creation | 0 ETH | |||
21279906 | 18 days ago | Contract Creation | 0 ETH | |||
21279873 | 18 days ago | 0.95633594 ETH | ||||
21276875 | 18 days ago | 200 ETH | ||||
21243449 | 23 days ago | 0.81374424 ETH | ||||
21241099 | 23 days ago | 0.00811346 ETH | ||||
21241099 | 23 days ago | 0.00229157 ETH | ||||
21241086 | 23 days ago | 0.00000448 ETH | ||||
21241079 | 23 days ago | 0.0309077 ETH |
Loading...
Loading
Contract Name:
CegaEntry
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.10; /******************************************************************************\ * A custom implementation of EIP-2535 * EIP-2535: https://eips.ethereum.org/EIPS/eip-2535 /******************************************************************************/ import { CegaEntryLib } from "./lib/CegaEntryLib.sol"; import { ICegaEntry } from "./interfaces/ICegaEntry.sol"; contract CegaEntry is ICegaEntry { constructor(address _contractOwner) payable { CegaEntryLib.setContractOwner(_contractOwner); } function diamondCut( ProxyImplementation[] calldata _implementationParams, address _init, bytes calldata _calldata ) external override { CegaEntryLib.enforceIsContractOwner(); CegaEntryLib.updateImplementation( _implementationParams, _init, _calldata ); } // Find implementation for function that is called and execute the // function if a implementation is found and return any value. fallback() external payable { CegaEntryLib.ProxyStorage storage ds = CegaEntryLib.proxyStorage(); // get implementation from function selector address implementation = ds .selectorToImplAndPosition[msg.sig] .implAddress; require( implementation != address(0), "CegaEntry: Function does not exist" ); // Execute external function from implementation using delegatecall and return any value. assembly { // copy function selector and any arguments calldatacopy(0, 0, calldatasize()) // execute function call using the implementation let result := delegatecall( gas(), implementation, 0, calldatasize(), 0, 0 ) // get any return value returndatacopy(0, 0, returndatasize()) // return any return value or error back to the caller switch result case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } receive() external payable {} }
// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.10; /******************************************************************************\ * EIP-2535: https://eips.ethereum.org/EIPS/eip-2535 /******************************************************************************/ interface ICegaEntry { enum ProxyImplementationAction { Add, Replace, Remove } // Add=0, Replace=1, Remove=2 struct ProxyImplementation { address implAddress; ProxyImplementationAction action; bytes4[] functionSelectors; } /// @notice Add/replace/remove any number of functions and optionally execute /// a function with delegatecall /// @param _implementationParams Contains the implementation addresses and function selectors /// @param _init The address of the contract or implementation to execute _calldata /// @param _calldata A function call, including function selector and arguments /// _calldata is executed with delegatecall on _init function diamondCut( ProxyImplementation[] calldata _implementationParams, address _init, bytes calldata _calldata ) external; event DiamondCut( ProxyImplementation[] _diamondCut, address _init, bytes _calldata ); }
// SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.10; /******************************************************************************\ * EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535 /******************************************************************************/ import { ICegaEntry } from "../interfaces/ICegaEntry.sol"; library CegaEntryLib { bytes32 constant PROXY_STORAGE_POSITION = bytes32(uint256(keccak256("cega.proxy.implementation.storage")) - 1); struct ImplementationAddressAndPosition { address implAddress; uint96 functionSelectorPosition; // position in implementationFunctionSelectors.functionSelectors array } struct ImplementationFunctionSelectors { bytes4[] functionSelectors; uint256 implementationAddressPosition; // position of implAddress in implementationAddresses array } struct ProxyStorage { // maps function selector to the implementation address and // the position of the selector in the implementationFunctionSelectors.selectors array mapping(bytes4 => ImplementationAddressAndPosition) selectorToImplAndPosition; // maps implementation addresses to function selectors mapping(address => ImplementationFunctionSelectors) implementationFunctionSelectors; // implementation addresses address[] implementationAddresses; // Used to query if a contract implements an interface. // Used to implement ERC-165. mapping(bytes4 => bool) supportedInterfaces; // owner of the contract address contractOwner; } function proxyStorage() internal pure returns (ProxyStorage storage ds) { bytes32 position = PROXY_STORAGE_POSITION; assembly { ds.slot := position } } event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); function setContractOwner(address _newOwner) internal { ProxyStorage storage ds = proxyStorage(); address previousOwner = ds.contractOwner; ds.contractOwner = _newOwner; emit OwnershipTransferred(previousOwner, _newOwner); } function contractOwner() internal view returns (address contractOwner_) { contractOwner_ = proxyStorage().contractOwner; } function enforceIsContractOwner() internal view { require( msg.sender == proxyStorage().contractOwner, "CegaEntry: Must be contract owner" ); } event DiamondCut( ICegaEntry.ProxyImplementation[] _implementationData, address _init, bytes _calldata ); // Internal function version of diamondCut function updateImplementation( ICegaEntry.ProxyImplementation[] memory _implementationData, address _init, bytes memory _calldata ) internal { for ( uint256 implIndex; implIndex < _implementationData.length; implIndex++ ) { ICegaEntry.ProxyImplementationAction action = _implementationData[ implIndex ].action; if (action == ICegaEntry.ProxyImplementationAction.Add) { addFunctions( _implementationData[implIndex].implAddress, _implementationData[implIndex].functionSelectors ); } else if (action == ICegaEntry.ProxyImplementationAction.Replace) { replaceFunctions( _implementationData[implIndex].implAddress, _implementationData[implIndex].functionSelectors ); } else if (action == ICegaEntry.ProxyImplementationAction.Remove) { removeFunctions( _implementationData[implIndex].implAddress, _implementationData[implIndex].functionSelectors ); } else { revert("CegaEntry: Incorrect ProxyImplementationAction"); } } emit DiamondCut(_implementationData, _init, _calldata); initializeImplementation(_init, _calldata); } function addFunctions( address _implementationAddress, bytes4[] memory _functionSelectors ) internal { require( _functionSelectors.length > 0, "CegaEntry: No selectors in implementation to cut" ); ProxyStorage storage ds = proxyStorage(); require( _implementationAddress != address(0), "CegaEntry: Add implementation can't be address(0)" ); uint96 selectorPosition = uint96( ds .implementationFunctionSelectors[_implementationAddress] .functionSelectors .length ); // add new implementation address if it does not exist if (selectorPosition == 0) { addFacet(ds, _implementationAddress); } for ( uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++ ) { bytes4 selector = _functionSelectors[selectorIndex]; address oldImplementationAddress = ds .selectorToImplAndPosition[selector] .implAddress; require( oldImplementationAddress == address(0), "CegaEntry: Can't add function that already exists" ); addFunction(ds, selector, selectorPosition, _implementationAddress); selectorPosition++; } } function replaceFunctions( address _implementationAddress, bytes4[] memory _functionSelectors ) internal { require( _functionSelectors.length > 0, "CegaEntry: No selectors in implementation to cut" ); ProxyStorage storage ds = proxyStorage(); require( _implementationAddress != address(0), "CegaEntry: Replace implementation can't be address(0)" ); uint96 selectorPosition = uint96( ds .implementationFunctionSelectors[_implementationAddress] .functionSelectors .length ); // add new implementation address if it does not exist if (selectorPosition == 0) { addFacet(ds, _implementationAddress); } for ( uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++ ) { bytes4 selector = _functionSelectors[selectorIndex]; address oldImplementationAddress = ds .selectorToImplAndPosition[selector] .implAddress; require( oldImplementationAddress != _implementationAddress, "CegaEntry: Can't replace function with same function" ); removeFunction(ds, oldImplementationAddress, selector); addFunction(ds, selector, selectorPosition, _implementationAddress); selectorPosition++; } } function removeFunctions( address _implementationAddress, bytes4[] memory _functionSelectors ) internal { require( _functionSelectors.length > 0, "CegaEntry: No selectors in implementation to cut" ); ProxyStorage storage ds = proxyStorage(); // if function does not exist then do nothing and return require( _implementationAddress == address(0), "CegaEntry: Remove implementation address must be address(0)" ); for ( uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++ ) { bytes4 selector = _functionSelectors[selectorIndex]; address oldImplementationAddress = ds .selectorToImplAndPosition[selector] .implAddress; removeFunction(ds, oldImplementationAddress, selector); } } function addFacet( ProxyStorage storage ds, address _implementationAddress ) internal { enforceHasContractCode( _implementationAddress, "CegaEntry: New implementation has no code" ); ds .implementationFunctionSelectors[_implementationAddress] .implementationAddressPosition = ds.implementationAddresses.length; ds.implementationAddresses.push(_implementationAddress); } function addFunction( ProxyStorage storage ds, bytes4 _selector, uint96 _selectorPosition, address _implementationAddress ) internal { ds .selectorToImplAndPosition[_selector] .functionSelectorPosition = _selectorPosition; ds .implementationFunctionSelectors[_implementationAddress] .functionSelectors .push(_selector); ds .selectorToImplAndPosition[_selector] .implAddress = _implementationAddress; } function removeFunction( ProxyStorage storage ds, address _implementationAddress, bytes4 _selector ) internal { require( _implementationAddress != address(0), "CegaEntry: Can't remove function that doesn't exist" ); // an immutable function is a function defined directly in a cegaEntry require( _implementationAddress != address(this), "CegaEntry: Can't remove immutable function" ); // replace selector with last selector, then delete last selector uint256 selectorPosition = ds .selectorToImplAndPosition[_selector] .functionSelectorPosition; uint256 lastSelectorPosition = ds .implementationFunctionSelectors[_implementationAddress] .functionSelectors .length - 1; // if not the same then replace _selector with lastSelector if (selectorPosition != lastSelectorPosition) { bytes4 lastSelector = ds .implementationFunctionSelectors[_implementationAddress] .functionSelectors[lastSelectorPosition]; ds .implementationFunctionSelectors[_implementationAddress] .functionSelectors[selectorPosition] = lastSelector; ds .selectorToImplAndPosition[lastSelector] .functionSelectorPosition = uint96(selectorPosition); } // delete the last selector ds .implementationFunctionSelectors[_implementationAddress] .functionSelectors .pop(); delete ds.selectorToImplAndPosition[_selector]; // if no more selectors for implementation address then delete the implementation address if (lastSelectorPosition == 0) { // replace implementation address with last implementation address and delete last implementation address uint256 lastImplementationAddressPosition = ds .implementationAddresses .length - 1; uint256 implementationAddressPosition = ds .implementationFunctionSelectors[_implementationAddress] .implementationAddressPosition; if ( implementationAddressPosition != lastImplementationAddressPosition ) { address lastImplementationAddress = ds.implementationAddresses[ lastImplementationAddressPosition ]; ds.implementationAddresses[ implementationAddressPosition ] = lastImplementationAddress; ds .implementationFunctionSelectors[lastImplementationAddress] .implementationAddressPosition = implementationAddressPosition; } ds.implementationAddresses.pop(); delete ds .implementationFunctionSelectors[_implementationAddress] .implementationAddressPosition; } } function initializeImplementation( address _init, bytes memory _calldata ) internal { if (_init == address(0)) { require( _calldata.length == 0, "CegaEntry: _init is address(0) but _calldata is not empty" ); } else { require( _calldata.length > 0, "CegaEntry: _calldata is empty but _init is not address(0)" ); if (_init != address(this)) { enforceHasContractCode( _init, "CegaEntry: _init address has no code" ); } (bool success, bytes memory error) = _init.delegatecall(_calldata); if (!success) { if (error.length > 0) { // bubble up the error assembly { revert(add(error, 0x20), mload(error)) } } else { revert("CegaEntry: _init function reverted"); } } } } function enforceHasContractCode( address _contract, string memory _errorMessage ) internal view { require(_contract.code.length > 0, _errorMessage); } }
{ "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "optimizer": { "enabled": true, "runs": 200, "details": { "yulDetails": { "optimizerSteps": "u" } } }, "viaIR": true, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_contractOwner","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"implAddress","type":"address"},{"internalType":"enum ICegaEntry.ProxyImplementationAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"indexed":false,"internalType":"struct ICegaEntry.ProxyImplementation[]","name":"_diamondCut","type":"tuple[]"},{"indexed":false,"internalType":"address","name":"_init","type":"address"},{"indexed":false,"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"DiamondCut","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"components":[{"internalType":"address","name":"implAddress","type":"address"},{"internalType":"enum ICegaEntry.ProxyImplementationAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"internalType":"struct ICegaEntry.ProxyImplementation[]","name":"_implementationParams","type":"tuple[]"},{"internalType":"address","name":"_init","type":"address"},{"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"diamondCut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001862000012620000e1565b62000104565b6040516119e46200028a82396119e490f35b50634e487b7160e01b600052604160045260246000fd5b90601f01601f191681019081106001600160401b038211176200006357604052565b6200006d6200002a565b604052565b90620000896200008160405190565b928362000041565b565b600080fd5b6001600160a01b031690565b90565b6001600160a01b038116036200008b57565b9050519062000089826200009f565b906200009c9160208183031215620000b157620000db600080fd5b620000b1565b6200009c62001c6e80380380620000f88162000072565b928339810190620000c0565b62000089906200017c565b546001600160a01b031690565b6200009c9062000090906001600160a01b031682565b6200009c906200011c565b6200009c9062000132565b906200015c6200009c62000178926200013d565b82546001600160a01b0319166001600160a01b03919091161790565b9055565b6004620001886200027f565b0190620001a1816200019a846200010f565b9362000148565b620001d8620001d17f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0936200013d565b916200013d565b91620001e360405190565b600090a3565b6200009c6200009c6200009c9290565b6200009c90620001e9565b50634e487b7160e01b600052601160045260246000fd5b919082039182116200022957565b6200008962000204565b6200009c62000279620002667f11cac52ac9aac3f05b98c564845f9cbef3a9feb42b2c77780d0605eb87044b24620001f9565b620002726001620001e9565b906200021b565b620001e9565b6200009c6200023356fe6080604052600436101561001e575b361561001c5761001c61052f565b005b60003560e01c631f931c1c0361000e57610036610192565b61000e565b600080fd5b909182601f83011215610089575b602082359267ffffffffffffffff841161007c575b01926020830284011161007257565b61007a600080fd5b565b610084600080fd5b610063565b610091600080fd5b61004e565b6001600160a01b031690565b90565b6001600160a01b0381165b0361003b57565b9050359061007a826100a5565b909182601f83011215610100575b602082359267ffffffffffffffff84116100f3575b01928284011161007257565b6100fb600080fd5b6100e7565b610108600080fd5b6100d2565b6101679192606082850312610185575b61013a84833567ffffffffffffffff8111610178575b8401610040565b93909461014a81602086016100b7565b9360408101359067ffffffffffffffff821161016b575b016100c4565b9091565b610173600080fd5b610161565b610180600080fd5b610133565b61018d600080fd5b61011d565b50346101b5575b6101b06101a736600461010d565b9392909261047f565b604051005b6101bd600080fd5b610199565b601f01601f191690565b50634e487b7160e01b600052604160045260246000fd5b90601f01601f1916810190811067ffffffffffffffff82111761020557604052565b61020d6101cc565b604052565b9061007a61021f60405190565b92836101e3565b6020809167ffffffffffffffff811161023e57020190565b6102466101cc565b020190565b6003111561003b57565b9050359061007a8261024b565b6001600160e01b031981166100b0565b9050359061007a82610262565b9092919261029461028f82610226565b610212565b93818552602080860192028301928184116102d2575b915b8383106102b95750505050565b602080916102c78486610272565b8152019201916102ac565b6102da600080fd5b6102aa565b906100a29181601f820112156102fb575b60208135910161027f565b610303600080fd5b6102f0565b919061036290606084820312610376575b6103236060610212565b93600061033083836100b7565b90860152602061034283828401610255565b9086015260408101359067ffffffffffffffff8211610369575b016102df565b6040830152565b610371600080fd5b61035c565b61037e600080fd5b610319565b9092919261039361028f82610226565b93818552602080860192028301928184116103f3575b80925b8484106103ba575050505050565b602080916103db85873567ffffffffffffffff81116103e6575b8601610308565b8152019301926103ac565b6103ee600080fd5b6103d4565b6103fb600080fd5b6103a9565b6100a2913691610383565b61042a60209167ffffffffffffffff811161042e57601f01601f191690565b0190565b6101c26101cc565b90826000939282370152565b92919061007a9161045561028f8361040b565b94828652602086019183820111156104365761046f600080fd5b610436565b6100a2913691610442565b9361049861049e9261007a96610493610685565b610400565b93610474565b916108f1565b906001600160e01b0319165b600052602052604060002090565b6100966100a26100a29290565b6100a2906104be565b156104db57565b60405162461bcd60e51b815260206004820152602260248201527f43656761456e7472793a2046756e6374696f6e20646f6573206e6f74206578696044820152611cdd60f21b6064820152608490fd5b0390fd5b50610562600061055481610541610627565b83356001600160e01b03191691016104a4565b01546001600160a01b031690565b6000808092610587610576610096846104cb565b6001600160a01b03831614156104d4565b368280378136915af43d82803e1561059d573d90f35b3d90fd5b6100a26100a26100a29290565b6100a2906105a1565b50634e487b7160e01b600052601160045260246000fd5b919082039182116105db57565b61007a6105b7565b6100a26106226106127f11cac52ac9aac3f05b98c564845f9cbef3a9feb42b2c77780d0605eb87044b246105ae565b61061c60016105a1565b906105ce565b6105a1565b6100a26105e3565b1561063657565b60405162461bcd60e51b815260206004820152602160248201527f43656761456e7472793a204d75737420626520636f6e7472616374206f776e656044820152603960f91b6064820152608490fd5b61007a336106a961069c6100966004610554610627565b916001600160a01b031690565b1461062f565b60019060001981146106bf570190565b61042a6105b7565b50634e487b7160e01b600052603260045260246000fd5b90602080916106eb845190565b8110156106f9575b02010190565b6107016106c7565b6106f3565b50634e487b7160e01b600052602160045260246000fd5b6003111561072757565b61007a610706565b9061007a8261071d565b6100a2905161072f565b9052565b6100a29061072f565b61074390610747565b90610779610772610768845190565b8084529260200190565b9260200190565b9060005b81811061078a5750505090565b9091926107b16107aa60019286516001600160e01b031916815260200190565b9460200190565b92910161077d565b80516001600160a01b031682526100a29160608101916040906107e460208201516020850190610750565b0151906040818403910152610759565b906100a2916107b9565b9061081461080a835190565b8083529160200190565b90816108266020830284019460200190565b926000915b83831061083a57505050505090565b9091929394602061085d610856838560019503875289516107f4565b9760200190565b930193019193929061082b565b60005b83811061087d5750506000910152565b818101518382015260200161086d565b6108ae6101c260209361042a936108a2815190565b80835293849260200190565b9586910161086a565b60608082526100a294926108e4916108d291908401906107fe565b6001600160a01b039094166020830152565b604081840391015261088d565b92909160005b6109026100a2865190565b811015610a5c5761091f602061091883886106de565b5101610739565b9060009161092c8361072f565b6109358261072f565b0361097d575061097361095e6109789361094f848a6106de565b5101516001600160a01b031690565b604061096a848a6106de565b51015190610c3d565b6106af565b6108f7565b610987600161072f565b6109908261072f565b036109bf57506109736109aa6109789361094f848a6106de565b60406109b6848a6106de565b51015190610e40565b6109d26109cc600261072f565b9161072f565b03610a00576109736109eb6109789361094f848a6106de565b60406109f7848a6106de565b51015190610fa8565b60405162461bcd60e51b815260206004820152602e60248201527f43656761456e7472793a20496e636f72726563742050726f7879496d706c656d60448201526d32b73a30ba34b7b720b1ba34b7b760911b6064820152608490fd5b5090929161007a92817f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67391610a9d85610a9460405190565b938493846108b7565b0390a161183c565b15610aac57565b60405162461bcd60e51b815260206004820152603060248201527f43656761456e7472793a204e6f2073656c6563746f727320696e20696d706c6560448201526f1b595b9d185d1a5bdb881d1bc818dd5d60821b6064820152608490fd5b15610b1157565b60405162461bcd60e51b815260206004820152603160248201527f43656761456e7472793a2041646420696d706c656d656e746174696f6e2063616044820152706e2774206265206164647265737328302960781b6064820152608490fd5b6100a290610096906001600160a01b031682565b6100a290610b70565b6100a290610b84565b906104b090610b8d565b610bad6100a26100a29290565b6001600160601b031690565b15610bc057565b60405162461bcd60e51b815260206004820152603160248201527f43656761456e7472793a2043616e2774206164642066756e6374696f6e207468604482015270617420616c72656164792065786973747360781b6064820152608490fd5b6001906001600160601b03166001600160601b0381146106bf570190565b9190610c47815190565b610c63600091610c5d610c59846105a1565b9190565b11610aa5565b610c6b610627565b610c74826104cb565b610c926001600160a01b0382166001600160a01b0388161415610b0a565b610cb0610cab84610ca68960018701610b96565b015490565b610ba0565b9384610ccb610cbe86610ba0565b916001600160601b031690565b14610d5e575b6000945b610ce06100a2835190565b861015610d5457610d4881610d438a610d4e9489610d3d610d25826105548f610d1c8f91610d0e908f6106de565b516001600160e01b03191690565b958691016104a4565b610d376001600160a01b038c1661069c565b14610bb9565b896112a9565b610c1f565b956106af565b94610cd5565b5050505050509050565b610d68878461115e565b610cd1565b15610d7457565b60405162461bcd60e51b815260206004820152603560248201527f43656761456e7472793a205265706c61636520696d706c656d656e746174696f6044820152746e2063616e2774206265206164647265737328302960581b6064820152608490fd5b15610dde57565b60405162461bcd60e51b815260206004820152603460248201527f43656761456e7472793a2043616e2774207265706c6163652066756e6374696f60448201527337103bb4ba341039b0b6b290333ab731ba34b7b760611b6064820152608490fd5b8151919291610e57600091610c5d610c59846105a1565b610e5f610627565b90610e80610e6f610096836104cb565b6001600160a01b0385161415610d6d565b610e94610cab82610ca68660018701610b96565b9485610ea2610cbe84610ba0565b14610f27575b6000955b610eb76100a2835190565b871015610f1e57610f1281610d4387610f189487610d3d8a610eee8f610554610ee4610d0e87938f6106de565b80968195016104a4565b610f0c6001600160a01b0387166001600160a01b0383161415610dd7565b8c61152a565b966106af565b95610eac565b50505050509050565b610f31848461115e565b610ea8565b15610f3d57565b60405162461bcd60e51b815260206004820152603b60248201527f43656761456e7472793a2052656d6f766520696d706c656d656e746174696f6e60448201527f2061646472657373206d757374206265206164647265737328302900000000006064820152608490fd5b81516000939290610fbf90610c5d610c59876105a1565b610fe0610fca610627565b92610fda61069c610096886104cb565b14610f36565b60005b610fee6100a2835190565b8110156110245780610973611009610d0e61101f94866106de565b6110198861055483828a016104a4565b8661152a565b610fe3565b5050509050565b9061103861028f8361040b565b918252565b611047602961102b565b7f43656761456e7472793a204e657720696d706c656d656e746174696f6e20686160208201526873206e6f20636f646560b81b604082015290565b6100a261103d565b90600019905b9181191691161790565b906110aa6100a26110b1926105a1565b825461108a565b9055565b6110d56001916110c3815490565b8410156110de57600052602060002090565b91020190600090565b6110e66106c7565b600052602060002090565b916001600160a01b0360089290920291821b911b611090565b921b90565b91906111206100a26110b193610b8d565b9083546110f1565b9061114b61007a92805490600160401b821015611151575b6001820181556110b5565b9061110f565b6111596101cc565b611140565b9061119b61007a92611177611171611082565b84611995565b6100a260028201916001611195868261118e875490565b9401610b96565b0161109a565b611128565b906001600160a01b03199060a01b611090565b610bad6100a26100a2926001600160601b031690565b906111d96100a26110b1926111b3565b82546111a0565b60086112056004929493946111f3815490565b8610156110de57600052602060002090565b8185040193060290565b9190600861109091029161110a63ffffffff841b90565b919061124561123f6110b1936001600160e01b03191690565b60e01c90565b90835461120f565b9061127061007a92805490600160401b821015611276575b6001820181556111e0565b90611226565b61127e6101cc565b611265565b906001600160a01b0390611090565b906112a26100a26110b192610b8d565b8254611283565b8184936112e66000946112e18661042a61007a9a60016112eb996112db85820199866112d58a8d6104a4565b016111c9565b01610b96565b61124d565b6104a4565b01611292565b156112f857565b60405162461bcd60e51b815260206004820152603360248201527f43656761456e7472793a2043616e27742072656d6f76652066756e6374696f6e604482015272081d1a185d08191bd95cdb89dd08195e1a5cdd606a1b6064820152608490fd5b1561136057565b60405162461bcd60e51b815260206004820152602a60248201527f43656761456e7472793a2043616e27742072656d6f766520696d6d757461626c6044820152693290333ab731ba34b7b760b11b6064820152608490fd5b6100a29060a01c610bad565b6100a290546113b8565b6100a26100a26100a2926001600160601b031690565b6100a2916008021c60e01b90565b906100a291546113e4565b50634e487b7160e01b600052603160045260246000fd5b61007a91600091611226565b600161142a825490565b8015611449575b039061144661144083836111e0565b90611414565b55565b6114516113fd565b611431565b50634e487b7160e01b600052600060045260246000fd5b61007a9161147b5760009055565b611483611456565b60009055565b6100a29081565b6100a29054611489565b6100a2916008021c610096565b906100a2915461149a565b61007a9160009161110f565b60016114c8825490565b80156114e4575b03906114466114de83836110b5565b906114b2565b6114ec6113fd565b6114cf565b9160001960089290920291821b911b611090565b91906115166100a26110b1936105a1565b9083546114f1565b61007a91600091611505565b6115bf9092919283600093611555611544610096876104cb565b6001600160a01b03841614156112f1565b61157561156461009630610b8d565b6001600160a01b0384161415611359565b6115f0856115eb8186019361159c6115978461159184896104a4565b016113c4565b6113ce565b946115ae84610ca68960018c01610b96565b87858a60019c8d9461061c866105a1565b809a6115c88290565b81036116a0575b50506115e692506112e69361042a91019e8f610b96565b611420565b61146d565b6115fc610c59866105a1565b14611609575b5050505050565b61166194611656611651600261165b950161162e611625825490565b61061c896105a1565b6116428861163c8888610b96565b01611490565b8882820361166b575b50505090565b6114be565b610b96565b0161151e565b3880808080611602565b61119561168461167e61169895876110b5565b906114a7565b6116928161114b86896110b5565b88610b96565b38808861164b565b610cab8561127083876116cb6116d76116d16116df99846116e69f6116cb906112d59e01998a610b96565b016111e0565b906113f2565b9a8b95610b96565b92856104a4565b8887858a89386115cf565b156116f857565b60405162461bcd60e51b815260206004820152603960248201527f43656761456e7472793a205f63616c6c6461746120697320656d70747920627560448201527f74205f696e6974206973206e6f742061646472657373283029000000000000006064820152608490fd5b61176d602461102b565b7f43656761456e7472793a205f696e6974206164647265737320686173206e6f20602082015263636f646560e01b604082015290565b6100a2611763565b3d156117c5576117ba3d61102b565b903d6000602084013e565b606090565b156117d157565b60405162461bcd60e51b815260206004820152603960248201527f43656761456e7472793a205f696e69742069732061646472657373283029206260448201527f7574205f63616c6c64617461206973206e6f7420656d707479000000000000006064820152608490fd5b60009061184b610096836104cb565b6001600160a01b038216036118785750611872610c5961186c61007a945190565b926105a1565b146117ca565b8192908161189a61188885945190565b611894610c59866105a1565b116116f1565b6118a661009630610b8d565b6001600160a01b03831603611944575b602081019051915af4906118d06118cb6117ab565b921590565b6118d8575050565b6118e6610c5961186c845190565b11156118f457602081519101fd5b60405162461bcd60e51b815260206004820152602260248201527f43656761456e7472793a205f696e69742066756e6374696f6e20726576657274604482015261195960f21b6064820152608490fd5b61195561194f6117a3565b83611995565b6118b6565b60208082526100a29291019061088d565b156119735750565b61052b9061198060405190565b62461bcd60e51b81529182916004830161195a565b9061007a913b6119a8610c5960006105a1565b1161196b56fea26469706673582212209c1a9b1685b56b025e5104d8b9c5dbd19c5c509a394422d7c0759c90d204b35d64736f6c634300081100330000000000000000000000001ddf7c4c98a78b492bb4a2881358f183d94c9806
Deployed Bytecode
0x6080604052600436101561001e575b361561001c5761001c61052f565b005b60003560e01c631f931c1c0361000e57610036610192565b61000e565b600080fd5b909182601f83011215610089575b602082359267ffffffffffffffff841161007c575b01926020830284011161007257565b61007a600080fd5b565b610084600080fd5b610063565b610091600080fd5b61004e565b6001600160a01b031690565b90565b6001600160a01b0381165b0361003b57565b9050359061007a826100a5565b909182601f83011215610100575b602082359267ffffffffffffffff84116100f3575b01928284011161007257565b6100fb600080fd5b6100e7565b610108600080fd5b6100d2565b6101679192606082850312610185575b61013a84833567ffffffffffffffff8111610178575b8401610040565b93909461014a81602086016100b7565b9360408101359067ffffffffffffffff821161016b575b016100c4565b9091565b610173600080fd5b610161565b610180600080fd5b610133565b61018d600080fd5b61011d565b50346101b5575b6101b06101a736600461010d565b9392909261047f565b604051005b6101bd600080fd5b610199565b601f01601f191690565b50634e487b7160e01b600052604160045260246000fd5b90601f01601f1916810190811067ffffffffffffffff82111761020557604052565b61020d6101cc565b604052565b9061007a61021f60405190565b92836101e3565b6020809167ffffffffffffffff811161023e57020190565b6102466101cc565b020190565b6003111561003b57565b9050359061007a8261024b565b6001600160e01b031981166100b0565b9050359061007a82610262565b9092919261029461028f82610226565b610212565b93818552602080860192028301928184116102d2575b915b8383106102b95750505050565b602080916102c78486610272565b8152019201916102ac565b6102da600080fd5b6102aa565b906100a29181601f820112156102fb575b60208135910161027f565b610303600080fd5b6102f0565b919061036290606084820312610376575b6103236060610212565b93600061033083836100b7565b90860152602061034283828401610255565b9086015260408101359067ffffffffffffffff8211610369575b016102df565b6040830152565b610371600080fd5b61035c565b61037e600080fd5b610319565b9092919261039361028f82610226565b93818552602080860192028301928184116103f3575b80925b8484106103ba575050505050565b602080916103db85873567ffffffffffffffff81116103e6575b8601610308565b8152019301926103ac565b6103ee600080fd5b6103d4565b6103fb600080fd5b6103a9565b6100a2913691610383565b61042a60209167ffffffffffffffff811161042e57601f01601f191690565b0190565b6101c26101cc565b90826000939282370152565b92919061007a9161045561028f8361040b565b94828652602086019183820111156104365761046f600080fd5b610436565b6100a2913691610442565b9361049861049e9261007a96610493610685565b610400565b93610474565b916108f1565b906001600160e01b0319165b600052602052604060002090565b6100966100a26100a29290565b6100a2906104be565b156104db57565b60405162461bcd60e51b815260206004820152602260248201527f43656761456e7472793a2046756e6374696f6e20646f6573206e6f74206578696044820152611cdd60f21b6064820152608490fd5b0390fd5b50610562600061055481610541610627565b83356001600160e01b03191691016104a4565b01546001600160a01b031690565b6000808092610587610576610096846104cb565b6001600160a01b03831614156104d4565b368280378136915af43d82803e1561059d573d90f35b3d90fd5b6100a26100a26100a29290565b6100a2906105a1565b50634e487b7160e01b600052601160045260246000fd5b919082039182116105db57565b61007a6105b7565b6100a26106226106127f11cac52ac9aac3f05b98c564845f9cbef3a9feb42b2c77780d0605eb87044b246105ae565b61061c60016105a1565b906105ce565b6105a1565b6100a26105e3565b1561063657565b60405162461bcd60e51b815260206004820152602160248201527f43656761456e7472793a204d75737420626520636f6e7472616374206f776e656044820152603960f91b6064820152608490fd5b61007a336106a961069c6100966004610554610627565b916001600160a01b031690565b1461062f565b60019060001981146106bf570190565b61042a6105b7565b50634e487b7160e01b600052603260045260246000fd5b90602080916106eb845190565b8110156106f9575b02010190565b6107016106c7565b6106f3565b50634e487b7160e01b600052602160045260246000fd5b6003111561072757565b61007a610706565b9061007a8261071d565b6100a2905161072f565b9052565b6100a29061072f565b61074390610747565b90610779610772610768845190565b8084529260200190565b9260200190565b9060005b81811061078a5750505090565b9091926107b16107aa60019286516001600160e01b031916815260200190565b9460200190565b92910161077d565b80516001600160a01b031682526100a29160608101916040906107e460208201516020850190610750565b0151906040818403910152610759565b906100a2916107b9565b9061081461080a835190565b8083529160200190565b90816108266020830284019460200190565b926000915b83831061083a57505050505090565b9091929394602061085d610856838560019503875289516107f4565b9760200190565b930193019193929061082b565b60005b83811061087d5750506000910152565b818101518382015260200161086d565b6108ae6101c260209361042a936108a2815190565b80835293849260200190565b9586910161086a565b60608082526100a294926108e4916108d291908401906107fe565b6001600160a01b039094166020830152565b604081840391015261088d565b92909160005b6109026100a2865190565b811015610a5c5761091f602061091883886106de565b5101610739565b9060009161092c8361072f565b6109358261072f565b0361097d575061097361095e6109789361094f848a6106de565b5101516001600160a01b031690565b604061096a848a6106de565b51015190610c3d565b6106af565b6108f7565b610987600161072f565b6109908261072f565b036109bf57506109736109aa6109789361094f848a6106de565b60406109b6848a6106de565b51015190610e40565b6109d26109cc600261072f565b9161072f565b03610a00576109736109eb6109789361094f848a6106de565b60406109f7848a6106de565b51015190610fa8565b60405162461bcd60e51b815260206004820152602e60248201527f43656761456e7472793a20496e636f72726563742050726f7879496d706c656d60448201526d32b73a30ba34b7b720b1ba34b7b760911b6064820152608490fd5b5090929161007a92817f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67391610a9d85610a9460405190565b938493846108b7565b0390a161183c565b15610aac57565b60405162461bcd60e51b815260206004820152603060248201527f43656761456e7472793a204e6f2073656c6563746f727320696e20696d706c6560448201526f1b595b9d185d1a5bdb881d1bc818dd5d60821b6064820152608490fd5b15610b1157565b60405162461bcd60e51b815260206004820152603160248201527f43656761456e7472793a2041646420696d706c656d656e746174696f6e2063616044820152706e2774206265206164647265737328302960781b6064820152608490fd5b6100a290610096906001600160a01b031682565b6100a290610b70565b6100a290610b84565b906104b090610b8d565b610bad6100a26100a29290565b6001600160601b031690565b15610bc057565b60405162461bcd60e51b815260206004820152603160248201527f43656761456e7472793a2043616e2774206164642066756e6374696f6e207468604482015270617420616c72656164792065786973747360781b6064820152608490fd5b6001906001600160601b03166001600160601b0381146106bf570190565b9190610c47815190565b610c63600091610c5d610c59846105a1565b9190565b11610aa5565b610c6b610627565b610c74826104cb565b610c926001600160a01b0382166001600160a01b0388161415610b0a565b610cb0610cab84610ca68960018701610b96565b015490565b610ba0565b9384610ccb610cbe86610ba0565b916001600160601b031690565b14610d5e575b6000945b610ce06100a2835190565b861015610d5457610d4881610d438a610d4e9489610d3d610d25826105548f610d1c8f91610d0e908f6106de565b516001600160e01b03191690565b958691016104a4565b610d376001600160a01b038c1661069c565b14610bb9565b896112a9565b610c1f565b956106af565b94610cd5565b5050505050509050565b610d68878461115e565b610cd1565b15610d7457565b60405162461bcd60e51b815260206004820152603560248201527f43656761456e7472793a205265706c61636520696d706c656d656e746174696f6044820152746e2063616e2774206265206164647265737328302960581b6064820152608490fd5b15610dde57565b60405162461bcd60e51b815260206004820152603460248201527f43656761456e7472793a2043616e2774207265706c6163652066756e6374696f60448201527337103bb4ba341039b0b6b290333ab731ba34b7b760611b6064820152608490fd5b8151919291610e57600091610c5d610c59846105a1565b610e5f610627565b90610e80610e6f610096836104cb565b6001600160a01b0385161415610d6d565b610e94610cab82610ca68660018701610b96565b9485610ea2610cbe84610ba0565b14610f27575b6000955b610eb76100a2835190565b871015610f1e57610f1281610d4387610f189487610d3d8a610eee8f610554610ee4610d0e87938f6106de565b80968195016104a4565b610f0c6001600160a01b0387166001600160a01b0383161415610dd7565b8c61152a565b966106af565b95610eac565b50505050509050565b610f31848461115e565b610ea8565b15610f3d57565b60405162461bcd60e51b815260206004820152603b60248201527f43656761456e7472793a2052656d6f766520696d706c656d656e746174696f6e60448201527f2061646472657373206d757374206265206164647265737328302900000000006064820152608490fd5b81516000939290610fbf90610c5d610c59876105a1565b610fe0610fca610627565b92610fda61069c610096886104cb565b14610f36565b60005b610fee6100a2835190565b8110156110245780610973611009610d0e61101f94866106de565b6110198861055483828a016104a4565b8661152a565b610fe3565b5050509050565b9061103861028f8361040b565b918252565b611047602961102b565b7f43656761456e7472793a204e657720696d706c656d656e746174696f6e20686160208201526873206e6f20636f646560b81b604082015290565b6100a261103d565b90600019905b9181191691161790565b906110aa6100a26110b1926105a1565b825461108a565b9055565b6110d56001916110c3815490565b8410156110de57600052602060002090565b91020190600090565b6110e66106c7565b600052602060002090565b916001600160a01b0360089290920291821b911b611090565b921b90565b91906111206100a26110b193610b8d565b9083546110f1565b9061114b61007a92805490600160401b821015611151575b6001820181556110b5565b9061110f565b6111596101cc565b611140565b9061119b61007a92611177611171611082565b84611995565b6100a260028201916001611195868261118e875490565b9401610b96565b0161109a565b611128565b906001600160a01b03199060a01b611090565b610bad6100a26100a2926001600160601b031690565b906111d96100a26110b1926111b3565b82546111a0565b60086112056004929493946111f3815490565b8610156110de57600052602060002090565b8185040193060290565b9190600861109091029161110a63ffffffff841b90565b919061124561123f6110b1936001600160e01b03191690565b60e01c90565b90835461120f565b9061127061007a92805490600160401b821015611276575b6001820181556111e0565b90611226565b61127e6101cc565b611265565b906001600160a01b0390611090565b906112a26100a26110b192610b8d565b8254611283565b8184936112e66000946112e18661042a61007a9a60016112eb996112db85820199866112d58a8d6104a4565b016111c9565b01610b96565b61124d565b6104a4565b01611292565b156112f857565b60405162461bcd60e51b815260206004820152603360248201527f43656761456e7472793a2043616e27742072656d6f76652066756e6374696f6e604482015272081d1a185d08191bd95cdb89dd08195e1a5cdd606a1b6064820152608490fd5b1561136057565b60405162461bcd60e51b815260206004820152602a60248201527f43656761456e7472793a2043616e27742072656d6f766520696d6d757461626c6044820152693290333ab731ba34b7b760b11b6064820152608490fd5b6100a29060a01c610bad565b6100a290546113b8565b6100a26100a26100a2926001600160601b031690565b6100a2916008021c60e01b90565b906100a291546113e4565b50634e487b7160e01b600052603160045260246000fd5b61007a91600091611226565b600161142a825490565b8015611449575b039061144661144083836111e0565b90611414565b55565b6114516113fd565b611431565b50634e487b7160e01b600052600060045260246000fd5b61007a9161147b5760009055565b611483611456565b60009055565b6100a29081565b6100a29054611489565b6100a2916008021c610096565b906100a2915461149a565b61007a9160009161110f565b60016114c8825490565b80156114e4575b03906114466114de83836110b5565b906114b2565b6114ec6113fd565b6114cf565b9160001960089290920291821b911b611090565b91906115166100a26110b1936105a1565b9083546114f1565b61007a91600091611505565b6115bf9092919283600093611555611544610096876104cb565b6001600160a01b03841614156112f1565b61157561156461009630610b8d565b6001600160a01b0384161415611359565b6115f0856115eb8186019361159c6115978461159184896104a4565b016113c4565b6113ce565b946115ae84610ca68960018c01610b96565b87858a60019c8d9461061c866105a1565b809a6115c88290565b81036116a0575b50506115e692506112e69361042a91019e8f610b96565b611420565b61146d565b6115fc610c59866105a1565b14611609575b5050505050565b61166194611656611651600261165b950161162e611625825490565b61061c896105a1565b6116428861163c8888610b96565b01611490565b8882820361166b575b50505090565b6114be565b610b96565b0161151e565b3880808080611602565b61119561168461167e61169895876110b5565b906114a7565b6116928161114b86896110b5565b88610b96565b38808861164b565b610cab8561127083876116cb6116d76116d16116df99846116e69f6116cb906112d59e01998a610b96565b016111e0565b906113f2565b9a8b95610b96565b92856104a4565b8887858a89386115cf565b156116f857565b60405162461bcd60e51b815260206004820152603960248201527f43656761456e7472793a205f63616c6c6461746120697320656d70747920627560448201527f74205f696e6974206973206e6f742061646472657373283029000000000000006064820152608490fd5b61176d602461102b565b7f43656761456e7472793a205f696e6974206164647265737320686173206e6f20602082015263636f646560e01b604082015290565b6100a2611763565b3d156117c5576117ba3d61102b565b903d6000602084013e565b606090565b156117d157565b60405162461bcd60e51b815260206004820152603960248201527f43656761456e7472793a205f696e69742069732061646472657373283029206260448201527f7574205f63616c6c64617461206973206e6f7420656d707479000000000000006064820152608490fd5b60009061184b610096836104cb565b6001600160a01b038216036118785750611872610c5961186c61007a945190565b926105a1565b146117ca565b8192908161189a61188885945190565b611894610c59866105a1565b116116f1565b6118a661009630610b8d565b6001600160a01b03831603611944575b602081019051915af4906118d06118cb6117ab565b921590565b6118d8575050565b6118e6610c5961186c845190565b11156118f457602081519101fd5b60405162461bcd60e51b815260206004820152602260248201527f43656761456e7472793a205f696e69742066756e6374696f6e20726576657274604482015261195960f21b6064820152608490fd5b61195561194f6117a3565b83611995565b6118b6565b60208082526100a29291019061088d565b156119735750565b61052b9061198060405190565b62461bcd60e51b81529182916004830161195a565b9061007a913b6119a8610c5960006105a1565b1161196b56fea26469706673582212209c1a9b1685b56b025e5104d8b9c5dbd19c5c509a394422d7c0759c90d204b35d64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001ddf7c4c98a78b492bb4a2881358f183d94c9806
-----Decoded View---------------
Arg [0] : _contractOwner (address): 0x1DdF7C4C98a78b492bb4a2881358f183d94c9806
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001ddf7c4c98a78b492bb4a2881358f183d94c9806
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $4,014.1 | 0.00000942 | $0.037813 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
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.