POL Price: $0.299417 (-3.35%)
Gas: 30 GWei
 

Overview

POL Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0.104426872583378732 POL

POL Value

$0.03 (@ $0.30/POL)

Token Holdings

Multichain Info

Transaction Hash
Method
Block
From
To
So Swap Via Bool675674502025-02-05 12:42:2435 hrs ago1738759344IN
0x2967E7Bb...ef99B3820
1.05799435 POL0.0243477241.58905266
So Swap Via Bool675575352025-02-05 6:38:3041 hrs ago1738737510IN
0x2967E7Bb...ef99B3820
11.04799435 POL0.020350734.46765834
So Swap Via Bool675264082025-02-04 11:52:002 days ago1738669920IN
0x2967E7Bb...ef99B3820
0.95854155 POL0.0122196245.37703912
So Swap Via Bool673802942025-01-31 19:49:576 days ago1738352997IN
0x2967E7Bb...ef99B3820
1.04799435 POL0.0217826246.85221317
So Swap Via Worm...673326792025-01-30 15:02:407 days ago1738249360IN
0x2967E7Bb...ef99B3820
51.28549521 POL0.05704242103.08486442
Swap Tokens Gene...672742752025-01-29 4:21:038 days ago1738124463IN
0x2967E7Bb...ef99B3820
2.866194 POL0.031021144.20799998
So Swap Via Worm...672194962025-01-27 19:43:2910 days ago1738007009IN
0x2967E7Bb...ef99B3820
5.28549521 POL0.0226020247.24800003
So Swap Via Cele...671662722025-01-26 11:56:3111 days ago1737892591IN
0x2967E7Bb...ef99B3820
0.2081609 POL0.0221390143.95200005
So Swap Via Cele...671659282025-01-26 11:44:1911 days ago1737891859IN
0x2967E7Bb...ef99B3820
0.56697426 POL0.0221400743.95200007
So Swap Via Star...671637142025-01-26 10:25:0811 days ago1737887108IN
0x2967E7Bb...ef99B3820
0.89869841 POL0.0350796442.28160008
Swap Tokens Gene...670982832025-01-24 19:14:3113 days ago1737746071IN
0x2967E7Bb...ef99B3820
2.605635 POL0.0570567578.58212278
So Swap Via Bool669743412025-01-21 16:48:5716 days ago1737478137IN
0x2967E7Bb...ef99B3820
3.03342155 POL0.08540927142.51173626
So Swap Via Bool669198552025-01-20 7:05:1017 days ago1737356710IN
0x2967E7Bb...ef99B3820
2.99358155 POL0.52073781,166.935138
So Swap Via Bool669189612025-01-20 6:32:2217 days ago1737354742IN
0x2967E7Bb...ef99B3820
3.98282955 POL0.06822563153.89598593
So Swap Via Star...669188262025-01-20 6:27:3417 days ago1737354454IN
0x2967E7Bb...ef99B3820
5.96764256 POL0.10567568128.5798783
So Swap Via Worm...669006382025-01-19 19:29:2718 days ago1737314967IN
0x2967E7Bb...ef99B3820
9.78549521 POL0.05766565120.26908482
Swap Tokens Gene...668671512025-01-18 23:34:5619 days ago1737243296IN
0x2967E7Bb...ef99B3820
0 POL0.0413679344.97223061
So Swap Via Worm...668422312025-01-18 8:35:5319 days ago1737189353IN
0x2967E7Bb...ef99B3820
1.25225122 POL0.0422266100.77034608
Swap Tokens Gene...668225812025-01-17 20:56:5220 days ago1737147412IN
0x2967E7Bb...ef99B3820
0 POL0.028830145.6347326
So Swap Via Worm...668140712025-01-17 15:50:3620 days ago1737129036IN
0x2967E7Bb...ef99B3820
1.25225122 POL0.05586731134.21449234
Swap Tokens Gene...668055792025-01-17 10:41:0620 days ago1737110466IN
0x2967E7Bb...ef99B3820
2.540848 POL0.0324940474.4362813
So Swap Via Bool668018512025-01-17 8:27:2020 days ago1737102440IN
0x2967E7Bb...ef99B3820
13.47411915 POL0.0221092849.72333561
So Swap Via Bool667589222025-01-16 6:49:1321 days ago1737010153IN
0x2967E7Bb...ef99B3820
0.99269835 POL0.0083934830.09850905
So Swap Via Cele...667580252025-01-16 6:17:2721 days ago1737008247IN
0x2967E7Bb...ef99B3820
125.4032785 POL0.0153327230.00011131
So Swap Via Bool667272302025-01-15 12:04:0922 days ago1736942649IN
0x2967E7Bb...ef99B3820
504.22350155 POL0.0255841243.40419609
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
675674502025-02-05 12:42:2435 hrs ago1738759344
0x2967E7Bb...ef99B3820
0.5315328 POL
675674502025-02-05 12:42:2435 hrs ago1738759344
0x2967E7Bb...ef99B3820
0.51646155 POL
675674502025-02-05 12:42:2435 hrs ago1738759344
0x2967E7Bb...ef99B3820
0.01 POL
675674372025-02-05 12:41:4235 hrs ago1738759302
0x2967E7Bb...ef99B3820
0.84098878 POL
675674372025-02-05 12:41:4235 hrs ago1738759302
0x2967E7Bb...ef99B3820
0.84098878 POL
675575352025-02-05 6:38:3041 hrs ago1738737510
0x2967E7Bb...ef99B3820
0.5315328 POL
675575352025-02-05 6:38:3041 hrs ago1738737510
0x2967E7Bb...ef99B3820
0.51646155 POL
675575352025-02-05 6:38:3041 hrs ago1738737510
0x2967E7Bb...ef99B3820
10 POL
675264082025-02-04 11:52:002 days ago1738669920
0x2967E7Bb...ef99B3820
0.44208 POL
675264082025-02-04 11:52:002 days ago1738669920
0x2967E7Bb...ef99B3820
0.51646155 POL
673802942025-01-31 19:49:576 days ago1738352997
0x2967E7Bb...ef99B3820
0.5315328 POL
673802942025-01-31 19:49:576 days ago1738352997
0x2967E7Bb...ef99B3820
0.51646155 POL
673326792025-01-30 15:02:407 days ago1738249360
0x2967E7Bb...ef99B3820
50 POL
673326792025-01-30 15:02:407 days ago1738249360
0x2967E7Bb...ef99B3820
1.25486194 POL
673326792025-01-30 15:02:407 days ago1738249360
0x2967E7Bb...ef99B3820
0.03063327 POL
672742752025-01-29 4:21:038 days ago1738124463
0x2967E7Bb...ef99B3820
2.866194 POL
672194962025-01-27 19:43:2910 days ago1738007009
0x2967E7Bb...ef99B3820
4 POL
672194962025-01-27 19:43:2910 days ago1738007009
0x2967E7Bb...ef99B3820
1.25476271 POL
672194962025-01-27 19:43:2910 days ago1738007009
0x2967E7Bb...ef99B3820
0.0307325 POL
671662722025-01-26 11:56:3111 days ago1737892591
0x2967E7Bb...ef99B3820
0.00000299 POL
671662722025-01-26 11:56:3111 days ago1737892591
0x2967E7Bb...ef99B3820
0.208125 POL
671662722025-01-26 11:56:3111 days ago1737892591
0x2967E7Bb...ef99B3820
0.00003291 POL
671659282025-01-26 11:44:1911 days ago1737891859
0x2967E7Bb...ef99B3820
0.02988696 POL
671659282025-01-26 11:44:1911 days ago1737891859
0x2967E7Bb...ef99B3820
0.208125 POL
671659282025-01-26 11:44:1911 days ago1737891859
0x2967E7Bb...ef99B3820
0.32896229 POL
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SoDiamond

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
File 1 of 3 : SoDiamond.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

