POL Price: $0.148964 (-5.01%)
 

Overview

POL Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo10.070738456433562972 POL

POL Value

$1.50 (@ $0.15/POL)

Token Holdings

More Info

Private Name Tags

Multichain Info

Transaction Hash
Method
Block
From
To
Egress With Perm...787523692025-11-08 13:46:598 days ago1762609619IN
0x21dd761c...2a18A297f
6.95298405 POL0.15430327406.40241067
Egress With Perm...763080512025-09-11 4:56:3166 days ago1757566591IN
0x21dd761c...2a18A297f
4.09923577 POL0.0109566330.07
Egress With Perm...743326632025-07-24 1:27:52115 days ago1753320472IN
0x21dd761c...2a18A297f
6.13321885 POL0.0107882130.00000015
Egress With Perm...714280192025-05-12 14:09:27188 days ago1747058967IN
0x21dd761c...2a18A297f
32.98307829 POL0.03814015109.81304593
Egress711675432025-05-06 3:59:53194 days ago1746503993IN
0x21dd761c...2a18A297f
1.38548338 POL0.0105201630.03023938
Egress With Perm...686716012025-03-05 9:52:41256 days ago1741168361IN
0x21dd761c...2a18A297f
7.73307389 POL0.0172726950.4284182
Egress With Perm...686579152025-03-05 1:34:51256 days ago1741138491IN
0x21dd761c...2a18A297f
8.14515239 POL0.0143963642.02839733
Egress With Perm...686576922025-03-05 1:26:57256 days ago1741138017IN
0x21dd761c...2a18A297f
8.14515239 POL0.0162297647.3807744
Egress With Perm...681799732025-02-21 4:05:06268 days ago1740110706IN
0x21dd761c...2a18A297f
7.58582475 POL0.0102755730.00000005
Egress With Perm...676437912025-02-07 11:20:50282 days ago1738927250IN
0x21dd761c...2a18A297f
10.2440177 POL0.1271218371.13796224
Egress With Perm...675946642025-02-06 5:11:53283 days ago1738818713IN
0x21dd761c...2a18A297f
7.1659592 POL0.0106906731.21009922
Egress With Perm...673691552025-01-31 13:10:43289 days ago1738329043IN
0x21dd761c...2a18A297f
1.0966339 POL0.0158851841.73821438
Egress With Perm...671652302025-01-26 11:19:09294 days ago1737890349IN
0x21dd761c...2a18A297f
13.6284589 POL0.0113614933.17040021
Egress With Perm...671022342025-01-24 21:37:41295 days ago1737754661IN
0x21dd761c...2a18A297f
31.80528394 POL0.0127487334.98296149
Egress With Perm...669106302025-01-20 1:29:30300 days ago1737336570IN
0x21dd761c...2a18A297f
290.39269795 POL0.08679879239.30301311
Egress With Perm...666355692025-01-13 4:58:06307 days ago1736744286IN
0x21dd761c...2a18A297f
8.51312171 POL0.1041885300.0000168
Egress With Perm...666352972025-01-13 4:48:28307 days ago1736743708IN
0x21dd761c...2a18A297f
12.01383414 POL0.10932511300.00169983
Egress With Perm...661846152025-01-01 15:46:30319 days ago1735746390IN
0x21dd761c...2a18A297f
1.26340104 POL0.0288901355.97214758
Egress With Perm...657320972024-12-21 0:13:43330 days ago1734740023IN
0x21dd761c...2a18A297f
32.37174728 POL0.05725745167.16187682
Egress With Perm...657056012024-12-20 8:33:18331 days ago1734683598IN
0x21dd761c...2a18A297f
55.1348264 POL0.13157363361.06629134
Egress With Perm...656830592024-12-19 18:56:35331 days ago1734634595IN
0x21dd761c...2a18A297f
286.32466689 POL0.11650023306.7095213
Egress With Perm...653789542024-12-12 4:51:14339 days ago1733979074IN
0x21dd761c...2a18A297f
47.55036047 POL0.0114217530.07000011
Egress With Perm...651763472024-12-07 2:29:06344 days ago1733538546IN
0x21dd761c...2a18A297f
36.81380298 POL0.0101069728.1050002
Egress With Perm...650702412024-12-04 11:01:37347 days ago1733310097IN
0x21dd761c...2a18A297f
53.77206697 POL0.0128093933.7264272
Egress With Perm...650164782024-12-03 2:53:07348 days ago1733194387IN
0x21dd761c...2a18A297f
45.83614275 POL0.0121299833.72935829
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
787523692025-11-08 13:46:598 days ago1762609619
0x21dd761c...2a18A297f
6.95298405 POL
763080512025-09-11 4:56:3166 days ago1757566591
0x21dd761c...2a18A297f
4.09923577 POL
743326632025-07-24 1:27:52115 days ago1753320472
0x21dd761c...2a18A297f
6.13321885 POL
714280192025-05-12 14:09:27188 days ago1747058967
0x21dd761c...2a18A297f
32.98307829 POL
711675432025-05-06 3:59:53194 days ago1746503993
0x21dd761c...2a18A297f
1.38548338 POL
708218822025-04-27 15:11:39203 days ago1745766699
0x21dd761c...2a18A297f
 Contract Creation0 POL
