ERC-20
Overview
Max Total Supply
100 TPIE++
Holders
1
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Diamond
Compiler Version
v0.7.1+commit.f4a555be
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-14 */ // SPDX-License-Identifier: MIT pragma solidity ^0.7.1; pragma experimental ABIEncoderV2; /******************************************************************************\ * Author: Nick Mudge * * Implementation of an example of a diamond. /******************************************************************************/ interface IDiamondCut { enum FacetCutAction {Add, Replace, Remove} struct FacetCut { address facetAddress; FacetCutAction action; bytes4[] functionSelectors; } /// @notice Add/replace/remove any number of functions and optionally execute /// a function with delegatecall /// @param _diamondCut Contains the facet addresses and function selectors /// @param _init The address of the contract or facet to execute _calldata /// @param _calldata A function call, including function selector and arguments /// _calldata is executed with delegatecall on _init function diamondCut( FacetCut[] calldata _diamondCut, address _init, bytes calldata _calldata ) external; event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata); } library LibDiamond { bytes32 constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage"); struct FacetAddressAndPosition { address facetAddress; uint16 functionSelectorPosition; // position in facetFunctionSelectors.functionSelectors array } struct FacetFunctionSelectors { bytes4[] functionSelectors; uint16 facetAddressPosition; // position of facetAddress in facetAddresses array } struct DiamondStorage { // maps function selector to the facet address and // the position of the selector in the facetFunctionSelectors.selectors array mapping(bytes4 => FacetAddressAndPosition) selectorToFacetAndPosition; // maps facet addresses to function selectors mapping(address => FacetFunctionSelectors) facetFunctionSelectors; // facet addresses address[] facetAddresses; // 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 diamondStorage() internal pure returns (DiamondStorage storage ds) { bytes32 position = DIAMOND_STORAGE_POSITION; assembly { ds.slot := position } } event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function setContractOwner(address _newOwner) internal { DiamondStorage storage ds = diamondStorage(); address previousOwner = ds.contractOwner; ds.contractOwner = _newOwner; emit OwnershipTransferred(previousOwner, _newOwner); } function contractOwner() internal view returns (address contractOwner_) { contractOwner_ = diamondStorage().contractOwner; } function enforceIsContractOwner() internal view { require(msg.sender == diamondStorage().contractOwner, "LibDiamond: Must be contract owner"); } modifier onlyOwner { require(msg.sender == diamondStorage().contractOwner, "LibDiamond: Must be contract owner"); _; } event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata); // Internal function version of diamondCut // This code is almost the same as the external diamondCut, // except it is using 'FacetCut[] memory _diamondCut' instead of // 'FacetCut[] calldata _diamondCut'. // The code is duplicated to prevent copying calldata to memory which // causes an error for a two dimensional array. function diamondCut( IDiamondCut.FacetCut[] memory _diamondCut, address _init, bytes memory _calldata ) internal { for (uint256 facetIndex; facetIndex < _diamondCut.length; facetIndex++) { addReplaceRemoveFacetSelectors( _diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].action, _diamondCut[facetIndex].functionSelectors ); } emit DiamondCut(_diamondCut, _init, _calldata); initializeDiamondCut(_init, _calldata); } function addReplaceRemoveFacetSelectors( address _newFacetAddress, IDiamondCut.FacetCutAction _action, bytes4[] memory _selectors ) internal { DiamondStorage storage ds = diamondStorage(); require(_selectors.length > 0, "LibDiamondCut: No selectors in facet to cut"); // add or replace functions if (_newFacetAddress != address(0)) { uint256 facetAddressPosition = ds.facetFunctionSelectors[_newFacetAddress].facetAddressPosition; // add new facet address if it does not exist if (facetAddressPosition == 0 && ds.facetFunctionSelectors[_newFacetAddress].functionSelectors.length == 0) { enforceHasContractCode(_newFacetAddress, "LibDiamondCut: New facet has no code"); facetAddressPosition = ds.facetAddresses.length; ds.facetAddresses.push(_newFacetAddress); ds.facetFunctionSelectors[_newFacetAddress].facetAddressPosition = uint16(facetAddressPosition); } // add or replace selectors for (uint256 selectorIndex; selectorIndex < _selectors.length; selectorIndex++) { bytes4 selector = _selectors[selectorIndex]; address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress; // add if (_action == IDiamondCut.FacetCutAction.Add) { require(oldFacetAddress == address(0), "LibDiamondCut: Can't add function that already exists"); addSelector(_newFacetAddress, selector); } else if (_action == IDiamondCut.FacetCutAction.Replace) { // replace require(oldFacetAddress != _newFacetAddress, "LibDiamondCut: Can't replace function with same function"); removeSelector(oldFacetAddress, selector); addSelector(_newFacetAddress, selector); } else { revert("LibDiamondCut: Incorrect FacetCutAction"); } } } else { require(_action == IDiamondCut.FacetCutAction.Remove, "LibDiamondCut: action not set to FacetCutAction.Remove"); // remove selectors for (uint256 selectorIndex; selectorIndex < _selectors.length; selectorIndex++) { bytes4 selector = _selectors[selectorIndex]; removeSelector(ds.selectorToFacetAndPosition[selector].facetAddress, selector); } } } function addSelector(address _newFacet, bytes4 _selector) internal { DiamondStorage storage ds = diamondStorage(); uint256 selectorPosition = ds.facetFunctionSelectors[_newFacet].functionSelectors.length; ds.facetFunctionSelectors[_newFacet].functionSelectors.push(_selector); ds.selectorToFacetAndPosition[_selector].facetAddress = _newFacet; ds.selectorToFacetAndPosition[_selector].functionSelectorPosition = uint16(selectorPosition); } function removeSelector(address _oldFacetAddress, bytes4 _selector) internal { DiamondStorage storage ds = diamondStorage(); // if function does not exist then do nothing and return require(_oldFacetAddress != address(0), "LibDiamondCut: Can't remove or replace function that doesn't exist"); require(_oldFacetAddress != address(this), "LibDiamondCut: Can't remove or replace immutable function"); // replace selector with last selector, then delete last selector uint256 selectorPosition = ds.selectorToFacetAndPosition[_selector].functionSelectorPosition; uint256 lastSelectorPosition = ds.facetFunctionSelectors[_oldFacetAddress].functionSelectors.length - 1; // if not the same then replace _selector with lastSelector if (selectorPosition != lastSelectorPosition) { bytes4 lastSelector = ds.facetFunctionSelectors[_oldFacetAddress].functionSelectors[lastSelectorPosition]; ds.facetFunctionSelectors[_oldFacetAddress].functionSelectors[selectorPosition] = lastSelector; ds.selectorToFacetAndPosition[lastSelector].functionSelectorPosition = uint16(selectorPosition); } // delete the last selector ds.facetFunctionSelectors[_oldFacetAddress].functionSelectors.pop(); delete ds.selectorToFacetAndPosition[_selector]; // if no more selectors for facet address then delete the facet address if (lastSelectorPosition == 0) { // replace facet address with last facet address and delete last facet address uint256 lastFacetAddressPosition = ds.facetAddresses.length - 1; uint256 facetAddressPosition = ds.facetFunctionSelectors[_oldFacetAddress].facetAddressPosition; if (facetAddressPosition != lastFacetAddressPosition) { address lastFacetAddress = ds.facetAddresses[lastFacetAddressPosition]; ds.facetAddresses[facetAddressPosition] = lastFacetAddress; ds.facetFunctionSelectors[lastFacetAddress].facetAddressPosition = uint16(facetAddressPosition); } ds.facetAddresses.pop(); delete ds.facetFunctionSelectors[_oldFacetAddress]; } } function initializeDiamondCut(address _init, bytes memory _calldata) internal { if (_init == address(0)) { require(_calldata.length == 0, "LibDiamondCut: _init is address(0) but_calldata is not empty"); } else { require(_calldata.length > 0, "LibDiamondCut: _calldata is empty but _init is not address(0)"); if (_init != address(this)) { enforceHasContractCode(_init, "LibDiamondCut: _init address has no code"); } (bool success, bytes memory error) = _init.delegatecall(_calldata); if (!success) { if (error.length > 0) { // bubble up the error revert(string(error)); } else { revert("LibDiamondCut: _init function reverted"); } } } } function enforceHasContractCode(address _contract, string memory _errorMessage) internal view { uint256 contractSize; assembly { contractSize := extcodesize(_contract) } require(contractSize > 0, _errorMessage); } } interface IDiamondLoupe { /// These functions are expected to be called frequently /// by tools. struct Facet { address facetAddress; bytes4[] functionSelectors; } /// @notice Gets all facet addresses and their four byte function selectors. /// @return facets_ Facet function facets() external view returns (Facet[] memory facets_); /// @notice Gets all the function selectors supported by a specific facet. /// @param _facet The facet address. /// @return facetFunctionSelectors_ function facetFunctionSelectors(address _facet) external view returns (bytes4[] memory facetFunctionSelectors_); /// @notice Get all the facet addresses used by a diamond. /// @return facetAddresses_ function facetAddresses() external view returns (address[] memory facetAddresses_); /// @notice Gets the facet that supports the given selector. /// @dev If facet is not found return address(0). /// @param _functionSelector The function selector. /// @return facetAddress_ The facet address. function facetAddress(bytes4 _functionSelector) external view returns (address facetAddress_); } interface IERC173 { /// @dev This emits when ownership of a contract changes. event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /// @notice Get the address of the owner /// @return owner_ The address of the owner. function owner() external view returns (address owner_); /// @notice Set the address of the new owner of the contract /// @dev Set _newOwner to address(0) to renounce any ownership. /// @param _newOwner The address of the new owner of the contract function transferOwnership(address _newOwner) external; } interface IERC165 { /// @notice Query if a contract implements an interface /// @param interfaceId The interface identifier, as specified in ERC-165 /// @dev Interface identification is specified in ERC-165. This function /// uses less than 30,000 gas. /// @return `true` if the contract implements `interfaceID` and /// `interfaceID` is not 0xffffffff, `false` otherwise function supportsInterface(bytes4 interfaceId) external view returns (bool); } contract Diamond { constructor(IDiamondCut.FacetCut[] memory _diamondCut, address _owner) payable { LibDiamond.diamondCut(_diamondCut, address(0), new bytes(0)); LibDiamond.setContractOwner(_owner); LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); // adding ERC165 data ds.supportedInterfaces[type(IERC165).interfaceId] = true; ds.supportedInterfaces[type(IDiamondCut).interfaceId] = true; ds.supportedInterfaces[type(IDiamondLoupe).interfaceId] = true; ds.supportedInterfaces[type(IERC173).interfaceId] = true; } // Find facet for function that is called and execute the // function if a facet is found and return any value. fallback() external payable { LibDiamond.DiamondStorage storage ds; bytes32 position = LibDiamond.DIAMOND_STORAGE_POSITION; assembly { ds.slot := position } address facet = ds.selectorToFacetAndPosition[msg.sig].facetAddress; require(facet != address(0), "Diamond: Function does not exist"); assembly { calldatacopy(0, 0, calldatasize()) let result := delegatecall(gas(), facet, 0, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) switch result case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } receive() external payable {} } contract DiamondFactory { event DiamondCreated(address tokenAddress); function deployNewDiamond( address _owner, IDiamondCut.FacetCut[] memory diamondCut ) public returns (address) { Diamond d = new Diamond(diamondCut, _owner); emit DiamondCreated(address(d)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum IDiamondCut.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"internalType":"struct IDiamondCut.FacetCut[]","name":"_diamondCut","type":"tuple[]"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052604051620022e2380380620022e2833981016040819052620000269162000b42565b604080516000808252602082019092526200004e918491620000f160201b6200009c1760201c565b6200006481620001b160201b6200014b1760201c565b60006200007b6200021360201b620001b81760201c565b6301ffc9a760e01b600090815260039091016020526040808220805460ff1990811660019081179092556307e4c70760e21b845282842080548216831790556348e2b09360e01b845282842080548216831790556307f5828d60e41b845291909220805490911690911790555062001195915050565b60005b83518110156200016257620001598482815181106200010f57fe5b6020026020010151600001518583815181106200012857fe5b6020026020010151602001518684815181106200014157fe5b6020026020010151604001516200023760201b60201c565b600101620000f4565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051620001989392919062000cfc565b60405180910390a1620001ac828262000508565b505050565b6000620001bd62000213565b6004810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90565b60006200024362000213565b90506000825111620002725760405162461bcd60e51b8152600401620002699062000e76565b60405180910390fd5b6001600160a01b038416156200046d576001600160a01b038416600090815260018083016020526040909120015461ffff1680158015620002cb57506001600160a01b0385166000908152600183016020526040902054155b156200034b57620002f685604051806060016040528060248152602001620022be6024913962000646565b506002810180546001808201835560009283526020808420830180546001600160a01b0319166001600160a01b038a16908117909155845281850190526040909220909101805461ffff191661ffff83161790555b60005b8351811015620004655760008482815181106200036757fe5b6020908102919091018101516001600160e01b0319811660009081529186905260408220549092506001600160a01b031690876002811115620003a657fe5b1415620003e9576001600160a01b03811615620003d75760405162461bcd60e51b815260040162000269906200100e565b620003e388836200066a565b6200045a565b6001876002811115620003f857fe5b14156200044057876001600160a01b0316816001600160a01b03161415620004345760405162461bcd60e51b81526004016200026990620010c2565b620003d7818362000711565b60405162461bcd60e51b8152600401620002699062000f6a565b50506001016200034e565b505062000502565b60028360028111156200047c57fe5b146200049c5760405162461bcd60e51b8152600401620002699062000ec1565b60005b825181101562000500576000838281518110620004b857fe5b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150620004f6906001600160a01b03168262000711565b506001016200049f565b505b50505050565b6001600160a01b0382166200053f57805115620005395760405162461bcd60e51b8152600401620002699062000dd3565b62000642565b6000815111620005635760405162461bcd60e51b8152600401620002699062000fb1565b6001600160a01b038216301462000599576200059982604051806060016040528060288152602001620022966028913962000646565b60006060836001600160a01b031683604051620005b7919062000cde565b600060405180830381855af49150503d8060008114620005f4576040519150601f19603f3d011682016040523d82523d6000602084013e620005f9565b606091505b509150915081620005025780511562000628578060405162461bcd60e51b815260040162000269919062000db7565b60405162461bcd60e51b8152600401620002699062000e30565b5050565b813b8181620005025760405162461bcd60e51b815260040162000269919062000db7565b60006200067662000213565b6001600160a01b039390931660008181526001808601602090815260408084208054938401815584528184206008840401805463ffffffff600786166004026101000a9081021990911660e08a901c919091021790556001600160e01b03199096168352959095529290922080546001600160a01b03191690921761ffff60a01b1916600160a01b61ffff9094169390930292909217905550565b60006200071d62000213565b90506001600160a01b038316620007485760405162461bcd60e51b815260040162000269906200106b565b6001600160a01b038316301415620007745760405162461bcd60e51b8152600401620002699062000f1e565b6001600160e01b03198216600090815260208281526040808320546001600160a01b03871684526001850190925290912054600160a01b90910461ffff16906000190180821462000898576001600160a01b03851660009081526001840160205260408120805483908110620007e657fe5b600091825260208083206008830401546001600160a01b038a168452600188019091526040909220805460079092166004026101000a90920460e01b9250829190859081106200083257fe5b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b031992909216825284905260409020805461ffff60a01b1916600160a01b61ffff8516021790555b6001600160a01b03851660009081526001840160205260409020805480620008bc57fe5b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319861682528490526040902080546001600160b01b031916905580620005005760028301546001600160a01b03861660009081526001858101602052604090912001546000199091019061ffff16808214620009d45760008560020183815481106200095d57fe5b6000918252602090912001546002870180546001600160a01b0390921692508291849081106200098957fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018781019092526040902001805461ffff191661ffff83161790555b84600201805480620009e257fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0389168252600187019052604081209062000a2b828262000a41565b50600101805461ffff1916905550505050505050565b50805460008255600701600890049060005260206000209081019062000a68919062000a6b565b50565b5b8082111562000a82576000815560010162000a6c565b5090565b80516001600160a01b038116811462000a9e57600080fd5b92915050565b600082601f83011262000ab5578081fd5b815162000acc62000ac68262001146565b6200111f565b81815291506020808301908481018184028601820187101562000aee57600080fd5b6000805b8581101562000b265782516001600160e01b03198116811462000b13578283fd5b8552938301939183019160010162000af2565b50505050505092915050565b80516003811062000a9e57600080fd5b6000806040838503121562000b55578182fd5b82516001600160401b038082111562000b6c578384fd5b818501915085601f83011262000b80578384fd5b815162000b9162000ac68262001146565b81815260208082019190858101885b8581101562000c2c57815188016060818e03601f1901121562000bc1578a8bfd5b62000bcd60606200111f565b62000bdb8e86840162000a86565b815262000bec8e6040840162000b32565b8582015260608201518981111562000c02578c8dfd5b62000c128f878386010162000aa4565b604083015250865250938201939082019060010162000ba0565b505081975062000c3f8a828b0162000a86565b96505050505050509250929050565b6001600160a01b03169052565b6000815180845260208085019450808401835b8381101562000c965781516001600160e01b0319168752958201959082019060010162000c6e565b509495945050505050565b6000815180845262000cbb81602086016020860162001166565b601f01601f19169290920160200192915050565b6003811062000cda57fe5b9052565b6000825162000cf281846020870162001166565b9190910192915050565b60006060808301818452808751808352608086019150602092506080838202870101838a01865b8381101562000d8557607f19898403018552815162000d4484825162000c4e565b8681015162000d568886018262000ccf565b5060409081015190840188905262000d718489018262000c5b565b958701959350509085019060010162000d23565b505062000d958488018a62000c4e565b868103604088015262000da9818962000ca1565b9a9950505050505050505050565b60006020825262000dcc602083018462000ca1565b9392505050565b6020808252603c908201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860408201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000606082015260800190565b60208082526026908201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656040820152651d995c9d195960d21b606082015260800190565b6020808252602b908201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660408201526a1858d95d081d1bc818dd5d60aa1b606082015260800190565b60208082526036908201527f4c69624469616d6f6e644375743a20616374696f6e206e6f742073657420746f60408201527f204661636574437574416374696f6e2e52656d6f766500000000000000000000606082015260800190565b60208082526039908201526000805160206200227683398151915260408201527f65706c61636520696d6d757461626c652066756e6374696f6e00000000000000606082015260800190565b60208082526027908201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756040820152663a20b1ba34b7b760c91b606082015260800190565b6020808252603d908201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460408201527f7920627574205f696e6974206973206e6f742061646472657373283029000000606082015260800190565b60208082526035908201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60408201527f6e207468617420616c7265616479206578697374730000000000000000000000606082015260800190565b60208082526042908201526000805160206200227683398151915260408201527f65706c6163652066756e6374696f6e207468617420646f65736e2774206578696060820152611cdd60f21b608082015260a00190565b60208082526038908201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60408201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606082015260800190565b6040518181016001600160401b03811182821017156200113e57600080fd5b604052919050565b60006001600160401b038211156200115c578081fd5b5060209081020190565b60005b838110156200118357818101518382015260200162001169565b83811115620005025750506000910152565b6110d180620011a56000396000f3fe60806040523661000b57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b0316806100785760405162461bcd60e51b815260040161006f90610e54565b60405180910390fd5b3660008037600080366000845af43d6000803e808015610097573d6000f35b3d6000fd5b60005b8351811015610100576100f88482815181106100b757fe5b6020026020010151600001518583815181106100cf57fe5b6020026020010151602001518684815181106100e757fe5b6020026020010151604001516101dc565b60010161009f565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161013493929190610b3f565b60405180910390a16101468282610488565b505050565b60006101556101b8565b6004810180546001600160a01b0385811673ffffffffffffffffffffffffffffffffffffffff1983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90565b60006101e66101b8565b905060008251116102095760405162461bcd60e51b815260040161006f90610ce0565b6001600160a01b038416156103f6576001600160a01b038416600090815260018083016020526040909120015461ffff168015801561026057506001600160a01b0385166000908152600183016020526040902054155b156102e95761028785604051806060016040528060248152602001611078602491396105b0565b5060028101805460018082018355600092835260208084208301805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038a16908117909155845281850190526040909220909101805461ffff191661ffff83161790555b60005b83518110156103ef57600084828151811061030357fe5b6020908102919091018101516001600160e01b0319811660009081529186905260408220549092506001600160a01b03169087600281111561034157fe5b141561037d576001600160a01b0381161561036e5760405162461bcd60e51b815260040161006f90610ee6565b61037888836105d1565b6103e5565b600187600281111561038b57fe5b14156103cd57876001600160a01b0316816001600160a01b031614156103c35760405162461bcd60e51b815260040161006f90610fc6565b61036e81836106ae565b60405162461bcd60e51b815260040161006f90610df7565b50506001016102ec565b5050610482565b600283600281111561040457fe5b146104215760405162461bcd60e51b815260040161006f90610d3d565b60005b825181101561048057600083828151811061043b57fe5b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150610477906001600160a01b0316826106ae565b50600101610424565b505b50505050565b6001600160a01b0382166104ba578051156104b55760405162461bcd60e51b815260040161006f90610c26565b6105ac565b60008151116104db5760405162461bcd60e51b815260040161006f90610e89565b6001600160a01b038216301461050d5761050d82604051806060016040528060288152602001611050602891396105b0565b60006060836001600160a01b0316836040516105299190610b23565b600060405180830381855af49150503d8060008114610564576040519150601f19603f3d011682016040523d82523d6000602084013e610569565b606091505b50915091508161048257805115610594578060405162461bcd60e51b815260040161006f9190610c0c565b60405162461bcd60e51b815260040161006f90610c83565b5050565b813b81816104825760405162461bcd60e51b815260040161006f9190610c0c565b60006105db6101b8565b6001600160a01b039390931660008181526001808601602090815260408084208054938401815584528184206008840401805463ffffffff600786166004026101000a9081021990911660e08a901c919091021790556001600160e01b031990961683529590955292909220805473ffffffffffffffffffffffffffffffffffffffff19169092177fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff9094169390930292909217905550565b60006106b86101b8565b90506001600160a01b0383166106e05760405162461bcd60e51b815260040161006f90610f43565b6001600160a01b0383163014156107095760405162461bcd60e51b815260040161006f90610d9a565b6001600160e01b03198216600090815260208281526040808320546001600160a01b038716845260018501909252909120547401000000000000000000000000000000000000000090910461ffff169060001901808214610866576001600160a01b0385166000908152600184016020526040812080548390811061078a57fe5b600091825260208083206008830401546001600160a01b038a168452600188019091526040909220805460079092166004026101000a90920460e01b9250829190859081106107d557fe5b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528490526040902080547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8516021790555b6001600160a01b0385166000908152600184016020526040902080548061088957fe5b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319861682528490526040902080547fffffffffffffffffffff00000000000000000000000000000000000000000000169055806104805760028301546001600160a01b03861660009081526001858101602052604090912001546000199091019061ffff168082146109c257600085600201838154811061093f57fe5b6000918252602090912001546002870180546001600160a01b03909216925082918490811061096a57fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0394851617905592909116815260018781019092526040902001805461ffff191661ffff83161790555b846002018054806109cf57fe5b600082815260208082208301600019908101805473ffffffffffffffffffffffffffffffffffffffff191690559092019092556001600160a01b03891682526001870190526040812090610a238282610a39565b50600101805461ffff1916905550505050505050565b508054600082556007016008900490600052602060002090810190610a5e9190610a61565b50565b5b80821115610a765760008155600101610a62565b5090565b6001600160a01b03169052565b6000815180845260208085019450808401835b83811015610ac05781516001600160e01b03191687529582019590820190600101610a9a565b509495945050505050565b60008151808452610ae3816020860160208601611023565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60038110610b1f57fe5b9052565b60008251610b35818460208701611023565b9190910192915050565b60006060808301818452808751808352608086019150602092506080838202870101838a01865b83811015610bde577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808984030185528151610ba2848251610a7a565b86810151610bb288860182610b15565b50604090810151908401889052610bcb84890182610a87565b9587019593505090850190600101610b66565b5050610bec8488018a610a7a565b8681036040880152610bfe8189610acb565b9a9950505050505050505050565b600060208252610c1f6020830184610acb565b9392505050565b6020808252603c908201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860408201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000606082015260800190565b60208082526026908201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560408201527f7665727465640000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602b908201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660408201527f6163657420746f20637574000000000000000000000000000000000000000000606082015260800190565b60208082526036908201527f4c69624469616d6f6e644375743a20616374696f6e206e6f742073657420746f60408201527f204661636574437574416374696f6e2e52656d6f766500000000000000000000606082015260800190565b60208082526039908201527f4c69624469616d6f6e644375743a2043616e27742072656d6f7665206f72207260408201527f65706c61636520696d6d757461626c652066756e6374696f6e00000000000000606082015260800190565b60208082526027908201527f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560408201527f74416374696f6e00000000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374604082015260600190565b6020808252603d908201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460408201527f7920627574205f696e6974206973206e6f742061646472657373283029000000606082015260800190565b60208082526035908201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60408201527f6e207468617420616c7265616479206578697374730000000000000000000000606082015260800190565b60208082526042908201527f4c69624469616d6f6e644375743a2043616e27742072656d6f7665206f72207260408201527f65706c6163652066756e6374696f6e207468617420646f65736e27742065786960608201527f7374000000000000000000000000000000000000000000000000000000000000608082015260a00190565b60208082526038908201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60408201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606082015260800190565b60005b8381101561103e578181015183820152602001611026565b83811115610482575050600091015256fe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a26469706673582212204b92f54a2868f69a5d9929624c57077f9526790c0a7b7229356b0124a19eba8c64736f6c634300070100334c69624469616d6f6e644375743a2043616e27742072656d6f7665206f7220724c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f646500000000000000000000000000000000000000000000000000000000000000400000000000000000000000004cf5f3ecd6303f6a04480f75ac394d4bb3816f83000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000005a00000000000000000000000001f1c29a6691fbe1768b2b289655ec6ae9192a2510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c00000000000000000000000000000000000000000000000000000000000000000000000000000000dc4deec075ddbc668d1f802e6d7139a866632e2c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000057a0ed62700000000000000000000000000000000000000000000000000000000adfca15e0000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000cdffacc60000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000000000000000000000000000067cae12e325ac91e1a76e14a5f4b79bcd58b2419000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000000000000000000000000000005f41fc259627dbf27623ae89e8f813bc80e6e82b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000130c9473c000000000000000000000000000000000000000000000000000000000000000000000000000000007213257925641ec46774a98b0b19e2574b2a220300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000a8a35c5630000000000000000000000000000000000000000000000000000000006fdde030000000000000000000000000000000000000000000000000000000095d89b4100000000000000000000000000000000000000000000000000000000313ce56700000000000000000000000000000000000000000000000000000000095ea7b300000000000000000000000000000000000000000000000000000000a9059cbb0000000000000000000000000000000000000000000000000000000023b872dd00000000000000000000000000000000000000000000000000000000dd62ed3e0000000000000000000000000000000000000000000000000000000070a082310000000000000000000000000000000000000000000000000000000018160ddd00000000000000000000000000000000000000000000000000000000000000000000000000000000b9c91b2740a4aacaac91d49d0bb9cb526deaa1e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000960b5bb3f0000000000000000000000000000000000000000000000000000000034e7a19f00000000000000000000000000000000000000000000000000000000be1d24ad000000000000000000000000000000000000000000000000000000007e5852d900000000000000000000000000000000000000000000000000000000d3e1574700000000000000000000000000000000000000000000000000000000c7352ede00000000000000000000000000000000000000000000000000000000763265de00000000000000000000000000000000000000000000000000000000e3d670d700000000000000000000000000000000000000000000000000000000aa6ca80800000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040523661000b57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602081905260409091205481906001600160a01b0316806100785760405162461bcd60e51b815260040161006f90610e54565b60405180910390fd5b3660008037600080366000845af43d6000803e808015610097573d6000f35b3d6000fd5b60005b8351811015610100576100f88482815181106100b757fe5b6020026020010151600001518583815181106100cf57fe5b6020026020010151602001518684815181106100e757fe5b6020026020010151604001516101dc565b60010161009f565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161013493929190610b3f565b60405180910390a16101468282610488565b505050565b60006101556101b8565b6004810180546001600160a01b0385811673ffffffffffffffffffffffffffffffffffffffff1983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90565b60006101e66101b8565b905060008251116102095760405162461bcd60e51b815260040161006f90610ce0565b6001600160a01b038416156103f6576001600160a01b038416600090815260018083016020526040909120015461ffff168015801561026057506001600160a01b0385166000908152600183016020526040902054155b156102e95761028785604051806060016040528060248152602001611078602491396105b0565b5060028101805460018082018355600092835260208084208301805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038a16908117909155845281850190526040909220909101805461ffff191661ffff83161790555b60005b83518110156103ef57600084828151811061030357fe5b6020908102919091018101516001600160e01b0319811660009081529186905260408220549092506001600160a01b03169087600281111561034157fe5b141561037d576001600160a01b0381161561036e5760405162461bcd60e51b815260040161006f90610ee6565b61037888836105d1565b6103e5565b600187600281111561038b57fe5b14156103cd57876001600160a01b0316816001600160a01b031614156103c35760405162461bcd60e51b815260040161006f90610fc6565b61036e81836106ae565b60405162461bcd60e51b815260040161006f90610df7565b50506001016102ec565b5050610482565b600283600281111561040457fe5b146104215760405162461bcd60e51b815260040161006f90610d3d565b60005b825181101561048057600083828151811061043b57fe5b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150610477906001600160a01b0316826106ae565b50600101610424565b505b50505050565b6001600160a01b0382166104ba578051156104b55760405162461bcd60e51b815260040161006f90610c26565b6105ac565b60008151116104db5760405162461bcd60e51b815260040161006f90610e89565b6001600160a01b038216301461050d5761050d82604051806060016040528060288152602001611050602891396105b0565b60006060836001600160a01b0316836040516105299190610b23565b600060405180830381855af49150503d8060008114610564576040519150601f19603f3d011682016040523d82523d6000602084013e610569565b606091505b50915091508161048257805115610594578060405162461bcd60e51b815260040161006f9190610c0c565b60405162461bcd60e51b815260040161006f90610c83565b5050565b813b81816104825760405162461bcd60e51b815260040161006f9190610c0c565b60006105db6101b8565b6001600160a01b039390931660008181526001808601602090815260408084208054938401815584528184206008840401805463ffffffff600786166004026101000a9081021990911660e08a901c919091021790556001600160e01b031990961683529590955292909220805473ffffffffffffffffffffffffffffffffffffffff19169092177fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff9094169390930292909217905550565b60006106b86101b8565b90506001600160a01b0383166106e05760405162461bcd60e51b815260040161006f90610f43565b6001600160a01b0383163014156107095760405162461bcd60e51b815260040161006f90610d9a565b6001600160e01b03198216600090815260208281526040808320546001600160a01b038716845260018501909252909120547401000000000000000000000000000000000000000090910461ffff169060001901808214610866576001600160a01b0385166000908152600184016020526040812080548390811061078a57fe5b600091825260208083206008830401546001600160a01b038a168452600188019091526040909220805460079092166004026101000a90920460e01b9250829190859081106107d557fe5b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528490526040902080547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8516021790555b6001600160a01b0385166000908152600184016020526040902080548061088957fe5b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319861682528490526040902080547fffffffffffffffffffff00000000000000000000000000000000000000000000169055806104805760028301546001600160a01b03861660009081526001858101602052604090912001546000199091019061ffff168082146109c257600085600201838154811061093f57fe5b6000918252602090912001546002870180546001600160a01b03909216925082918490811061096a57fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0394851617905592909116815260018781019092526040902001805461ffff191661ffff83161790555b846002018054806109cf57fe5b600082815260208082208301600019908101805473ffffffffffffffffffffffffffffffffffffffff191690559092019092556001600160a01b03891682526001870190526040812090610a238282610a39565b50600101805461ffff1916905550505050505050565b508054600082556007016008900490600052602060002090810190610a5e9190610a61565b50565b5b80821115610a765760008155600101610a62565b5090565b6001600160a01b03169052565b6000815180845260208085019450808401835b83811015610ac05781516001600160e01b03191687529582019590820190600101610a9a565b509495945050505050565b60008151808452610ae3816020860160208601611023565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60038110610b1f57fe5b9052565b60008251610b35818460208701611023565b9190910192915050565b60006060808301818452808751808352608086019150602092506080838202870101838a01865b83811015610bde577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808984030185528151610ba2848251610a7a565b86810151610bb288860182610b15565b50604090810151908401889052610bcb84890182610a87565b9587019593505090850190600101610b66565b5050610bec8488018a610a7a565b8681036040880152610bfe8189610acb565b9a9950505050505050505050565b600060208252610c1f6020830184610acb565b9392505050565b6020808252603c908201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860408201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000606082015260800190565b60208082526026908201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e20726560408201527f7665727465640000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602b908201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660408201527f6163657420746f20637574000000000000000000000000000000000000000000606082015260800190565b60208082526036908201527f4c69624469616d6f6e644375743a20616374696f6e206e6f742073657420746f60408201527f204661636574437574416374696f6e2e52656d6f766500000000000000000000606082015260800190565b60208082526039908201527f4c69624469616d6f6e644375743a2043616e27742072656d6f7665206f72207260408201527f65706c61636520696d6d757461626c652066756e6374696f6e00000000000000606082015260800190565b60208082526027908201527f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560408201527f74416374696f6e00000000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374604082015260600190565b6020808252603d908201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460408201527f7920627574205f696e6974206973206e6f742061646472657373283029000000606082015260800190565b60208082526035908201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60408201527f6e207468617420616c7265616479206578697374730000000000000000000000606082015260800190565b60208082526042908201527f4c69624469616d6f6e644375743a2043616e27742072656d6f7665206f72207260408201527f65706c6163652066756e6374696f6e207468617420646f65736e27742065786960608201527f7374000000000000000000000000000000000000000000000000000000000000608082015260a00190565b60208082526038908201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60408201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606082015260800190565b60005b8381101561103e578181015183820152602001611026565b83811115610482575050600091015256fe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a26469706673582212204b92f54a2868f69a5d9929624c57077f9526790c0a7b7229356b0124a19eba8c64736f6c63430007010033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000400000000000000000000000004cf5f3ecd6303f6a04480f75ac394d4bb3816f83000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000005a00000000000000000000000001f1c29a6691fbe1768b2b289655ec6ae9192a2510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c00000000000000000000000000000000000000000000000000000000000000000000000000000000dc4deec075ddbc668d1f802e6d7139a866632e2c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000057a0ed62700000000000000000000000000000000000000000000000000000000adfca15e0000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000cdffacc60000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000000000000000000000000000067cae12e325ac91e1a76e14a5f4b79bcd58b2419000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000000000000000000000000000005f41fc259627dbf27623ae89e8f813bc80e6e82b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000130c9473c000000000000000000000000000000000000000000000000000000000000000000000000000000007213257925641ec46774a98b0b19e2574b2a220300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000a8a35c5630000000000000000000000000000000000000000000000000000000006fdde030000000000000000000000000000000000000000000000000000000095d89b4100000000000000000000000000000000000000000000000000000000313ce56700000000000000000000000000000000000000000000000000000000095ea7b300000000000000000000000000000000000000000000000000000000a9059cbb0000000000000000000000000000000000000000000000000000000023b872dd00000000000000000000000000000000000000000000000000000000dd62ed3e0000000000000000000000000000000000000000000000000000000070a082310000000000000000000000000000000000000000000000000000000018160ddd00000000000000000000000000000000000000000000000000000000000000000000000000000000b9c91b2740a4aacaac91d49d0bb9cb526deaa1e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000960b5bb3f0000000000000000000000000000000000000000000000000000000034e7a19f00000000000000000000000000000000000000000000000000000000be1d24ad000000000000000000000000000000000000000000000000000000007e5852d900000000000000000000000000000000000000000000000000000000d3e1574700000000000000000000000000000000000000000000000000000000c7352ede00000000000000000000000000000000000000000000000000000000763265de00000000000000000000000000000000000000000000000000000000e3d670d700000000000000000000000000000000000000000000000000000000aa6ca80800000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _diamondCut (tuple[]): System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput],System.Collections.Generic.List`1[Nethereum.ABI.FunctionEncoding.ParameterOutput]
Arg [1] : _owner (address): 0x4cf5F3EcD6303F6a04480F75ac394D4bB3816F83
-----Encoded View---------------
61 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000004cf5f3ecd6303f6a04480f75ac394d4bb3816f83
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000280
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000340
Arg [7] : 00000000000000000000000000000000000000000000000000000000000003e0
Arg [8] : 00000000000000000000000000000000000000000000000000000000000005a0
Arg [9] : 0000000000000000000000001f1c29a6691fbe1768b2b289655ec6ae9192a251
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [13] : 1f931c1c00000000000000000000000000000000000000000000000000000000
Arg [14] : 000000000000000000000000dc4deec075ddbc668d1f802e6d7139a866632e2c
Arg [15] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [16] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [17] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [18] : 7a0ed62700000000000000000000000000000000000000000000000000000000
Arg [19] : adfca15e00000000000000000000000000000000000000000000000000000000
Arg [20] : 52ef6b2c00000000000000000000000000000000000000000000000000000000
Arg [21] : cdffacc600000000000000000000000000000000000000000000000000000000
Arg [22] : 01ffc9a700000000000000000000000000000000000000000000000000000000
Arg [23] : 00000000000000000000000067cae12e325ac91e1a76e14a5f4b79bcd58b2419
Arg [24] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [25] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [26] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [27] : f2fde38b00000000000000000000000000000000000000000000000000000000
Arg [28] : 8da5cb5b00000000000000000000000000000000000000000000000000000000
Arg [29] : 0000000000000000000000005f41fc259627dbf27623ae89e8f813bc80e6e82b
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [31] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [32] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [33] : 30c9473c00000000000000000000000000000000000000000000000000000000
Arg [34] : 0000000000000000000000007213257925641ec46774a98b0b19e2574b2a2203
Arg [35] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [36] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [37] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [38] : 8a35c56300000000000000000000000000000000000000000000000000000000
Arg [39] : 06fdde0300000000000000000000000000000000000000000000000000000000
Arg [40] : 95d89b4100000000000000000000000000000000000000000000000000000000
Arg [41] : 313ce56700000000000000000000000000000000000000000000000000000000
Arg [42] : 095ea7b300000000000000000000000000000000000000000000000000000000
Arg [43] : a9059cbb00000000000000000000000000000000000000000000000000000000
Arg [44] : 23b872dd00000000000000000000000000000000000000000000000000000000
Arg [45] : dd62ed3e00000000000000000000000000000000000000000000000000000000
Arg [46] : 70a0823100000000000000000000000000000000000000000000000000000000
Arg [47] : 18160ddd00000000000000000000000000000000000000000000000000000000
Arg [48] : 000000000000000000000000b9c91b2740a4aacaac91d49d0bb9cb526deaa1e6
Arg [49] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [50] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [51] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [52] : 60b5bb3f00000000000000000000000000000000000000000000000000000000
Arg [53] : 34e7a19f00000000000000000000000000000000000000000000000000000000
Arg [54] : be1d24ad00000000000000000000000000000000000000000000000000000000
Arg [55] : 7e5852d900000000000000000000000000000000000000000000000000000000
Arg [56] : d3e1574700000000000000000000000000000000000000000000000000000000
Arg [57] : c7352ede00000000000000000000000000000000000000000000000000000000
Arg [58] : 763265de00000000000000000000000000000000000000000000000000000000
Arg [59] : e3d670d700000000000000000000000000000000000000000000000000000000
Arg [60] : aa6ca80800000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
13265:1605:0:-:0;;;;;;;;14078:36;14300:7;;-1:-1:-1;;;;;;14300:7:0;14270:38;;1287:45;14270:38;;;;;;;;:51;1287:45;;-1:-1:-1;;;;;14270:51:0;;14332:64;;;;-1:-1:-1;;;14332:64:0;;;;;;;:::i;:::-;;;;;;;;;14450:14;14447:1;14444;14431:34;14542:1;14539;14523:14;14520:1;14513:5;14506;14493:51;14579:16;14576:1;14573;14558:38;14617:6;14641:76;;;;14776:16;14773:1;14766:27;14641:76;14681:16;14678:1;14671:27;3866:577;4027:18;4022:308;4060:11;:18;4047:10;:31;4022:308;;;4109:209;4158:11;4170:10;4158:23;;;;;;;;;;;;;;:36;;;4213:11;4225:10;4213:23;;;;;;;;;;;;;;:30;;;4262:11;4274:10;4262:23;;;;;;;;;;;;;;:41;;;4109:30;:209::i;:::-;4080:12;;4022:308;;;;4345:41;4356:11;4369:5;4376:9;4345:41;;;;;;;;:::i;:::-;;;;;;;;4397:38;4418:5;4425:9;4397:20;:38::i;:::-;3866:577;;;:::o;2681:269::-;2746:25;2774:16;:14;:16::i;:::-;2825;;;;;-1:-1:-1;;;;;2852:28:0;;;-1:-1:-1;;2852:28:0;;;;;;;2896:46;;2825:16;;-1:-1:-1;2825:16:0;;;;2896:46;;-1:-1:-1;;2896:46:0;2681:269;;;:::o;2379:202::-;1287:45;;2529:::o;4451:2569::-;4635:25;4663:16;:14;:16::i;:::-;4635:44;;4718:1;4698:10;:17;:21;4690:77;;;;-1:-1:-1;;;4690:77:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4819:30:0;;;4815:2198;;-1:-1:-1;;;;;4897:43:0;;4866:28;4897:43;;;-1:-1:-1;4897:25:0;;;:43;;;;;;:64;;;;5039:25;;:102;;;;-1:-1:-1;;;;;;5068:43:0;;;;;;-1:-1:-1;5068:25:0;;:43;;;;;:68;:73;5039:102;5035:462;;;5162:80;5185:16;5162:80;;;;;;;;;;;;;;;;;:22;:80::i;:::-;-1:-1:-1;5284:17:0;;;:24;;5327:40;;;;;;-1:-1:-1;5327:40:0;;;;;;;;;;;-1:-1:-1;;5327:40:0;-1:-1:-1;;;;;5327:40:0;;;;;;;;5386:43;;:25;;;:43;;;;;;:64;;;:95;;-1:-1:-1;;5386:95:0;-1:-1:-1;5386:95:0;;;;;5035:462;5557:21;5552:1004;5596:10;:17;5580:13;:33;5552:1004;;;5651:15;5669:10;5680:13;5669:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5739:39:0;;5713:23;5739:39;;;;;;;;;;:52;5669:25;;-1:-1:-1;;;;;;5739:52:0;;5838:7;:41;;;;;;;;;5834:707;;;-1:-1:-1;;;;;5912:29:0;;;5904:95;;;;-1:-1:-1;;;5904:95:0;;;;;;;:::i;:::-;6022:39;6034:16;6052:8;6022:11;:39::i;:::-;5834:707;;;6102:34;6091:7;:45;;;;;;;;;6087:454;;;-1:-1:-1;;;;;6201:35:0;;;;;;;;6193:104;;;;-1:-1:-1;;;6193:104:0;;;;;;;:::i;:::-;6320:41;6335:15;6352:8;6320:14;:41::i;6087:454::-;6472:49;;-1:-1:-1;;;6472:49:0;;;;;;;:::i;6087:454::-;-1:-1:-1;;5615:15:0;;5552:1004;;;;4815:2198;;;;6607:33;6596:7;:44;;;;;;;;;6588:111;;;;-1:-1:-1;;;6588:111:0;;;;;;;:::i;:::-;6752:21;6747:255;6791:10;:17;6775:13;:33;6747:255;;;6846:15;6864:10;6875:13;6864:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6923:39:0;;:29;:39;;;;;;;;;;;:52;6864:25;;-1:-1:-1;6908:78:0;;-1:-1:-1;;;;;6923:52:0;6864:25;6908:14;:78::i;:::-;-1:-1:-1;6810:15:0;;6747:255;;;;4815:2198;4451:2569;;;;:::o;9797:889::-;-1:-1:-1;;;;;9890:19:0;;9886:793;;9934:16;;:21;9926:94;;;;-1:-1:-1;;;9926:94:0;;;;;;;:::i;:::-;9886:793;;;10080:1;10061:9;:16;:20;10053:94;;;;-1:-1:-1;;;10053:94:0;;;;;;;:::i;:::-;10183:4;-1:-1:-1;;;;;10166:22:0;;;10162:136;;10209:73;10232:5;10209:73;;;;;;;;;;;;;;;;;:22;:73::i;:::-;10349:29;;10313:12;;10327:18;;-1:-1:-1;;;;;10349:18:0;;;:29;;10368:9;;10349:29;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10312:66;;;;10398:7;10393:275;;10430:12;;:16;10426:227;;10515:21;;-1:-1:-1;;;10515:21:0;;;;10529:5;;10515:21;;;:::i;10426:227::-;10585:48;;-1:-1:-1;;;10585:48:0;;;;;;;:::i;9886:793::-;9797:889;;:::o;10694:267::-;10870:22;;10939:13;10921:16;10913:40;;;;-1:-1:-1;;;10913:40:0;;;;;;;;:::i;7028:489::-;7106:25;7134:16;:14;:16::i;:::-;-1:-1:-1;;;;;7188:36:0;;;;7161:24;7188:36;;;-1:-1:-1;7188:25:0;;;:36;;;;;;;;:61;;7260:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7341:40:0;;;;;;;;;;;;;:65;;-1:-1:-1;;7341:65:0;;;;7417:92;;-1:-1:-1;7417:92:0;;;;;;;;;;;;;;-1:-1:-1;7028:489:0:o;7525:2264::-;7613:25;7641:16;:14;:16::i;:::-;7613:44;-1:-1:-1;;;;;;7742:30:0;;7734:109;;;;-1:-1:-1;;;7734:109:0;;;;;;;:::i;:::-;7890:4;-1:-1:-1;;;;;7862:33:0;;;;7854:103;;;;-1:-1:-1;;;7854:103:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;8070:40:0;;8043:24;8070:40;;;;;;;;;;;:65;-1:-1:-1;;;;;8177:43:0;;;;-1:-1:-1;8177:25:0;;:43;;;;;;:68;-1:-1:-1;8070:65:0;;;;;;-1:-1:-1;;8177:72:0;8333:40;;;8329:397;;-1:-1:-1;;;;;8412:43:0;;8390:19;8412:43;;;-1:-1:-1;8412:25:0;;:43;;;;;:83;;8474:20;;8412:83;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8510:43:0;;;;-1:-1:-1;8510:25:0;;:43;;;;;;;:79;;8412:83;;;;;;;;;;;;;;-1:-1:-1;8412:83:0;;8510:43;8572:16;;8510:79;;;;;;;;;;;;;;;;;;:94;;;:79;;;;;;:94;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8619:43:0;;;;;;;;;;;;:95;;;;;;;;;;;;8329:397;-1:-1:-1;;;;;8773:43:0;;;;;;-1:-1:-1;8773:25:0;;:43;;;;;:67;;;;;;;;;;;;;;;;-1:-1:-1;;8773:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8858:40:0;;;;;;;;;;8851:47;;;;;;8996:25;8992:790;;9165:17;;;:24;-1:-1:-1;;;;;9239:43:0;;9130:32;9239:43;;;-1:-1:-1;9239:25:0;;;:43;;;;;;:64;;-1:-1:-1;;9165:28:0;;;;9239:64;;9322:48;;;9318:350;;9391:24;9418:2;:17;;9436:24;9418:43;;;;;;;;;;;;;;;;;;9480:17;;;:39;;-1:-1:-1;;;;;9418:43:0;;;;-1:-1:-1;9418:43:0;;9498:20;;9480:39;;;;;;;;;;;;;;;;;;:58;;-1:-1:-1;;9480:58:0;-1:-1:-1;;;;;9480:58:0;;;;;;9557:43;;;;;;-1:-1:-1;9557:25:0;;;:43;;;;;;:64;:95;;-1:-1:-1;;9557:95:0;-1:-1:-1;9557:95:0;;;;;9318:350;9682:2;:17;;:23;;;;;;;;;;;;;;;-1:-1:-1;;9682:23:0;;;;;;;-1:-1:-1;;9682:23:0;;;;;;;;;-1:-1:-1;;;;;9727:43:0;;;;-1:-1:-1;9727:25:0;;:43;;;;;;9720:50;9727:43;9682:23;9720:50;:::i;:::-;-1:-1:-1;9720:50:0;;;;-1:-1:-1;;9720:50:0;;;-1:-1:-1;;;;;;;7525:2264:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;441:103::-;-1:-1;;;;;17555:54;502:37;;496:48::o;700:662::-;;880:5;15497:12;16336:6;16331:3;16324:19;16373:4;;16368:3;16364:14;892:82;;16373:4;1044:5;15170:14;-1:-1;1083:257;1108:6;1105:1;1102:13;1083:257;;;1169:13;;-1:-1;;;;;;17258:78;2548:36;;155:14;;;;16051;;;;-1:-1;1123:9;1083:257;;;-1:-1;1346:10;;812:550;-1:-1;;;;;812:550::o;2596:343::-;;2738:5;15497:12;16336:6;16331:3;16324:19;2831:52;2876:6;16373:4;16368:3;16364:14;16373:4;2857:5;2853:16;2831:52;:::i;:::-;18131:2;18111:14;18127:7;18107:28;2895:39;;;;16373:4;2895:39;;2686:253;-1:-1;;2686:253::o;3309:144::-;18233:1;18226:5;18223:12;18213:2;;18239:9;18213:2;3384:64;;3378:75::o;9029:271::-;;3106:5;15497:12;3217:52;3262:6;3257:3;3250:4;3243:5;3239:16;3217:52;:::i;:::-;3281:16;;;;;9163:137;-1:-1;;9163:137::o;9307:772::-;;9606:2;;9595:9;9591:18;9606:2;9627:17;9620:47;9681:156;1706:5;15497:12;16336:6;16331:3;16324:19;16364:14;9595:9;16364:14;1718:117;;16373:4;;;16364:14;16373:4;1892:6;1888:17;9595:9;1879:27;;16373:4;2001:5;15170:14;-1:-1;2040:402;2065:6;2062:1;2059:13;2040:402;;;2117:20;9595:9;2121:4;2117:20;;2112:3;2105:33;2172:6;2166:13;8486:63;8534:14;8463:16;8457:23;8486:63;:::i;:::-;16373:4;8623:5;8619:16;8613:23;8642:77;16373:4;8708:3;8704:14;8690:12;8642:77;:::i;:::-;-1:-1;8811:4;8800:16;;;8794:23;8837:14;;;8830:38;;;8883:101;8374:14;;;8794:23;8883:101;:::i;:::-;2421:14;;;;2186:120;-1:-1;;16051:14;;;;2087:1;2080:9;2040:402;;;2044:14;;9848:72;16373:4;9905:9;9901:18;9892:6;9848:72;:::i;:::-;9968:9;9962:4;9958:20;8811:4;9942:9;9938:18;9931:48;9993:76;10064:4;10055:6;9993:76;:::i;:::-;9985:84;9577:502;-1:-1;;;;;;;;;;9577:502::o;10086:310::-;;10233:2;10254:17;10247:47;10308:78;10233:2;10222:9;10218:18;10372:6;10308:78;:::i;:::-;10300:86;10204:192;-1:-1;;;10204:192::o;10403:416::-;10603:2;10617:47;;;4039:2;10588:18;;;16324:19;4075:34;16364:14;;;4055:55;4144:30;4130:12;;;4123:52;4194:12;;;10574:245::o;10826:416::-;11026:2;11040:47;;;4445:2;11011:18;;;16324:19;4481:34;16364:14;;;4461:55;4550:8;4536:12;;;4529:30;4578:12;;;10997:245::o;11249:416::-;11449:2;11463:47;;;4829:2;11434:18;;;16324:19;4865:34;16364:14;;;4845:55;4934:13;4920:12;;;4913:35;4967:12;;;11420:245::o;11672:416::-;11872:2;11886:47;;;5218:2;11857:18;;;16324:19;5254:34;16364:14;;;5234:55;5323:24;5309:12;;;5302:46;5367:12;;;11843:245::o;12095:416::-;12295:2;12309:47;;;5618:2;12280:18;;;16324:19;5654:34;16364:14;;;5634:55;5723:27;5709:12;;;5702:49;5770:12;;;12266:245::o;12518:416::-;12718:2;12732:47;;;6021:2;12703:18;;;16324:19;6057:34;16364:14;;;6037:55;6126:9;6112:12;;;6105:31;6155:12;;;12689:245::o;12941:416::-;13141:2;13155:47;;;13126:18;;;16324:19;6442:34;16364:14;;;6422:55;6496:12;;;13112:245::o;13364:416::-;13564:2;13578:47;;;6747:2;13549:18;;;16324:19;6783:34;16364:14;;;6763:55;6852:31;6838:12;;;6831:53;6903:12;;;13535:245::o;13787:416::-;13987:2;14001:47;;;7154:2;13972:18;;;16324:19;7190:34;16364:14;;;7170:55;7259:23;7245:12;;;7238:45;7302:12;;;13958:245::o;14210:416::-;14410:2;14424:47;;;7553:2;14395:18;;;16324:19;7589:34;16364:14;;;7569:55;7658:34;7644:12;;;7637:56;7727:4;7713:12;;;7706:26;7751:12;;;14381:245::o;14633:416::-;14833:2;14847:47;;;8002:2;14818:18;;;16324:19;8038:34;16364:14;;;8018:55;8107:26;8093:12;;;8086:48;8153:12;;;14804:245::o;17767:268::-;17832:1;17839:101;17853:6;17850:1;17847:13;17839:101;;;17920:11;;;17914:18;17901:11;;;17894:39;17875:2;17868:10;17839:101;;;17955:6;17952:1;17949:13;17946:2;;;-1:-1;;17832:1;18002:16;;17995:27;17816:219::o
Swarm Source
ipfs://4b92f54a2868f69a5d9929624c57077f9526790c0a7b7229356b0124a19eba8c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.