import { LibDiamond } from "LibDiamond.sol";
import { IDiamondCut } from "IDiamondCut.sol";

contract SoDiamond {
    constructor(address _contractOwner, address _diamondCutFacet) payable {
        LibDiamond.setContractOwner(_contractOwner);

        // Add the diamondCut external function from the diamondCutFacet
        IDiamondCut.FacetCut[] memory cut = new IDiamondCut.FacetCut[](1);
        bytes4[] memory functionSelectors = new bytes4[](1);
        functionSelectors[0] = IDiamondCut.diamondCut.selector;
        cut[0] = IDiamondCut.FacetCut({
            facetAddress: _diamondCutFacet,
            action: IDiamondCut.FacetCutAction.Add,
            functionSelectors: functionSelectors
        });
        LibDiamond.diamondCut(cut, address(0), "");
    }

    // Find facet for function that is called and execute the
    // function if a facet is found and return any value.
    // solhint-disable-next-line no-complex-fallback
    fallback() external payable {
        LibDiamond.DiamondStorage storage ds;
        bytes32 position = LibDiamond.DIAMOND_STORAGE_POSITION;

        // get diamond storage
        // solhint-disable-next-line no-inline-assembly
        assembly {
            ds.slot := position
        }

        // get facet from function selector
        address facet = ds.selectorToFacetAndPosition[msg.sig].facetAddress;
        require(facet != address(0), "Diamond: Function does not exist");

        // Execute external function from facet using delegatecall and return any value.
        // solhint-disable-next-line no-inline-assembly
        assembly {
            // copy function selector and any arguments
            calldatacopy(0, 0, calldatasize())
            // execute function call using the facet
            let result := delegatecall(gas(), facet, 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())
            }
        }
    }

    // Able to receive ether
    // solhint-disable-next-line no-empty-blocks
    receive() external payable {}
}