705269342025-04-20 8:37:09210 days ago1745138229
0x21dd761c...2a18A297f
 Contract Creation0 POL
686716012025-03-05 9:52:41256 days ago1741168361
0x21dd761c...2a18A297f
7.73307389 POL
686579152025-03-05 1:34:51256 days ago1741138491
0x21dd761c...2a18A297f
8.14515239 POL
686576922025-03-05 1:26:57256 days ago1741138017
0x21dd761c...2a18A297f
8.14515239 POL
681799732025-02-21 4:05:06268 days ago1740110706
0x21dd761c...2a18A297f
7.58582475 POL
676437912025-02-07 11:20:50282 days ago1738927250
0x21dd761c...2a18A297f
10.2440177 POL
675946642025-02-06 5:11:53283 days ago1738818713
0x21dd761c...2a18A297f
7.1659592 POL
673691552025-01-31 13:10:43289 days ago1738329043
0x21dd761c...2a18A297f
1.0966339 POL
671707862025-01-26 14:37:12294 days ago1737902232
0x21dd761c...2a18A297f
 Contract Creation0 POL
671696642025-01-26 13:56:57294 days ago1737899817
0x21dd761c...2a18A297f
 Contract Creation0 POL
671652302025-01-26 11:19:09294 days ago1737890349
0x21dd761c...2a18A297f
13.6284589 POL
671022342025-01-24 21:37:41295 days ago1737754661
0x21dd761c...2a18A297f
31.80528394 POL
669106302025-01-20 1:29:30300 days ago1737336570
0x21dd761c...2a18A297f
290.39269795 POL
666355692025-01-13 4:58:06307 days ago1736744286
0x21dd761c...2a18A297f
8.51312171 POL
666352972025-01-13 4:48:28307 days ago1736743708
0x21dd761c...2a18A297f
12.01383414 POL
661846152025-01-01 15:46:30319 days ago1735746390
0x21dd761c...2a18A297f
1.26340104 POL
657320972024-12-21 0:13:43330 days ago1734740023
0x21dd761c...2a18A297f
32.37174728 POL
657056012024-12-20 8:33:18331 days ago1734683598
0x21dd761c...2a18A297f
55.1348264 POL
656830592024-12-19 18:56:35331 days ago1734634595
0x21dd761c...2a18A297f
286.32466689 POL
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Diamond

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 4 : Diamond.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.14;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
*
* Implementation of a diamond.
/******************************************************************************/

import "./libraries/LibDiamond.sol";
import "./interfaces/IDiamondCut.sol";
import "./interfaces/IDiamondLoupe.sol";