File 2 of 3 : LibDiamond.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

import { IDiamondCut } from "IDiamondCut.sol";

library LibDiamond {
    bytes32 internal constant DIAMOND_STORAGE_POSITION = keccak256("diamond.standard.diamond.storage");

    struct FacetAddressAndPosition {
        address facetAddress;
        uint96 functionSelectorPosition; // position in facetFunctionSelectors.functionSelectors array
    }

    struct FacetFunctionSelectors {
        bytes4[] functionSelectors;
        uint256 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;
        // solhint-disable-next-line no-inline-assembly
        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");
    }

    event DiamondCut(IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata);

    // Internal function version of diamondCut
    function diamondCut(
        IDiamondCut.FacetCut[] memory _diamondCut,
        address _init,
        bytes memory _calldata
    ) internal {
        for (uint256 facetIndex; facetIndex < _diamondCut.length; facetIndex++) {
            IDiamondCut.FacetCutAction action = _diamondCut[facetIndex].action;
            if (action == IDiamondCut.FacetCutAction.Add) {
                addFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
            } else if (action == IDiamondCut.FacetCutAction.Replace) {
                replaceFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
            } else if (action == IDiamondCut.FacetCutAction.Remove) {
                removeFunctions(_diamondCut[facetIndex].facetAddress, _diamondCut[facetIndex].functionSelectors);
            } else {
                revert("LibDiamondCut: Incorrect FacetCutAction");
            }
        }
        emit DiamondCut(_diamondCut, _init, _calldata);
        initializeDiamondCut(_init, _calldata);
    }

    function addFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        DiamondStorage storage ds = diamondStorage();
        require(_facetAddress != address(0), "LibDiamondCut: Add facet can't be address(0)");
        uint96 selectorPosition = uint96(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length);
        // add new facet address if it does not exist
        if (selectorPosition == 0) {
            addFacet(ds, _facetAddress);
        }
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress;
            require(oldFacetAddress == address(0), "LibDiamondCut: Can't add function that already exists");
            addFunction(ds, selector, selectorPosition, _facetAddress);
            selectorPosition++;
        }
    }

    function replaceFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        DiamondStorage storage ds = diamondStorage();
        require(_facetAddress != address(0), "LibDiamondCut: Add facet can't be address(0)");
        uint96 selectorPosition = uint96(ds.facetFunctionSelectors[_facetAddress].functionSelectors.length);
        // add new facet address if it does not exist
        if (selectorPosition == 0) {
            addFacet(ds, _facetAddress);
        }
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress;
            require(oldFacetAddress != _facetAddress, "LibDiamondCut: Can't replace function with same function");
            removeFunction(ds, oldFacetAddress, selector);
            addFunction(ds, selector, selectorPosition, _facetAddress);
            selectorPosition++;
        }
    }

    function removeFunctions(address _facetAddress, bytes4[] memory _functionSelectors) internal {
        require(_functionSelectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        DiamondStorage storage ds = diamondStorage();
        // if function does not exist then do nothing and return
        require(_facetAddress == address(0), "LibDiamondCut: Remove facet address must be address(0)");
        for (uint256 selectorIndex; selectorIndex < _functionSelectors.length; selectorIndex++) {
            bytes4 selector = _functionSelectors[selectorIndex];
            address oldFacetAddress = ds.selectorToFacetAndPosition[selector].facetAddress;
            removeFunction(ds, oldFacetAddress, selector);
        }
    }

    function addFacet(DiamondStorage storage ds, address _facetAddress) internal {
        enforceHasContractCode(_facetAddress, "LibDiamondCut: New facet has no code");
        ds.facetFunctionSelectors[_facetAddress].facetAddressPosition = ds.facetAddresses.length;
        ds.facetAddresses.push(_facetAddress);
    }

    function addFunction(
        DiamondStorage storage ds,
        bytes4 _selector,
        uint96 _selectorPosition,
        address _facetAddress
    ) internal {
        ds.selectorToFacetAndPosition[_selector].functionSelectorPosition = _selectorPosition;
        ds.facetFunctionSelectors[_facetAddress].functionSelectors.push(_selector);
        ds.selectorToFacetAndPosition[_selector].facetAddress = _facetAddress;
    }

    function removeFunction(
        DiamondStorage storage ds,
        address _facetAddress,
        bytes4 _selector
    ) internal {
        require(_facetAddress != address(0), "LibDiamondCut: Can't remove function that doesn't exist");
        // an immutable function is a function defined directly in a diamond
        require(_facetAddress != address(this), "LibDiamondCut: Can't remove immutable function");
        // replace selector with last selector, then delete last selector
        uint256 selectorPosition = ds.selectorToFacetAndPosition[_selector].functionSelectorPosition;
        uint256 lastSelectorPosition = ds.facetFunctionSelectors[_facetAddress].functionSelectors.length - 1;
        // if not the same then replace _selector with lastSelector
        if (selectorPosition != lastSelectorPosition) {
            bytes4 lastSelector = ds.facetFunctionSelectors[_facetAddress].functionSelectors[lastSelectorPosition];
            ds.facetFunctionSelectors[_facetAddress].functionSelectors[selectorPosition] = lastSelector;
            ds.selectorToFacetAndPosition[lastSelector].functionSelectorPosition = uint96(selectorPosition);
        }
        // delete the last selector
        ds.facetFunctionSelectors[_facetAddress].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[_facetAddress].facetAddressPosition;
            if (facetAddressPosition != lastFacetAddressPosition) {
                address lastFacetAddress = ds.facetAddresses[lastFacetAddressPosition];
                ds.facetAddresses[facetAddressPosition] = lastFacetAddress;
                ds.facetFunctionSelectors[lastFacetAddress].facetAddressPosition = facetAddressPosition;
            }
            ds.facetAddresses.pop();
            delete ds.facetFunctionSelectors[_facetAddress].facetAddressPosition;
        }
    }

    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");
            }
            // solhint-disable-next-line avoid-low-level-calls
            (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;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            contractSize := extcodesize(_contract)
        }
        require(contractSize > 0, _errorMessage);
    }
}