contract Diamond {

    constructor(IDiamondCut.FacetCut[] memory _diamondCut, address _init, bytes memory _calldata) payable {
        LibDiamond.diamondCut(_diamondCut, _init, _calldata);
    }

    // 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;
        // get diamond storage
        assembly {
            ds.slot := position
        }
        // get facet from function selector
        address facet = address(bytes20(ds.facets[msg.sig]));
        require(facet != address(0), "Diamond: Function does not exist");
        // Execute external function from facet using delegatecall and return any value.
        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())
                }
        }
    }

    receive() external payable {}
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.14;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/
import { IDiamondCut } from "../interfaces/IDiamondCut.sol";

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

    struct DiamondStorage {
        // maps function selectors to the facets that execute the functions.
        // and maps the selectors to their position in the selectorSlots array.
        // func selector => address facet, selector position
        mapping(bytes4 => bytes32) facets;
        // array of slots of function selectors.
        // each slot holds 8 function selectors.
        mapping(uint256 => bytes32) selectorSlots;
        // The number of function selectors in selectorSlots
        uint16 selectorCount;
    }

    function diamondStorage() internal pure returns (DiamondStorage storage ds) {
        bytes32 position = DIAMOND_STORAGE_POSITION;
        assembly {
            ds.slot := position
        }
    }

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

    bytes32 constant CLEAR_ADDRESS_MASK = bytes32(uint256(0xffffffffffffffffffffffff));
    bytes32 constant CLEAR_SELECTOR_MASK = bytes32(uint256(0xffffffff << 224));

    // Internal function version of diamondCut
    // This code is almost the same as the external diamondCut,
    // except it is using 'Facet[] memory _diamondCut' instead of
    // 'Facet[] 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 {
        DiamondStorage storage ds = diamondStorage();
        uint256 originalSelectorCount = ds.selectorCount;
        uint256 selectorCount = originalSelectorCount;
        bytes32 selectorSlot;
        // Check if last selector slot is not full
        // "selectorCount & 7" is a gas efficient modulo by eight "selectorCount % 8"
        if (selectorCount & 7 > 0) {
            // get last selectorSlot
            // "selectorSlot >> 3" is a gas efficient division by 8 "selectorSlot / 8"
            selectorSlot = ds.selectorSlots[selectorCount >> 3];
        }
        // loop through diamond cut
        for (uint256 facetIndex = 0; facetIndex < _diamondCut.length;) {
            (selectorCount, selectorSlot) = addReplaceRemoveFacetSelectors(
                selectorCount,
                selectorSlot,
                _diamondCut[facetIndex].facetAddress,
                _diamondCut[facetIndex].action,
                _diamondCut[facetIndex].functionSelectors
            );
            unchecked { facetIndex += 1; }
        }
        if (selectorCount != originalSelectorCount) {
            ds.selectorCount = uint16(selectorCount);
        }
        // If last selector slot is not full
        // "selectorCount & 7" is a gas efficient modulo by eight "selectorCount % 8"
        if (selectorCount & 7 > 0) {
            // "selectorSlot >> 3" is a gas efficient division by 8 "selectorSlot / 8"
            ds.selectorSlots[selectorCount >> 3] = selectorSlot;
        }
        emit DiamondCut(_diamondCut, _init, _calldata);
        initializeDiamondCut(_init, _calldata);
    }

    function addReplaceRemoveFacetSelectors(
        uint256 _selectorCount,
        bytes32 _selectorSlot,
        address _newFacetAddress,
        IDiamondCut.FacetCutAction _action,
        bytes4[] memory _selectors
    ) internal returns (uint256, bytes32) {
        DiamondStorage storage ds = diamondStorage();
        require(_selectors.length > 0, "LibDiamondCut: No selectors in facet to cut");
        if (_action == IDiamondCut.FacetCutAction.Add) {
            enforceHasContractCode(_newFacetAddress, "LibDiamondCut: Add facet has no code");
            for (uint256 selectorIndex = 0; selectorIndex < _selectors.length;) {
                bytes4 selector = _selectors[selectorIndex];
                bytes32 oldFacet = ds.facets[selector];
                require(address(bytes20(oldFacet)) == address(0), "LibDiamondCut: Can't add function that already exists");
                // add facet for selector
                ds.facets[selector] = bytes20(_newFacetAddress) | bytes32(_selectorCount);
                // "_selectorCount & 7" is a gas efficient modulo by eight "_selectorCount % 8"
                uint256 selectorInSlotPosition = (_selectorCount & 7) << 5;
                // clear selector position in slot and add selector
                _selectorSlot = (_selectorSlot & ~(CLEAR_SELECTOR_MASK >> selectorInSlotPosition)) | (bytes32(selector) >> selectorInSlotPosition);
                // if slot is full then write it to storage
                if (selectorInSlotPosition == 224) {
                    // "_selectorSlot >> 3" is a gas efficient division by 8 "_selectorSlot / 8"
                    ds.selectorSlots[_selectorCount >> 3] = _selectorSlot;
                    _selectorSlot = 0;
                }
                _selectorCount++;
                unchecked { selectorIndex += 1; }
            }
        } else if (_action == IDiamondCut.FacetCutAction.Replace) {
            enforceHasContractCode(_newFacetAddress, "LibDiamondCut: Replace facet has no code");
            for (uint256 selectorIndex = 0; selectorIndex < _selectors.length;) {
                bytes4 selector = _selectors[selectorIndex];
                bytes32 oldFacet = ds.facets[selector];
                address oldFacetAddress = address(bytes20(oldFacet));
                // only useful if immutable functions exist
                require(oldFacetAddress != address(this), "LibDiamondCut: Can't replace immutable function");
                require(oldFacetAddress != _newFacetAddress, "LibDiamondCut: Can't replace function with same function");
                require(oldFacetAddress != address(0), "LibDiamondCut: Can't replace function that doesn't exist");
                // replace old facet address
                ds.facets[selector] = (oldFacet & CLEAR_ADDRESS_MASK) | bytes20(_newFacetAddress);
                unchecked { selectorIndex += 1; }
            }
        } else if (_action == IDiamondCut.FacetCutAction.Remove) {
            require(_newFacetAddress == address(0), "LibDiamondCut: Remove facet address must be address(0)");
            // "_selectorCount >> 3" is a gas efficient division by 8 "_selectorCount / 8"
            uint256 selectorSlotCount = _selectorCount >> 3;
            // "_selectorCount & 7" is a gas efficient modulo by eight "_selectorCount % 8"
            uint256 selectorInSlotIndex = _selectorCount & 7;
            for (uint256 selectorIndex = 0; selectorIndex < _selectors.length;) {
                if (_selectorSlot == 0) {
                    // get last selectorSlot
                    selectorSlotCount--;
                    _selectorSlot = ds.selectorSlots[selectorSlotCount];
                    selectorInSlotIndex = 7;
                } else {
                    selectorInSlotIndex--;
                }
                bytes4 lastSelector;
                uint256 oldSelectorsSlotCount;
                uint256 oldSelectorInSlotPosition;
                // adding a block here prevents stack too deep error
                {
                    bytes4 selector = _selectors[selectorIndex];
                    bytes32 oldFacet = ds.facets[selector];
                    require(address(bytes20(oldFacet)) != address(0), "LibDiamondCut: Can't remove function that doesn't exist");
                    // only useful if immutable functions exist
                    require(address(bytes20(oldFacet)) != address(this), "LibDiamondCut: Can't remove immutable function");
                    // replace selector with last selector in ds.facets
                    // gets the last selector
                    lastSelector = bytes4(_selectorSlot << (selectorInSlotIndex << 5));
                    if (lastSelector != selector) {
                        // update last selector slot position info
                        ds.facets[lastSelector] = (oldFacet & CLEAR_ADDRESS_MASK) | bytes20(ds.facets[lastSelector]);
                    }
                    delete ds.facets[selector];
                    uint256 oldSelectorCount = uint16(uint256(oldFacet));
                    // "oldSelectorCount >> 3" is a gas efficient division by 8 "oldSelectorCount / 8"
                    oldSelectorsSlotCount = oldSelectorCount >> 3;
                    // "oldSelectorCount & 7" is a gas efficient modulo by eight "oldSelectorCount % 8"
                    oldSelectorInSlotPosition = (oldSelectorCount & 7) << 5;
                }
                if (oldSelectorsSlotCount != selectorSlotCount) {
                    bytes32 oldSelectorSlot = ds.selectorSlots[oldSelectorsSlotCount];
                    // clears the selector we are deleting and puts the last selector in its place.
                    oldSelectorSlot =
                        (oldSelectorSlot & ~(CLEAR_SELECTOR_MASK >> oldSelectorInSlotPosition)) |
                        (bytes32(lastSelector) >> oldSelectorInSlotPosition);
                    // update storage with the modified slot
                    ds.selectorSlots[oldSelectorsSlotCount] = oldSelectorSlot;
                } else {
                    // clears the selector we are deleting and puts the last selector in its place.
                    _selectorSlot =
                        (_selectorSlot & ~(CLEAR_SELECTOR_MASK >> oldSelectorInSlotPosition)) |
                        (bytes32(lastSelector) >> oldSelectorInSlotPosition);
                }
                if (selectorInSlotIndex == 0) {
                    delete ds.selectorSlots[selectorSlotCount];
                    _selectorSlot = 0;
                }
                unchecked { selectorIndex += 1; }
            }
            _selectorCount = selectorSlotCount * 8 + selectorInSlotIndex;
        } else {
            revert("LibDiamondCut: Incorrect FacetCutAction");
        }
        return (_selectorCount, _selectorSlot);
    }

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

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

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

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

    struct FacetCut {
        address facetAddress;
        FacetCutAction action;
        bytes4[] functionSelectors;
    }

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.14;

/******************************************************************************\
* Author: Nick Mudge <[email protected]> (https://twitter.com/mudgen)
* EIP-2535 Diamonds: https://eips.ethereum.org/EIPS/eip-2535
/******************************************************************************/

// A loupe is a small magnifying glass used to look at diamonds.
// These functions look at diamonds
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_);
}

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

Contract Security Audit

Contract ABI

API
[{"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":"_init","type":"address"},{"internalType":"bytes","name":"_calldata","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

60806040526040516200213838038062002138833981016040819052620000269162000d57565b6200003e8383836200004760201b620000c21760201c565b50505062001154565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e54600080516020620020a48339815191529061ffff811690819060009060071615620000a65750600381901c60009081526001840160205260409020545b60005b875181101562000136576200012883838a8481518110620000ce57620000ce62000f30565b6020026020010151600001518b8581518110620000ef57620000ef62000f30565b6020026020010151602001518c868151811062000110576200011062000f30565b602002602001015160400151620001c860201b60201c565b9093509150600101620000a9565b50828214620001535760028401805461ffff191661ffff84161790555b60078216156200017657600382901c600090815260018501602052604090208190555b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673878787604051620001ab9392919062000f8a565b60405180910390a1620001bf8686620009b4565b50505050505050565b60008080600080516020620020a483398151915290506000845111620002495760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b60648201526084015b60405180910390fd5b600085600281111562000260576200026062000f46565b03620003dc576200028b86604051806060016040528060248152602001620020c46024913962000bd9565b60005b8451811015620003d5576000858281518110620002af57620002af62000f30565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c15620003525760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c7265616479206578697374730000000000000000000000606482015260840162000240565b6001600160e01b031980831660008181526020879052604090206001600160601b031960608d901b168e17905560e060058e901b811692831c199c909c1690821c179a819003620003b75760038c901c600090815260018601602052604081209b909b555b8b620003c381620010a7565b9c50506001840193505050506200028e565b50620009a8565b6001856002811115620003f357620003f362000f46565b0362000600576200041e86604051806060016040528060288152602001620021106028913962000bd9565b60005b8451811015620003d557600085828151811062000442576200044262000f30565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c308103620004d95760405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e2774207265706c61636520696d6d60448201526e3aba30b1363290333ab731ba34b7b760891b606482015260840162000240565b896001600160a01b0316816001600160a01b031603620005515760405162461bcd60e51b815260206004820152603860248201526000805160206200208483398151915260448201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606482015260840162000240565b6001600160a01b038116620005be5760405162461bcd60e51b815260206004820152603860248201526000805160206200208483398151915260448201527f6374696f6e207468617420646f65736e27742065786973740000000000000000606482015260840162000240565b506001600160e01b031990911660009081526020849052604090206001600160601b03919091166001600160601b031960608a901b1617905560010162000421565b600285600281111562000617576200061762000f46565b036200094f576001600160a01b038616156200069c5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d757374206265206164647265737328302900000000000000000000606482015260840162000240565b600388901c6007891660005b86518110156200092a5760008a9003620006e95782620006c881620010c3565b60008181526001870160205260409020549b50935060079250620006f99050565b81620006f581620010c3565b9250505b6000806000808a858151811062000714576200071462000f30565b6020908102919091018101516001600160e01b031981166000908152918a9052604090912054909150606081901c620007b65760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e2774206578697374000000000000000000606482015260840162000240565b30606082901c03620008225760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b606482015260840162000240565b600587901b8f901b94506001600160e01b03198086169083161462000874576001600160e01b03198516600090815260208a90526040902080546001600160601b0319166001600160601b0383161790555b6001600160e01b031991909116600090815260208990526040812055600381901c611fff16925060051b60e0169050858214620008db576000828152600188016020526040902080546001600160e01b031980841c19909116908516831c179055620008ff565b80836001600160e01b031916901c816001600160e01b031960001b901c198e16179c505b846000036200091e57600086815260018801602052604081208190559c505b505050600101620006a8565b508062000939836008620010dd565b620009459190620010ff565b99505050620009a8565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b606482015260840162000240565b50959694955050505050565b6001600160a01b03821662000a3e5780511562000a3a5760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d70747900000000606482015260840162000240565b5050565b600081511162000ab75760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f742061646472657373283029000000606482015260840162000240565b6001600160a01b038216301462000aed5762000aed82604051806060016040528060288152602001620020e86028913962000bd9565b600080836001600160a01b03168360405162000b0a91906200111a565b600060405180830381855af49150503d806000811462000b47576040519150601f19603f3d011682016040523d82523d6000602084013e62000b4c565b606091505b50915091508162000bd35780511562000b7b578060405162461bcd60e51b815260040162000240919062001138565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b606482015260840162000240565b50505050565b813b818162000bd35760405162461bcd60e51b815260040162000240919062001138565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171562000c385762000c3862000bfd565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000c695762000c6962000bfd565b604052919050565b60006001600160401b0382111562000c8d5762000c8d62000bfd565b5060051b60200190565b80516001600160a01b038116811462000caf57600080fd5b919050565b60005b8381101562000cd157818101518382015260200162000cb7565b8381111562000bd35750506000910152565b600082601f83011262000cf557600080fd5b81516001600160401b0381111562000d115762000d1162000bfd565b62000d26601f8201601f191660200162000c3e565b81815284602083860101111562000d3c57600080fd5b62000d4f82602083016020870162000cb4565b949350505050565b60008060006060848603121562000d6d57600080fd5b83516001600160401b038082111562000d8557600080fd5b818601915086601f83011262000d9a57600080fd5b815162000db162000dab8262000c71565b62000c3e565b8082825260208201915060208360051b86010192508983111562000dd457600080fd5b602085015b8381101562000eec5780518581111562000df257600080fd5b86016060818d03601f1901121562000e0957600080fd5b62000e1362000c13565b62000e216020830162000c97565b815260408201516003811062000e3657600080fd5b602082015260608201518781111562000e4e57600080fd5b8083019250508c603f83011262000e6457600080fd5b602082015162000e7862000dab8262000c71565b81815260059190911b83016040019060208101908f83111562000e9a57600080fd5b6040850194505b8285101562000ed55784516001600160e01b03198116811462000ec357600080fd5b82526020948501949091019062000ea1565b604084015250508452506020928301920162000dd9565b50965062000f009150506020870162000c97565b9350604086015191508082111562000f1757600080fd5b5062000f268682870162000ce3565b9150509250925092565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b6000815180845262000f7681602086016020860162000cb4565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156200105f57898403607f19018652815180516001600160a01b0316855283810151898601906003811062000ffb57634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015620010495783516001600160e01b03191682529286019260019290920191908601906200101d565b5097850197955050509082019060010162000fb3565b50506001600160a01b038a1690880152868103604088015262001083818962000f5c565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201620010bc57620010bc62001091565b5060010190565b600081620010d557620010d562001091565b506000190190565b6000816000190483118215151615620010fa57620010fa62001091565b500290565b6000821982111562001115576200111562001091565b500190565b600082516200112e81846020870162000cb4565b9190910192915050565b6020815260006200114d602083018462000f5c565b9392505050565b610f2080620011646000396000f3fe60806040523661000b57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819060601c8061009e5760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100bd573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9061ffff8116908190600090600716156101315750600381901c60009081526001840160205260409020545b60005b87518110156101ae576101a183838a848151811061015457610154610c3f565b6020026020010151600001518b858151811061017257610172610c3f565b6020026020010151602001518c868151811061019057610190610c3f565b60200260200101516040015161023a565b9093509150600101610134565b508282146101ca5760028401805461ffff191661ffff84161790555b60078216156101ec57600382901c600090815260018501602052604090208190555b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67387878760405161021f93929190610cc3565b60405180910390a16102318686610a0b565b50505050505050565b600080807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905060008451116102c65760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401610095565b60008560028111156102da576102da610c55565b0361043f5761030186604051806060016040528060248152602001610e7760249139610c1e565b60005b845181101561043957600085828151811061032157610321610c3f565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c156103ba5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f6044820152746e207468617420616c72656164792065786973747360581b6064820152608401610095565b6001600160e01b031980831660008181526020879052604090206001600160601b031960608d901b168e17905560e060058e901b811692831c199c909c1690821c179a81900361041e5760038c901c600090815260018601602052604081209b909b555b8b61042881610dd9565b9c5050600184019350505050610304565b506109ff565b600185600281111561045357610453610c55565b036106785761047a86604051806060016040528060288152602001610ec360289139610c1e565b60005b845181101561043957600085828151811061049a5761049a610c3f565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c30810361052f5760405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e2774207265706c61636520696d6d60448201526e3aba30b1363290333ab731ba34b7b760891b6064820152608401610095565b896001600160a01b0316816001600160a01b0316036105b65760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401610095565b6001600160a01b0381166106325760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e207468617420646f65736e277420657869737400000000000000006064820152608401610095565b506001600160e01b031990911660009081526020849052604090206bffffffffffffffffffffffff919091166001600160601b031960608a901b1617905560010161047d565b600285600281111561068c5761068c610c55565b036109a7576001600160a01b038616156107075760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f76652066616365742061646472604482015275657373206d757374206265206164647265737328302960501b6064820152608401610095565b600388901c6007891660005b86518110156109875760008a900361074f578261072f81610df2565b60008181526001870160205260409020549b5093506007925061075d9050565b8161075981610df2565b9250505b6000806000808a858151811061077557610775610c3f565b6020908102919091018101516001600160e01b031981166000908152918a9052604090912054909150606081901c6108155760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401610095565b30606082901c0361087f5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401610095565b600587901b8f901b94506001600160e01b0319808616908316146108d5576001600160e01b03198516600090815260208a90526040902080546001600160601b0319166bffffffffffffffffffffffff83161790555b6001600160e01b031991909116600090815260208990526040812055600381901c611fff16925060051b60e016905085821461093a576000828152600188016020526040902080546001600160e01b031980841c19909116908516831c17905561095e565b80836001600160e01b031916901c816001600160e01b031960001b901c198e16179c505b8460000361097c57600086815260018801602052604081208190559c505b505050600101610713565b5080610994836008610e09565b61099e9190610e28565b995050506109ff565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608401610095565b50959694955050505050565b6001600160a01b038216610a9257805115610a8e5760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608401610095565b5050565b6000815111610b095760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f7420616464726573732830290000006064820152608401610095565b6001600160a01b0382163014610b3b57610b3b82604051806060016040528060288152602001610e9b60289139610c1e565b600080836001600160a01b031683604051610b569190610e40565b600060405180830381855af49150503d8060008114610b91576040519150601f19603f3d011682016040523d82523d6000602084013e610b96565b606091505b509150915081610c1857805115610bc1578060405162461bcd60e51b81526004016100959190610e5c565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b6064820152608401610095565b50505050565b813b8181610c185760405162461bcd60e51b81526004016100959190610e5c565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60005b83811015610c86578181015183820152602001610c6e565b83811115610c185750506000910152565b60008151808452610caf816020860160208601610c6b565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015610d9357898403607f19018652815180516001600160a01b03168552838101518986019060038110610d3257634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015610d7e5783516001600160e01b0319168252928601926001929092019190860190610d54565b50978501979550505090820190600101610cec565b50506001600160a01b038a16908801528681036040880152610db58189610c97565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201610deb57610deb610dc3565b5060010190565b600081610e0157610e01610dc3565b506000190190565b6000816000190483118215151615610e2357610e23610dc3565b500290565b60008219821115610e3b57610e3b610dc3565b500190565b60008251610e52818460208701610c6b565b9190910192915050565b602081526000610e6f6020830184610c97565b939250505056fe4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f6465a2646970667358221220cca2c8eca40d9433908d3cbf0f1bb135ff83ac06d788bc229a15f07cdbb0dbfd64736f6c634300080e00334c69624469616d6f6e644375743a2043616e2774207265706c6163652066756ec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f646500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000794e8c7e651a3daeaa4c5ea10a482830d8335bfc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040523661000b57005b600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819060601c8061009e5760405162461bcd60e51b815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100bd573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c9061ffff8116908190600090600716156101315750600381901c60009081526001840160205260409020545b60005b87518110156101ae576101a183838a848151811061015457610154610c3f565b6020026020010151600001518b858151811061017257610172610c3f565b6020026020010151602001518c868151811061019057610190610c3f565b60200260200101516040015161023a565b9093509150600101610134565b508282146101ca5760028401805461ffff191661ffff84161790555b60078216156101ec57600382901c600090815260018501602052604090208190555b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67387878760405161021f93929190610cc3565b60405180910390a16102318686610a0b565b50505050505050565b600080807fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c905060008451116102c65760405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401610095565b60008560028111156102da576102da610c55565b0361043f5761030186604051806060016040528060248152602001610e7760249139610c1e565b60005b845181101561043957600085828151811061032157610321610c3f565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c156103ba5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f6044820152746e207468617420616c72656164792065786973747360581b6064820152608401610095565b6001600160e01b031980831660008181526020879052604090206001600160601b031960608d901b168e17905560e060058e901b811692831c199c909c1690821c179a81900361041e5760038c901c600090815260018601602052604081209b909b555b8b61042881610dd9565b9c5050600184019350505050610304565b506109ff565b600185600281111561045357610453610c55565b036106785761047a86604051806060016040528060288152602001610ec360289139610c1e565b60005b845181101561043957600085828151811061049a5761049a610c3f565b6020908102919091018101516001600160e01b03198116600090815291859052604090912054909150606081901c30810361052f5760405162461bcd60e51b815260206004820152602f60248201527f4c69624469616d6f6e644375743a2043616e2774207265706c61636520696d6d60448201526e3aba30b1363290333ab731ba34b7b760891b6064820152608401610095565b896001600160a01b0316816001600160a01b0316036105b65760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401610095565b6001600160a01b0381166106325760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e207468617420646f65736e277420657869737400000000000000006064820152608401610095565b506001600160e01b031990911660009081526020849052604090206bffffffffffffffffffffffff919091166001600160601b031960608a901b1617905560010161047d565b600285600281111561068c5761068c610c55565b036109a7576001600160a01b038616156107075760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f76652066616365742061646472604482015275657373206d757374206265206164647265737328302960501b6064820152608401610095565b600388901c6007891660005b86518110156109875760008a900361074f578261072f81610df2565b60008181526001870160205260409020549b5093506007925061075d9050565b8161075981610df2565b9250505b6000806000808a858151811061077557610775610c3f565b6020908102919091018101516001600160e01b031981166000908152918a9052604090912054909150606081901c6108155760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401610095565b30606082901c0361087f5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401610095565b600587901b8f901b94506001600160e01b0319808616908316146108d5576001600160e01b03198516600090815260208a90526040902080546001600160601b0319166bffffffffffffffffffffffff83161790555b6001600160e01b031991909116600090815260208990526040812055600381901c611fff16925060051b60e016905085821461093a576000828152600188016020526040902080546001600160e01b031980841c19909116908516831c17905561095e565b80836001600160e01b031916901c816001600160e01b031960001b901c198e16179c505b8460000361097c57600086815260018801602052604081208190559c505b505050600101610713565b5080610994836008610e09565b61099e9190610e28565b995050506109ff565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608401610095565b50959694955050505050565b6001600160a01b038216610a9257805115610a8e5760405162461bcd60e51b815260206004820152603c60248201527f4c69624469616d6f6e644375743a205f696e697420697320616464726573732860448201527f3029206275745f63616c6c64617461206973206e6f7420656d707479000000006064820152608401610095565b5050565b6000815111610b095760405162461bcd60e51b815260206004820152603d60248201527f4c69624469616d6f6e644375743a205f63616c6c6461746120697320656d707460448201527f7920627574205f696e6974206973206e6f7420616464726573732830290000006064820152608401610095565b6001600160a01b0382163014610b3b57610b3b82604051806060016040528060288152602001610e9b60289139610c1e565b600080836001600160a01b031683604051610b569190610e40565b600060405180830381855af49150503d8060008114610b91576040519150601f19603f3d011682016040523d82523d6000602084013e610b96565b606091505b509150915081610c1857805115610bc1578060405162461bcd60e51b81526004016100959190610e5c565b60405162461bcd60e51b815260206004820152602660248201527f4c69624469616d6f6e644375743a205f696e69742066756e6374696f6e2072656044820152651d995c9d195960d21b6064820152608401610095565b50505050565b813b8181610c185760405162461bcd60e51b81526004016100959190610e5c565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60005b83811015610c86578181015183820152602001610c6e565b83811115610c185750506000910152565b60008151808452610caf816020860160208601610c6b565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015610d9357898403607f19018652815180516001600160a01b03168552838101518986019060038110610d3257634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015610d7e5783516001600160e01b0319168252928601926001929092019190860190610d54565b50978501979550505090820190600101610cec565b50506001600160a01b038a16908801528681036040880152610db58189610c97565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201610deb57610deb610dc3565b5060010190565b600081610e0157610e01610dc3565b506000190190565b6000816000190483118215151615610e2357610e23610dc3565b500290565b60008219821115610e3b57610e3b610dc3565b500190565b60008251610e52818460208701610c6b565b9190910192915050565b602081526000610e6f6020830184610c97565b939250505056fe4c69624469616d6f6e644375743a2041646420666163657420686173206e6f20636f64654c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a205265706c61636520666163657420686173206e6f20636f6465a2646970667358221220cca2c8eca40d9433908d3cbf0f1bb135ff83ac06d788bc229a15f07cdbb0dbfd64736f6c634300080e0033

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

00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000794e8c7e651a3daeaa4c5ea10a482830d8335bfc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _diamondCut (tuple[]):
Arg [1] : facetAddress (address): 0x794e8c7E651a3daEaa4C5EA10A482830D8335BFc
Arg [2] : action (uint8): 0
Arg [3] : functionSelectors (bytes4[]): 0x1f931c1

Arg [1] : _init (address): 0x0000000000000000000000000000000000000000
Arg [2] : _calldata (bytes): 0x

-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [5] : 000000000000000000000000794e8c7e651a3daeaa4c5ea10a482830d8335bfc
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [9] : 1f931c1c00000000000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x21dd761cac8461a68344F40D2F12E172a18A297f
Chain Token Portfolio % Price Amount Value
ETH47.92%$0.07680817,841,012.1859$1,370,332.46
ETH15.35%$0.00847151,815,606.8035$438,919.12
ETH5.64%$0.001517106,252,316.0414$161,139.07
ETH5.50%$0.0000364,364,788,644.7572$157,306.98
ETH0.48%$0.027071502,609.8185$13,606.24
ETH0.34%$4,093.312.402$9,832.27
ETH0.14%$3,057.981.3425$4,105.46
ETH0.08%$0.0003656,002,869.9099$2,190.21
ETH0.05%$0.9997531,293.4955$1,293.18
ETH0.02%$0.765043561.3417$429.45
ETH<0.01%$0.999751150.5$150.46
ETH<0.01%$94,6480.001$94.65
ETH<0.01%$13.712.3$31.53
ETH<0.01%$0.99965418.6919$18.69
ETH<0.01%$7.281.4001$10.19
ETH<0.01%$0.0005673,630.4747$2.06
AVAX24.30%$0.006045114,965,560.7113$694,944.76
AVAX0.02%$3,087.460.1453$448.55
AVAX<0.01%$0.99953364.9504$64.92
AVAX<0.01%$14.781.1705$17.3
AVAX<0.01%$0.99994110$10
AVAX<0.01%$0.0012371,119.3333$1.38
AVAX<0.01%$0.9999191.002$1
BSC0.04%$917.051.2909$1,183.81
BSC0.01%$3,079.640.1287$396.39
BSC0.01%$0.999786385.6164$385.53
BSC<0.01%$920.280.2272$209.12
BSC<0.01%$0.999941193.7231$193.71
BSC<0.01%$0.01164,827.62$56
BSC<0.01%$12$2
BSC<0.01%$2.350.139$0.3267
BSC<0.01%$2.750.1$0.2753
POL0.03%$0.99971886.0489$885.79
POL0.02%$0.2954122,141.2488$632.55
POL0.01%$0.1772611,687.2588$299.09
POL<0.01%$0.99980416$16
POL<0.01%$0.15004789.8449$13.48
POL<0.01%$0.042616100$4.26
POL<0.01%$0.9996792$2
POL
Polygon (POL)
<0.01%$0.14876910.0707$1.5
POL<0.01%$0.999711$0.9997
POL<0.01%$0.01253811$0.1379
ARB<0.01%$3,055.770.0646$197.49
ARB<0.01%$0.99970750$49.99
ARB<0.01%$0.99980119.9999$20
ARB<0.01%$13.61$13.6
ARB<0.01%$0.2309981.2$0.2771
BASE<0.01%$3,057.190.00192015$5.87
OP<0.01%$3,063.720.00060374$1.85
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.