File 3 of 3 : IDiamondCut.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

interface IDiamondCut {
    enum FacetCutAction {
        Add,
        Replace,
        Remove
    }
    // Add=0, Replace=1, Remove=2

    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);
}

Settings
{
  "evmVersion": "istanbul",
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "libraries": {
    "SoDiamond.sol": {}
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_contractOwner","type":"address"},{"internalType":"address","name":"_diamondCutFacet","type":"address"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

6080604052604051620026a5380380620026a583398101604081905262000026916200116d565b6200003c826200015660201b620000b61760201c565b604080516001808252818301909252600091816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081620000535750506040805160018082528183019092529192506000919060208083019080368337019050509050631f931c1c60e01b81600081518110620000c657620000c6620011a5565b6001600160e01b031990921660209283029190910182015260408051606081019091526001600160a01b0385168152908101600081526020018281525082600081518110620001195762000119620011a5565b60200260200101819052506200014c82600060405180602001604052806000815250620001da60201b620001391760201c565b5050505062001402565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b031981166001600160a01b03848116918217909355604051600080516020620025f9833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b8351811015620003e6576000848281518110620001fe57620001fe620011a5565b602002602001015160200151905060006002811115620002225762000222620011bb565b816002811115620002375762000237620011bb565b0362000295576200028f858381518110620002565762000256620011a5565b602002602001015160000151868481518110620002775762000277620011a5565b6020026020010151604001516200043560201b60201c565b620003d0565b6001816002811115620002ac57620002ac620011bb565b0362000304576200028f858381518110620002cb57620002cb620011a5565b602002602001015160000151868481518110620002ec57620002ec620011a5565b602002602001015160400151620006c260201b60201c565b60028160028111156200031b576200031b620011bb565b0362000373576200028f8583815181106200033a576200033a620011a5565b6020026020010151600001518684815181106200035b576200035b620011a5565b6020026020010151604001516200095a60201b60201c565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b60648201526084015b60405180910390fd5b5080620003dd81620011e7565b915050620001dd565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738383836040516200041c9392919062001260565b60405180910390a162000430828262000ac0565b505050565b60008151116200048b5760405162461bcd60e51b815260206004820152602b60248201526000805160206200268583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620003c7565b600080516020620025f98339815191526001600160a01b038316620004f75760405162461bcd60e51b815260206004820152602c60248201526000805160206200264183398151915260448201526b65206164647265737328302960a01b6064820152608401620003c7565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620005305762000530828562000cdf565b60005b8351811015620006bb576000848281518110620005545762000554620011a5565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b03168015620005fc5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401620003c7565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b03191617905583620006a08162001367565b94505050508080620006b290620011e7565b91505062000533565b5050505050565b6000815111620007185760405162461bcd60e51b815260206004820152602b60248201526000805160206200268583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620003c7565b600080516020620025f98339815191526001600160a01b038316620007845760405162461bcd60e51b815260206004820152602c60248201526000805160206200264183398151915260448201526b65206164647265737328302960a01b6064820152608401620003c7565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620007bd57620007bd828562000cdf565b60005b8351811015620006bb576000848281518110620007e157620007e1620011a5565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0390811690871681036200088e5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401620003c7565b6200089b85828462000d4c565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b031916179055836200093f8162001367565b945050505080806200095190620011e7565b915050620007c0565b6000815111620009b05760405162461bcd60e51b815260206004820152602b60248201526000805160206200268583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620003c7565b600080516020620025f98339815191526001600160a01b0383161562000a3f5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401620003c7565b60005b825181101562000aba57600083828151811062000a635762000a63620011a5565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031662000aa284828462000d4c565b5050808062000ab190620011e7565b91505062000a42565b50505050565b6001600160a01b03821662000b4a5780511562000b465760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608401620003c7565b5050565b600081511162000bc35760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f7420616464726573732830290000006064820152608401620003c7565b6001600160a01b038216301462000bf95762000bf98260405180606001604052806028815260200162002619602891396200112c565b600080836001600160a01b03168360405162000c16919062001398565b600060405180830381855af49150503d806000811462000c53576040519150601f19603f3d011682016040523d82523d6000602084013e62000c58565b606091505b50915091508162000aba5780511562000c87578060405162461bcd60e51b8152600401620003c79190620013b6565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b6064820152608401620003c7565b62000d048160405180606001604052806024815260200162002661602491396200112c565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160a01b03821662000dca5760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401620003c7565b306001600160a01b0383160362000e3b5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401620003c7565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b0316929162000e8c91620013d2565b905080821462000f85576001600160a01b0384166000908152600186016020526040812080548390811062000ec55762000ec5620011a5565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b92508291908590811062000f195762000f19620011a5565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b0384166000908152600186016020526040902080548062000fb15762000fb1620013ec565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b03198516825286905260408120819055819003620006bb5760028501546000906200101790600190620013d2565b6001600160a01b0386166000908152600180890160205260409091200154909150808214620010cd5760008760020183815481106200105a576200105a620011a5565b6000918252602090912001546002890180546001600160a01b0390921692508291849081106200108e576200108e620011a5565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480620010e357620010e3620013ec565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b818162000aba5760405162461bcd60e51b8152600401620003c79190620013b6565b80516001600160a01b03811681146200116857600080fd5b919050565b600080604083850312156200118157600080fd5b6200118c8362001150565b91506200119c6020840162001150565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620011fc57620011fc620011d1565b5060010190565b60005b838110156200122057818101518382015260200162001206565b8381111562000aba5750506000910152565b600081518084526200124c81602086016020860162001203565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156200133557898403607f19018652815180516001600160a01b03168552838101518986019060038110620012d157634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156200131f5783516001600160e01b0319168252928601926001929092019190860190620012f3565b5097850197955050509082019060010162001289565b50506001600160a01b038a1690880152868103604088015262001359818962001232565b9a9950505050505050505050565b60006001600160601b038281166002600160601b031981016200138e576200138e620011d1565b6001019392505050565b60008251620013ac81846020870162001203565b9190910192915050565b602081526000620013cb602083018462001232565b9392505050565b600082821015620013e757620013e7620011d1565b500390565b634e487b7160e01b600052603160045260246000fd5b6111e780620014126000396000f3fe60806040523661000b57005b600080356001600160e01b0319168152600080516020611146833981519152602081905260409091205481906001600160a01b0316806100925760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100b1573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b031981166001600160a01b03848116918217909355604051600080516020611146833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156102ff57600084828151811061015957610159610e72565b60200260200101516020015190506000600281111561017a5761017a610e88565b81600281111561018c5761018c610e88565b036101da576101d58583815181106101a6576101a6610e72565b6020026020010151600001518684815181106101c4576101c4610e72565b60200260200101516040015161034a565b6102ec565b60018160028111156101ee576101ee610e88565b03610237576101d585838151811061020857610208610e72565b60200260200101516000015186848151811061022657610226610e72565b6020026020010151604001516104c9565b600281600281111561024b5761024b610e88565b03610294576101d585838151811061026557610265610e72565b60200260200101516000015186848151811061028357610283610e72565b602002602001015160400151610659565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608401610089565b50806102f781610eb4565b91505061013c565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161033393929190610f25565b60405180910390a16103458282610777565b505050565b600081511161036b5760405162461bcd60e51b815260040161008990611025565b6000805160206111468339815191526001600160a01b0383166103a05760405162461bcd60e51b815260040161008990611070565b6001600160a01b0383166000908152600182016020526040812054906001600160601b03821690036103d6576103d68285610984565b60005b83518110156104c25760008482815181106103f6576103f6610e72565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156104945760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f6044820152746e207468617420616c72656164792065786973747360581b6064820152608401610089565b6104a08583868a6109ee565b836104aa816110bc565b945050505080806104ba90610eb4565b9150506103d9565b5050505050565b60008151116104ea5760405162461bcd60e51b815260040161008990611025565b6000805160206111468339815191526001600160a01b03831661051f5760405162461bcd60e51b815260040161008990611070565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003610555576105558285610984565b60005b83518110156104c257600084828151811061057557610575610e72565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0390811690871681036106205760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401610089565b61062b858284610a8e565b6106378583868a6109ee565b83610641816110bc565b9450505050808061065190610eb4565b915050610558565b600081511161067a5760405162461bcd60e51b815260040161008990611025565b6000805160206111468339815191526001600160a01b038316156106ff5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f76652066616365742061646472604482015275657373206d757374206265206164647265737328302960501b6064820152608401610089565b60005b825181101561077157600083828151811061071f5761071f610e72565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031661075c848284610a8e565b5050808061076990610eb4565b915050610702565b50505050565b6001600160a01b0382166107fe578051156107fa5760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608401610089565b5050565b60008151116108755760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f7420616464726573732830290000006064820152608401610089565b6001600160a01b03821630146108a7576108a78260405180606001604052806028815260200161116660289139610e51565b600080836001600160a01b0316836040516108c291906110e2565b600060405180830381855af49150503d80600081146108fd576040519150601f19603f3d011682016040523d82523d6000602084013e610902565b606091505b5091509150816107715780511561092d578060405162461bcd60e51b815260040161008991906110fe565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b6064820152608401610089565b6109a68160405180606001604052806024815260200161118e60249139610e51565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160e01b0319831660008181526020868152604080832080546001600160601b03909716600160a01b026001600160a01b0397881617815594909516808352600180890183529583208054968701815583528183206008870401805460e09890981c60046007909816979097026101000a96870263ffffffff9097021990971695909517909555529290915281546001600160a01b031916179055565b6001600160a01b038216610b0a5760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401610089565b306001600160a01b03831603610b795760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401610089565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b03169291610bc891611118565b9050808214610cba576001600160a01b03841660009081526001860160205260408120805483908110610bfd57610bfd610e72565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610c4e57610c4e610e72565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b03841660009081526001860160205260409020805480610ce357610ce361112f565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b031985168252869052604081208190558190036104c2576002850154600090610d4690600190611118565b6001600160a01b0386166000908152600180890160205260409091200154909150808214610df5576000876002018381548110610d8557610d85610e72565b6000918252602090912001546002890180546001600160a01b039092169250829184908110610db657610db6610e72565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480610e0857610e0861112f565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b81816107715760405162461bcd60e51b815260040161008991906110fe565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610ec657610ec6610e9e565b5060010190565b60005b83811015610ee8578181015183820152602001610ed0565b838111156107715750506000910152565b60008151808452610f11816020860160208601610ecd565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015610ff557898403607f19018652815180516001600160a01b03168552838101518986019060038110610f9457634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015610fe05783516001600160e01b0319168252928601926001929092019190860190610fb6565b50978501979550505090820190600101610f4e565b50506001600160a01b038a169088015286810360408801526110178189610ef9565b9a9950505050505050505050565b6020808252602b908201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660408201526a1858d95d081d1bc818dd5d60aa1b606082015260800190565b6020808252602c908201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260408201526b65206164647265737328302960a01b606082015260800190565b60006001600160601b038083168181036110d8576110d8610e9e565b6001019392505050565b600082516110f4818460208701610ecd565b9190910192915050565b6020815260006111116020830184610ef9565b9392505050565b60008282101561112a5761112a610e9e565b500390565b634e487b7160e01b600052603160045260246000fdfec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220b8c534ff990174e6e20a251d44d4882bbd25e48a72b771a91db3b4a13fa633b264736f6c634300080d0033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204164642066616365742063616e277420624c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f64654c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e20660000000000000000000000002da7e3a7f21cce79efeb66f3b082196ea0a8b9af000000000000000000000000dae4db475aca613a5e2dc5fc304da7e962b3cead

Deployed Bytecode

0x60806040523661000b57005b600080356001600160e01b0319168152600080516020611146833981519152602081905260409091205481906001600160a01b0316806100925760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100b1573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b031981166001600160a01b03848116918217909355604051600080516020611146833981519152939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156102ff57600084828151811061015957610159610e72565b60200260200101516020015190506000600281111561017a5761017a610e88565b81600281111561018c5761018c610e88565b036101da576101d58583815181106101a6576101a6610e72565b6020026020010151600001518684815181106101c4576101c4610e72565b60200260200101516040015161034a565b6102ec565b60018160028111156101ee576101ee610e88565b03610237576101d585838151811061020857610208610e72565b60200260200101516000015186848151811061022657610226610e72565b6020026020010151604001516104c9565b600281600281111561024b5761024b610e88565b03610294576101d585838151811061026557610265610e72565b60200260200101516000015186848151811061028357610283610e72565b602002602001015160400151610659565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608401610089565b50806102f781610eb4565b91505061013c565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161033393929190610f25565b60405180910390a16103458282610777565b505050565b600081511161036b5760405162461bcd60e51b815260040161008990611025565b6000805160206111468339815191526001600160a01b0383166103a05760405162461bcd60e51b815260040161008990611070565b6001600160a01b0383166000908152600182016020526040812054906001600160601b03821690036103d6576103d68285610984565b60005b83518110156104c25760008482815181106103f6576103f6610e72565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156104945760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f6044820152746e207468617420616c72656164792065786973747360581b6064820152608401610089565b6104a08583868a6109ee565b836104aa816110bc565b945050505080806104ba90610eb4565b9150506103d9565b5050505050565b60008151116104ea5760405162461bcd60e51b815260040161008990611025565b6000805160206111468339815191526001600160a01b03831661051f5760405162461bcd60e51b815260040161008990611070565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003610555576105558285610984565b60005b83518110156104c257600084828151811061057557610575610e72565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b0390811690871681036106205760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401610089565b61062b858284610a8e565b6106378583868a6109ee565b83610641816110bc565b9450505050808061065190610eb4565b915050610558565b600081511161067a5760405162461bcd60e51b815260040161008990611025565b6000805160206111468339815191526001600160a01b038316156106ff5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f76652066616365742061646472604482015275657373206d757374206265206164647265737328302960501b6064820152608401610089565b60005b825181101561077157600083828151811061071f5761071f610e72565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b031661075c848284610a8e565b5050808061076990610eb4565b915050610702565b50505050565b6001600160a01b0382166107fe578051156107fa5760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608401610089565b5050565b60008151116108755760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f7420616464726573732830290000006064820152608401610089565b6001600160a01b03821630146108a7576108a78260405180606001604052806028815260200161116660289139610e51565b600080836001600160a01b0316836040516108c291906110e2565b600060405180830381855af49150503d80600081146108fd576040519150601f19603f3d011682016040523d82523d6000602084013e610902565b606091505b5091509150816107715780511561092d578060405162461bcd60e51b815260040161008991906110fe565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b6064820152608401610089565b6109a68160405180606001604052806024815260200161118e60249139610e51565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160e01b0319831660008181526020868152604080832080546001600160601b03909716600160a01b026001600160a01b0397881617815594909516808352600180890183529583208054968701815583528183206008870401805460e09890981c60046007909816979097026101000a96870263ffffffff9097021990971695909517909555529290915281546001600160a01b031916179055565b6001600160a01b038216610b0a5760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401610089565b306001600160a01b03831603610b795760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401610089565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b03169291610bc891611118565b9050808214610cba576001600160a01b03841660009081526001860160205260408120805483908110610bfd57610bfd610e72565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610c4e57610c4e610e72565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b03841660009081526001860160205260409020805480610ce357610ce361112f565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b031985168252869052604081208190558190036104c2576002850154600090610d4690600190611118565b6001600160a01b0386166000908152600180890160205260409091200154909150808214610df5576000876002018381548110610d8557610d85610e72565b6000918252602090912001546002890180546001600160a01b039092169250829184908110610db657610db6610e72565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b86600201805480610e0857610e0861112f565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b81816107715760405162461bcd60e51b815260040161008991906110fe565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610ec657610ec6610e9e565b5060010190565b60005b83811015610ee8578181015183820152602001610ed0565b838111156107715750506000910152565b60008151808452610f11816020860160208601610ecd565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015610ff557898403607f19018652815180516001600160a01b03168552838101518986019060038110610f9457634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015610fe05783516001600160e01b0319168252928601926001929092019190860190610fb6565b50978501979550505090820190600101610f4e565b50506001600160a01b038a169088015286810360408801526110178189610ef9565b9a9950505050505050505050565b6020808252602b908201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660408201526a1858d95d081d1bc818dd5d60aa1b606082015260800190565b6020808252602c908201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260408201526b65206164647265737328302960a01b606082015260800190565b60006001600160601b038083168181036110d8576110d8610e9e565b6001019392505050565b600082516110f4818460208701610ecd565b9190910192915050565b6020815260006111116020830184610ef9565b9392505050565b60008282101561112a5761112a610e9e565b500390565b634e487b7160e01b600052603160045260246000fdfec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220b8c534ff990174e6e20a251d44d4882bbd25e48a72b771a91db3b4a13fa633b264736f6c634300080d0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000002da7e3a7f21cce79efeb66f3b082196ea0a8b9af000000000000000000000000dae4db475aca613a5e2dc5fc304da7e962b3cead

-----Decoded View---------------
Arg [0] : _contractOwner (address): 0x2dA7e3a7F21cCE79efeb66f3b082196EA0A8B9af
Arg [1] : _diamondCutFacet (address): 0xDAE4Db475ACA613a5e2DC5fC304dA7e962B3cEaD

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000002da7e3a7f21cce79efeb66f3b082196ea0a8b9af
Arg [1] : 000000000000000000000000dae4db475aca613a5e2dc5fc304da7e962b3cead


Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Chain Token Portfolio % Price Amount Value
ZKSYNC83.62%$2,701.520.0905$244.57
LINEA10.36%$2,701.520.0112$30.3
BASE3.77%$110.9934$11.03
ETH0.93%$2,703.020.00101$2.73
BSC0.30%$96,476.70.000009$0.8682
BSC0.14%$10.405$0.405
BSC0.08%$2,687.720.00008873$0.2384
BSC0.06%$0.9999530.19$0.1899
BSC0.06%$0.9994950.1727$0.1725
BSC<0.01%$573.790.00002033$0.011663
FTM0.45%$0.4281133.0627$1.31
OP0.15%$0.9999080.4246$0.4245
OP<0.01%$2,705.440.00001$0.027054
ARB0.06%$10.1698$0.17
ARB<0.01%$2,703.590.000000016617$0.000045
POL
Polygon (POL)
0.01%$0.2994170.1044$0.031267
AVAX<0.01%$24.740.000000000000000023<$0.000001
[ 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.