Contract 0xd17584633bc8d190e5a14502976dad9640456d6d 4

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb6425393745959e08458c34a95a762435f19b5b31090d436e4d5c69bc4507013Transfer From486461782022-10-07 17:49:575 hrs 14 mins ago0x0bb31ed44a211a384cd23f5d0792618544c10a69 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.000129605035
0xf2e11906d2eb299913caaee767244318389123c55bb20c3f0af689eab889d7aeTransfer479036512022-09-28 1:08:369 days 21 hrs ago0xf22c28203b07bcce542f5cef668b4c23e25d4ff8 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.0009907625
0x5ffe9869fb9a0a6bdc356beec88b2f843b9e0a09cb98b045ca5d2c2653e7fbbaApprove469968312022-09-15 16:28:4422 days 6 hrs ago0xc1178b76f090f08bfca55cfbae4f08bd016dce98 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.000119144664
0x8f8671ce5340c5bfdb2769854a94fe6b184ef65052410b9425ed601eee24151fApprove469967132022-09-15 16:25:5622 days 6 hrs ago0xc1178b76f090f08bfca55cfbae4f08bd016dce98 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.000165088626
0x8cbd6c4ee1950e48de6ecc33f4f9627805386e3df1ff10e7a452d42442a33b6fTransfer465104002022-09-07 4:13:1430 days 18 hrs ago0x700e6034120b4d1637cb0565a5e6646d2c408cfe IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.02634784
0x041cac7bf37da710821bfebb11fa9fd2f5d9db6577d9135bf0b60d2115a71795Approve444937362022-08-08 19:03:2160 days 4 hrs ago0xb32594def79c39da0d7333cb6dee5abfd113ce87 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.000287921541
0xc902c3272b5a687d82fd98567e14ec34f932a677cb89ec2a134f4ea6f76681cbTransfer442246252022-08-04 19:09:1664 days 3 hrs ago0xc274d9e1df5051b353466fc0f5dc4c976bee310e IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.014918749227
0x4f0ba08576f02d8dc7edbf319df38abe82d5c251673150459f736e43c25a8509Transfer441789412022-08-04 2:38:4864 days 20 hrs ago0xb513bac41e863ec403cab1aecf8a2e954b467bba IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.008437491504
0x3ed7d8cde996bed237f3c09eaff47f97ec32810ecad36235425a45f16bf3b047Transfer441788702022-08-04 2:36:5064 days 20 hrs ago0xb513bac41e863ec403cab1aecf8a2e954b467bba IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.000437048544
0x9be4aae5f7079bdee6588afafa4b28864a699b6108dd99a508f45f58031a102fTransfer438521102022-07-30 9:39:1569 days 13 hrs ago0x777336ae2cef9ddc261a61a97cbfb4e0aa7d1329 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.000177416667
0xbdb7aedc17ccf9eb9263fe0b09abb5ffd9452615bded6c0cad2102bb819531beApprove420220362022-07-04 20:23:4695 days 2 hrs ago0xfe8d16f196a2b6dce65d321757d7bd0afc248166 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.000156175
0x54e68facbb4befbf0599752d13eac49cab073961b32c5cd85dab0ab309fc6877Transfer419974692022-07-04 12:52:5495 days 10 hrs ago0xc8575b10e117e5f749eb19ea9213cbc8fca3b124 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.000310798287
0xb851bdf3ec3f55aea9aa2052115d27a523a254f310c8f2c2d338d69ab5b9c5c3Transfer407709382022-06-18 6:33:58111 days 16 hrs ago0xe83f68de813eef38802d99bbd440958191f52cee IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.012239904
0xfcb945f897a374f0bd2c5a95c4243305ef467450de75eef28381aa7a7449e93dTransfer407695352022-06-18 6:07:19111 days 16 hrs ago0x60464d2e527c78252853e1d60ae6ba3071aea9aa IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.012239904
0xeeb499c42034467fb31adb0c4e24064590d2da7d30b8ff14952ee306ca8530aeTransfer406480982022-06-16 13:18:25113 days 9 hrs ago0x777336ae2cef9ddc261a61a97cbfb4e0aa7d1329 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.049598515709
0xfb5a18774397451055394ecf5db4f79d96cceed391edd8834864bbd503b00370Transfer406478922022-06-16 13:14:45113 days 9 hrs ago0x777336ae2cef9ddc261a61a97cbfb4e0aa7d1329 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.00252197539
0x47c4871ba1414f2a7ba96e17bfb9208f72390587ff580bb6eeee8960006db18eTransfer406016572022-06-15 22:03:59114 days 1 hr ago0x777336ae2cef9ddc261a61a97cbfb4e0aa7d1329 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.013202196747
0x97e613073ad0032bec0e7a0831fb1555f7a521f347bd1b738ee82a5298ef7f10Transfer405747832022-06-15 13:00:07114 days 10 hrs ago0x36ed2d4791f7ea7c6d3769c9e51a74c5eec021a5 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.008445508691
0xf9392e7f0ac4693fd0d63111463f3c6bdc97b23157f02bb0f5a428c21a4216d8Approve405745202022-06-15 12:55:22114 days 10 hrs ago0x36ed2d4791f7ea7c6d3769c9e51a74c5eec021a5 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.006938412598
0x78605ea4e70efd1f00a0414f489c8a8de4444a0249542a182f7dd2f2643966c9Transfer405741682022-06-15 12:48:57114 days 10 hrs ago0x216713f16a9ca9ad87a62aec913cb756ace2ddd5 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.014718551966
0x6462ef8f2bfedce88e994c0777a9d81c595ba1da8a7fbb485310e46627d07f8aTransfer405739752022-06-15 12:45:21114 days 10 hrs ago0x36ed2d4791f7ea7c6d3769c9e51a74c5eec021a5 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.026262080027
0x4b2ea32a3534943c5c814bf2ca30b664d53ec4e1a993ef163ebfba5ed9dda55aTransfer405738942022-06-15 12:43:20114 days 10 hrs ago0x36ed2d4791f7ea7c6d3769c9e51a74c5eec021a5 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.015510975072
0xff4c336e28d8c968eb2c396fb57db3f449998cfc9ff4dd6d0dbbcb7aa05894d0Approve405736752022-06-15 12:39:08114 days 10 hrs ago0x36ed2d4791f7ea7c6d3769c9e51a74c5eec021a5 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.008208367719
0xef70634523bd9efea5cf703105b153453d3d20f97f99f3365aedc5f0ad2cec10Transfer405736032022-06-15 12:37:54114 days 10 hrs ago0x216713f16a9ca9ad87a62aec913cb756ace2ddd5 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.016644678565
0x0ed56094e136fed718c964fa59318b94bc3056dd6b41145c0203241b36f6cc5fTransfer405730232022-06-15 12:27:04114 days 10 hrs ago0x36ed2d4791f7ea7c6d3769c9e51a74c5eec021a5 IN  0xd17584633bc8d190e5a14502976dad9640456d6d0 FTM0.011206452224
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xe6823a14251c903cfb59ac4c3c4727fbc9a369d5faa09217a845c4eb542f793a187323892021-10-10 6:06:27362 days 16 hrs ago 0x9de2b19deadbeefb821d00c39289919dd5313566  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Tangle

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 99999 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at FtmScan.com on 2021-10-10
*/

// SPDX-License-Identifier: GPL-3.0

pragma solidity ^0.8.9;

/// @title Tangle, a token implementation using EIP-2535: Multi-Facet Proxy
/// @author Brad Brown
/// @notice Pieces of this contract can be updated without needing to redeploy
/// the entire contract
/// @dev implements IDiamondCut and IDiamondLoupe
contract Tangle {

    mapping(bytes4 => address) private selectorToAddress;
    /// @notice The owner of this contract
    address public owner;

    enum FacetCutAction {Add, Replace, Remove}
    struct FacetCut {
        address facetAddress;
        FacetCutAction action;
        bytes4[] functionSelectors;
    }
    struct Facet {
        address facetAddress;
        bytes4[] functionSelectors;
    }

    address[] private addresses;
    mapping(address => uint) private addressIndex;
    mapping(address => bytes4[]) private addressToSelectors;
    mapping(bytes4 => uint) private selectorIndex;

    /// @notice Records all functions added, replaced, or removed from this
    /// contract
    event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata);

    /// @notice set owner to deployer
    constructor() {
        owner = msg.sender;
    }

    /// @notice payable fallback, does nothing
    receive() external payable {}

    /// @notice executes calldata via delegatecall to address if
    /// calldata's selector is assigned
    /// @dev Input is calldata
    /// @return bytes response from delegatecall
    fallback (bytes calldata) external payable returns (bytes memory) {
        address address_ = selectorToAddress[msg.sig];
        require(address_ != address(0), "zero facet");
        assembly {
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(
                gas(),
                address_,
                0,
                calldatasize(),
                0,
                0
            )
            returndatacopy(0, 0, returndatasize())
            switch result
                case 0 { revert(0, returndatasize()) }
                default { return (0, returndatasize()) }
        }
    }

    /// @notice checks if an address is in use as a facet
    /// @param address_ an address to a facet
    /// @return bool whether the address is in use or not
    function facetAddressExists(address address_)
        internal
        view
        returns
        (bool)
    {
        if (addresses.length == 0)
            return false;
        if (addresses[0] != address_ && addressIndex[address_] == 0)
            return false;
        return true;
    }

    /// @notice assigns a selector to an address, revert if selector already
    /// assigned
    /// @param selector an 8 byte function selector
    /// @param facetAddress_ an address to a facet
    function addSelector(
        bytes4 selector,
        address facetAddress_
    ) internal {
        address currentFacetAddress = selectorToAddress[selector];
        require(currentFacetAddress == address(0), "selector add");
        selectorToAddress[selector] = facetAddress_;
        selectorIndex[selector] = addressToSelectors[facetAddress_].length;
        addressToSelectors[facetAddress_].push(selector);
    }

    /// @notice removes a selector from an address, revert if selector isn't
    /// assigned
    /// @param selector an 8 byte function selector
    /// @param facetAddress_ an address to a facet
    function removeSelector(
        bytes4 selector,
        address facetAddress_
    ) internal {
        address currentFacetAddress = selectorToAddress[selector];
        require(currentFacetAddress != address(0), "selector remove");
        bytes4[] memory selectors = addressToSelectors[facetAddress_];
        bytes4 lastSelector = selectors[selectors.length - 1];
        if (lastSelector != selector) {
            selectorIndex[lastSelector] = selectorIndex[selector];
            selectors[selectorIndex[selector]] = lastSelector;
        }
        if (selectors.length > 0) {
            assembly {
                mstore(selectors, sub(mload(selectors), 1))
            }
            addressToSelectors[facetAddress_] = selectors;
        }
        if (selectors.length == 0) {
            address lastAddress = addresses[addresses.length - 1];
            if (lastAddress != facetAddress_) {
                addressIndex[lastAddress] = addressIndex[facetAddress_];
                addresses[addressIndex[facetAddress_]] = lastAddress;
            }
            addresses.pop();
            addressIndex[facetAddress_] = 0;
        }
        selectorToAddress[selector] = address(0);
    }

    /// @notice reassigns a selector to an address, revert if no change in
    /// selector address
    /// @param selector an 8 byte function selector
    /// @param facetAddress_ an address to a facet
    function replaceSelector(
        bytes4 selector,
        address facetAddress_
    ) internal {
        address currentFacetAddress = selectorToAddress[selector];
        require(currentFacetAddress != facetAddress_, "selector replace");
        bytes4[] memory selectors = addressToSelectors[currentFacetAddress];
        bytes4 lastSelector = selectors[selectors.length - 1];
        if (lastSelector != selector) {
            selectorIndex[lastSelector] = selectorIndex[selector];
            selectors[selectorIndex[selector]] = lastSelector;
        }
        if (selectors.length > 0) {
            assembly {
                mstore(selectors, sub(mload(selectors), 1))
            }
            addressToSelectors[currentFacetAddress] = selectors;
        }
        if (selectors.length == 0) {
            address lastAddress = addresses[addresses.length - 1];
            if (lastAddress != currentFacetAddress) {
                addressIndex[lastAddress] = addressIndex[currentFacetAddress];
                addresses[addressIndex[currentFacetAddress]] = lastAddress;
            }
            addresses.pop();
            addressIndex[currentFacetAddress] = 0;
        }
        selectorToAddress[selector] = facetAddress_;
        selectorIndex[selector] = addressToSelectors[facetAddress_].length;
        addressToSelectors[facetAddress_].push(selector);
    }

    /// @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 {
        require(msg.sender == owner, "not owner");
        bool changesMade = false;
        for (uint i = 0; i < _diamondCut.length; i++) {
            FacetCut memory facetCut = _diamondCut[i];
            address facetAddress_ = _diamondCut[i].facetAddress;
            if (!facetAddressExists(facetAddress_)) {
                addressIndex[facetAddress_] = addresses.length;
                addresses.push(facetCut.facetAddress);
            }
            for (uint j = 0; j < facetCut.functionSelectors.length; j++) {
                bytes4 selector = facetCut.functionSelectors[j];
                if (facetCut.action == FacetCutAction.Add) {
                    addSelector(selector, facetAddress_);
                    if (!changesMade) changesMade = true;
                }
                if (facetCut.action == FacetCutAction.Replace) {
                    replaceSelector(selector, facetAddress_);
                    if (!changesMade) changesMade = true;
                }
                if (facetCut.action == FacetCutAction.Remove) {
                    removeSelector(selector, facetAddress_);
                    if (!changesMade) changesMade = true;
                }
            }
        }
        if (_init != address(0)) {
            require(_calldata.length > 0, "empty calldata");
            (bool success,) = _init.delegatecall(_calldata);
            require(success, "call unsuccessful");
        }
        if (changesMade) emit DiamondCut(_diamondCut, _init, _calldata);
    }

    /// @notice Gets all facet addresses and their four byte function
    /// selectors.
    /// @return facets_ Facet
    function facets() external view returns (Facet[] memory) {
        Facet[] memory facets_ = new Facet[](addresses.length);
        for (uint i = 0; i < addresses.length; i++) {
            Facet memory facet;
            facet.facetAddress = addresses[i];
            facet.functionSelectors = addressToSelectors[addresses[i]];
            facets_[i] = facet;
        }
        return 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)
    {
        return addressToSelectors[_facet];
    }

    /// @notice Get all the facet addresses used by a diamond.
    /// @return facetAddresses_
    function facetAddresses()
        external
        view
        returns
        (address[] memory)
    {
        return addresses;
    }

    /// @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)
    {
        return selectorToAddress[_functionSelector];
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum Tangle.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"indexed":false,"internalType":"struct Tangle.FacetCut[]","name":"_diamondCut","type":"tuple[]"},{"indexed":false,"internalType":"address","name":"_init","type":"address"},{"indexed":false,"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"DiamondCut","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"enum Tangle.FacetCutAction","name":"action","type":"uint8"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"internalType":"struct Tangle.FacetCut[]","name":"_diamondCut","type":"tuple[]"},{"internalType":"address","name":"_init","type":"address"},{"internalType":"bytes","name":"_calldata","type":"bytes"}],"name":"diamondCut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_functionSelector","type":"bytes4"}],"name":"facetAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"facetAddresses","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_facet","type":"address"}],"name":"facetFunctionSelectors","outputs":[{"internalType":"bytes4[]","name":"","type":"bytes4[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"facets","outputs":[{"components":[{"internalType":"address","name":"facetAddress","type":"address"},{"internalType":"bytes4[]","name":"functionSelectors","type":"bytes4[]"}],"internalType":"struct Tangle.Facet[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50600180546001600160a01b03191633179055611f14806100326000396000f3fe6080604052600436106100695760003560e01c80638da5cb5b116100435780638da5cb5b146101bc578063adfca15e1461020e578063cdffacc61461023b57610070565b80631f931c1c1461014d57806352ef6b2c1461016f5780637a0ed6271461019a57610070565b3661007057005b600080357fffffffff0000000000000000000000000000000000000000000000000000000016815260208190526040812054369060609073ffffffffffffffffffffffffffffffffffffffff1680610129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f7a65726f2066616365740000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e808015610148573d6000f35b3d6000fd5b34801561015957600080fd5b5061016d6101683660046116d0565b6102a0565b005b34801561017b57600080fd5b506101846106d6565b6040516101919190611782565b60405180910390f35b3480156101a657600080fd5b506101af610745565b60405161019191906117dc565b3480156101c857600080fd5b506001546101e99073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610191565b34801561021a57600080fd5b5061022e6102293660046118d2565b610920565b60405161019191906118f4565b34801561024757600080fd5b506101e961025636600461197e565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60015473ffffffffffffffffffffffffffffffffffffffff163314610321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610120565b6000805b8581101561052e57600087878381811061034157610341611999565b905060200281019061035391906119c8565b61035c90611abc565b9050600088888481811061037257610372611999565b905060200281019061038491906119c8565b6103929060208101906118d2565b905061039d816109db565b61042c576002805473ffffffffffffffffffffffffffffffffffffffff838116600090815260036020526040812083905585516001840185559390527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790555b60005b8260400151518110156105185760008360400151828151811061045457610454611999565b602002602001015190506000600281111561047157610471611b93565b8460200151600281111561048757610487611b93565b14156104a1576104978184610a80565b856104a157600195505b6001846020015160028111156104b9576104b9611b93565b14156104d3576104c98184610bfb565b856104d357600195505b6002846020015160028111156104eb576104eb611b93565b1415610505576104fb8184611108565b8561050557600195505b508061051081611bf1565b91505061042f565b505050808061052690611bf1565b915050610325565b5073ffffffffffffffffffffffffffffffffffffffff84161561068857816105b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f656d7074792063616c6c646174610000000000000000000000000000000000006044820152606401610120565b60008473ffffffffffffffffffffffffffffffffffffffff1684846040516105db929190611c2a565b600060405180830381855af49150503d8060008114610616576040519150601f19603f3d011682016040523d82523d6000602084013e61061b565b606091505b5050905080610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f63616c6c20756e7375636365737366756c0000000000000000000000000000006044820152606401610120565b505b80156106ce577f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67386868686866040516106c5959493929190611ce3565b60405180910390a15b505050505050565b6060600280548060200260200160405190810160405280929190818152602001828054801561073b57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610710575b5050505050905090565b60025460609060009067ffffffffffffffff81111561076657610766611a06565b6040519080825280602002602001820160405280156107ac57816020015b6040805180820190915260008152606060208201528152602001906001900390816107845790505b50905060005b60025481101561091a57604080518082019091526000815260606020820152600282815481106107e4576107e4611999565b600091825260208220015473ffffffffffffffffffffffffffffffffffffffff1682526002805460049291908590811061082057610820611999565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff1683528281019390935260409182019020805482518185028101850190935280835291929091908301828280156108db57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116108885790505b50505050508160200181905250808383815181106108fb576108fb611999565b602002602001018190525050808061091290611bf1565b9150506107b2565b50919050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600460209081526040918290208054835181840281018401909452808452606093928301828280156109cf57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161097c5790505b50505050509050919050565b6002546000906109ed57506000919050565b8173ffffffffffffffffffffffffffffffffffffffff166002600081548110610a1857610a18611999565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614801590610a6b575073ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054155b15610a7857506000919050565b506001919050565b7fffffffff00000000000000000000000000000000000000000000000000000000821660009081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff168015610b30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f73656c6563746f722061646400000000000000000000000000000000000000006044820152606401610120565b507fffffffff00000000000000000000000000000000000000000000000000000000821660008181526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff969096169586179055938252600480825284832080549484526005835294832084905580825260018401855593825290206008820401805463ffffffff60079093169093026101000a9182021990921660e09390931c02919091179055565b7fffffffff00000000000000000000000000000000000000000000000000000000821660009081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff908116908216811415610cb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f73656c6563746f72207265706c616365000000000000000000000000000000006044820152606401610120565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020908152604080832080548251818502810185019093528083529192909190830182828015610d6057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610d0d5790505b5050505050905060008160018351610d789190611e98565b81518110610d8857610d88611999565b60200260200101519050847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610e5c577fffffffff000000000000000000000000000000000000000000000000000000008086166000818152600560205260408082205493851682528120839055528251829184918110610e2a57610e2a611999565b7fffffffff00000000000000000000000000000000000000000000000000000000909216602092830291909101909101525b815115610ec15781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01825273ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260409091208351610ebf9285019061159d565b505b815161103b576002805460009190610edb90600190611e98565b81548110610eeb57610eeb611999565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff908116915084168114610faa5773ffffffffffffffffffffffffffffffffffffffff808516600081815260036020526040808220549385168252812083905552600280548392908110610f6157610f61611999565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6002805480610fbb57610fbb611eaf565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff86168252600390526040812055505b5050507fffffffff00000000000000000000000000000000000000000000000000000000821660008181526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff969096169586179055938252600480825284832080549484526005835294832084905580825260018401855593825290206008820401805463ffffffff60079093169093026101000a9182021990921660e09390931c02919091179055565b7fffffffff00000000000000000000000000000000000000000000000000000000821660009081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff16806111b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f73656c6563746f722072656d6f766500000000000000000000000000000000006044820152606401610120565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602090815260408083208054825181850281018501909352808352919290919083018282801561126657602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116112135790505b505050505090506000816001835161127e9190611e98565b8151811061128e5761128e611999565b60200260200101519050847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611362577fffffffff00000000000000000000000000000000000000000000000000000000808616600081815260056020526040808220549385168252812083905552825182918491811061133057611330611999565b7fffffffff00000000000000000000000000000000000000000000000000000000909216602092830291909101909101525b8151156113c75781517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01825273ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604090912083516113c59285019061159d565b505b81516115415760028054600091906113e190600190611e98565b815481106113f1576113f1611999565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff9081169150851681146114b05773ffffffffffffffffffffffffffffffffffffffff80861660008181526003602052604080822054938516825281208390555260028054839290811061146757611467611999565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60028054806114c1576114c1611eaf565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff87168252600390526040812055505b505050507fffffffff0000000000000000000000000000000000000000000000000000000016600090815260208190526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b828054828255906000526020600020906007016008900481019282156116395791602002820160005b8382111561160757835183826101000a81548163ffffffff021916908360e01c021790555092602001926004016020816003010492830192600103026115c6565b80156116375782816101000a81549063ffffffff0219169055600401602081600301049283019260010302611607565b505b50611645929150611649565b5090565b5b80821115611645576000815560010161164a565b803573ffffffffffffffffffffffffffffffffffffffff8116811461168257600080fd5b919050565b60008083601f84011261169957600080fd5b50813567ffffffffffffffff8111156116b157600080fd5b6020830191508360208285010111156116c957600080fd5b9250929050565b6000806000806000606086880312156116e857600080fd5b853567ffffffffffffffff8082111561170057600080fd5b818801915088601f83011261171457600080fd5b81358181111561172357600080fd5b8960208260051b850101111561173857600080fd5b6020830197508096505061174e6020890161165e565b9450604088013591508082111561176457600080fd5b5061177188828901611687565b969995985093965092949392505050565b6020808252825182820181905260009190848201906040850190845b818110156117d057835173ffffffffffffffffffffffffffffffffffffffff168352928401929184019160010161179e565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156118c3578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b808310156118ae5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061186c565b50978a01979550505091870191600101611804565b50919998505050505050505050565b6000602082840312156118e457600080fd5b6118ed8261165e565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156117d05783517fffffffff000000000000000000000000000000000000000000000000000000001683529284019291840191600101611910565b80357fffffffff000000000000000000000000000000000000000000000000000000008116811461168257600080fd5b60006020828403121561199057600080fd5b6118ed8261194e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18336030181126119fc57600080fd5b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715611a5857611a58611a06565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611aa557611aa5611a06565b604052919050565b80356003811061168257600080fd5b600060608236031215611ace57600080fd5b611ad6611a35565b611adf8361165e565b81526020611aee818501611aad565b81830152604084013567ffffffffffffffff80821115611b0d57600080fd5b9085019036601f830112611b2057600080fd5b813581811115611b3257611b32611a06565b8060051b9150611b43848301611a5e565b8181529183018401918481019036841115611b5d57600080fd5b938501935b83851015611b8257611b738561194e565b82529385019390850190611b62565b604087015250939695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611c2357611c23611bc2565b5060010190565b8183823760009101908152919050565b8183526000602080850194508260005b85811015611c8f577fffffffff00000000000000000000000000000000000000000000000000000000611c7c8361194e565b1687529582019590820190600101611c4a565b509495945050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060808252818101869052600090600560808085019089831b8601018a855b8b811015611e58577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8088840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18e3603018112611d6357600080fd5b8d0173ffffffffffffffffffffffffffffffffffffffff611d838261165e565b1684526020611d93818301611aad565b60038110611dca577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b85820152604082810135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112611e0557600080fd5b8301803567ffffffffffffffff811115611e1e57600080fd5b808a1b3603851315611e2f57600080fd5b8a83890152611e438b890182868501611c3a565b98840198975050509301925050600101611d02565b505073ffffffffffffffffffffffffffffffffffffffff891660208701528581036040870152611e8981888a611c9a565b9b9a5050505050505050505050565b600082821015611eaa57611eaa611bc2565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212205e06cae6fa5e6c53aeeb23692cac6a345334523da855232ea24625c22703b04464736f6c63430008090033

Deployed ByteCode Sourcemap

323:9703:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:7;;;;1601:26;;;;;;;;;;323:9703;;1557:12;;1601:26;;;1638:45;;;;;;;216:2:1;1638:45:0;;;198:21:1;255:2;235:18;;;228:30;294:12;274:18;;;267:40;324:18;;1638:45:0;;;;;;;;;1737:14;1734:1;1731;1718:34;1935:1;1915;1882:14;1862:1;1835:8;1811:5;1780:171;1986:16;1983:1;1980;1965:38;2024:6;2048:38;;;;2125:16;2122:1;2114:28;2048:38;2067:16;2064:1;2057:27;6770:1678;;;;;;;;;;-1:-1:-1;6770:1678:0;;;;;:::i;:::-;;:::i;:::-;;9459:143;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8578:408;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;451:20::-;;;;;;;;;;-1:-1:-1;451:20:0;;;;;;;;;;;4595:42:1;4583:55;;;4565:74;;4553:2;4538:18;451:20:0;4419:226:1;9157:197:0;;;;;;;;;;-1:-1:-1;9157:197:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9838:183::-;;;;;;;;;;-1:-1:-1;9838:183:0;;;;;:::i;:::-;9977:36;;9945:7;9977:36;;;;;;;;;;;;;;9838:183;6770:1678;6940:5;;;;6926:10;:19;6918:41;;;;;;;6164:2:1;6918:41:0;;;6146:21:1;6203:1;6183:18;;;6176:29;6241:11;6221:18;;;6214:39;6270:18;;6918:41:0;5962:332:1;6918:41:0;6970:16;7010:6;7005:1139;7022:22;;;7005:1139;;;7066:24;7093:11;;7105:1;7093:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;7066:41;;;:::i;:::-;;;7122:21;7146:11;;7158:1;7146:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:27;;;;;;;:::i;:::-;7122:51;;7193:33;7212:13;7193:18;:33::i;:::-;7188:177;;7277:9;:16;;7247:27;;;;;;;;:12;:27;;;;;:46;;;7327:21;;7312:37;;;;;;;;;;;;;;;;;;;;;;;;;;7188:177;7384:6;7379:754;7400:8;:26;;;:33;7396:1;:37;7379:754;;;7459:15;7477:8;:26;;;7504:1;7477:29;;;;;;;;:::i;:::-;;;;;;;7459:47;;7548:18;7529:37;;;;;;;;:::i;:::-;:8;:15;;;:37;;;;;;;;:::i;:::-;;7525:181;;;7591:36;7603:8;7613:13;7591:11;:36::i;:::-;7655:11;7650:36;;7682:4;7668:18;;7650:36;7747:22;7728:8;:15;;;:41;;;;;;;;:::i;:::-;;7724:189;;;7794:40;7810:8;7820:13;7794:15;:40::i;:::-;7862:11;7857:36;;7889:4;7875:18;;7857:36;7954:21;7935:8;:15;;;:40;;;;;;;;:::i;:::-;;7931:187;;;8000:39;8015:8;8025:13;8000:14;:39::i;:::-;8067:11;8062:36;;8094:4;8080:18;;8062:36;-1:-1:-1;7435:3:0;;;;:::i;:::-;;;;7379:754;;;;7051:1093;;7046:3;;;;;:::i;:::-;;;;7005:1139;;;-1:-1:-1;8158:19:0;;;;8154:213;;8202:20;8194:47;;;;;;;9819:2:1;8194:47:0;;;9801:21:1;9858:2;9838:18;;;9831:30;9897:16;9877:18;;;9870:44;9931:18;;8194:47:0;9617:338:1;8194:47:0;8257:12;8274:5;:18;;8293:9;;8274:29;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8256:47;;;8326:7;8318:37;;;;;;;10438:2:1;8318:37:0;;;10420:21:1;10477:2;10457:18;;;10450:30;10516:19;10496:18;;;10489:47;10553:18;;8318:37:0;10236:341:1;8318:37:0;8179:188;8154:213;8381:11;8377:63;;;8399:41;8410:11;;8423:5;8430:9;;8399:41;;;;;;;;;;:::i;:::-;;;;;;;;8377:63;6907:1541;6770:1678;;;;;:::o;9459:143::-;9544:16;9585:9;9578:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9459:143;:::o;8578:408::-;8683:9;:16;8619:14;;8646:22;;8671:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;8671:29:0;;;;;;;;;;;;;;;;8646:54;;8716:6;8711:243;8732:9;:16;8728:20;;8711:243;;;-1:-1:-1;;;;;;;;;;;;;;;;;8824:9:0;8834:1;8824:12;;;;;;;;:::i;:::-;;;;;;;;;;;;8803:33;;8896:9;:12;;8877:18;;8824:12;8896:9;8906:1;;8896:12;;;;;;:::i;:::-;;;;;;;;;;;;;;;8877:32;;;;;;;;;;;;;;;8851:58;;;;;;;;;;;;;;;;;;;8877:32;;8851:58;;;8877:32;8851:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:5;:23;;:58;;;;8937:5;8924:7;8932:1;8924:10;;;;;;;;:::i;:::-;;;;;;:18;;;;8755:199;8750:3;;;;;:::i;:::-;;;;8711:243;;;-1:-1:-1;8971:7:0;8578:408;-1:-1:-1;8578:408:0:o;9157:197::-;9320:26;;;;;;;:18;:26;;;;;;;;;9313:33;;;;;;;;;;;;;;;;;9280:15;;9313:33;;;9320:26;9313:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9157:197;;;:::o;2335:306::-;2466:9;:16;2440:4;;2462:52;;-1:-1:-1;2509:5:0;;2335:306;-1:-1:-1;2335:306:0:o;2462:52::-;2545:8;2529:24;;:9;2539:1;2529:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;:24;;;;:55;;-1:-1:-1;2557:22:0;;;;;;;:12;:22;;;;;;:27;2529:55;2525:86;;;-1:-1:-1;2606:5:0;;2335:306;-1:-1:-1;2335:306:0:o;2525:86::-;-1:-1:-1;2629:4:0;;2335:306;-1:-1:-1;2335:306:0:o;2850:430::-;2986:27;;;2956;2986;;;;;;;;;;;;;3032:33;;3024:58;;;;;;;14116:2:1;3024:58:0;;;14098:21:1;14155:2;14135:18;;;14128:30;14194:14;14174:18;;;14167:42;14226:18;;3024:58:0;13914:336:1;3024:58:0;-1:-1:-1;3093:27:0;;;:17;:27;;;;;;;;;;;:43;;;;;;;;;;;;;;3173:33;;;:18;:33;;;;;;:40;;3147:23;;;:13;:23;;;;;:66;;;3224:33;;;-1:-1:-1;3224:48:0;;;;;;;;;;;;;;;;;;;;;;;3093:43;3224:48;;;;;;;;;;;;;;;;;;;;2850:430::o;4931:1407::-;5071:27;;;5041;5071;;;;;;;;;;;;;;;;5117:36;;;;;5109:65;;;;;;;14457:2:1;5109:65:0;;;14439:21:1;14496:2;14476:18;;;14469:30;14535:18;14515;;;14508:46;14571:18;;5109:65:0;14255:340:1;5109:65:0;5213:39;;;5185:25;5213:39;;;:18;:39;;;;;;;;5185:67;;;;;;;;;;;;;;;;;;;5213:39;;5185:67;;;5213:39;5185:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5263:19;5285:9;5314:1;5295:9;:16;:20;;;;:::i;:::-;5285:31;;;;;;;;:::i;:::-;;;;;;;5263:53;;5347:8;5331:24;;;:12;:24;;;;5327:174;;5402:23;;;;;;;;:13;:23;;;;;;;5372:27;;;;;;;:53;;;5450:23;5440:34;;5386:12;;5440:9;;:34;;;;;;:::i;:::-;:49;;;;:34;;;;;;;;;;;:49;5327:174;5515:16;;:20;5511:204;;5602:16;;5598:24;;5580:43;;5652:39;;;-1:-1:-1;5652:39:0;;;:18;:39;;;;;;;;:51;;;;;;;;:::i;:::-;;5511:204;5729:16;;5725:416;;5789:9;5799:16;;5767:19;;5789:9;5799:20;;5818:1;;5799:20;:::i;:::-;5789:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;5839:34:0;;;;5835:213;;5922:33;;;;;;;;:12;:33;;;;;;;5894:25;;;;;;;:61;;;5984:33;5974:9;:44;;5907:11;;5922:33;5974:44;;;;;;:::i;:::-;;;;;;;;;:58;;;;;;;;;;;;;;;;;;5835:213;6062:9;:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;6092:33;;;;:12;:33;;;;;:37;-1:-1:-1;5725:416:0;-1:-1:-1;;;6151:27:0;;;:17;:27;;;;;;;;;;;:43;;;;;;;;;;;;;;6231:33;;;:18;:33;;;;;;:40;;6205:23;;;:13;:23;;;;;:66;;;6282:33;;;-1:-1:-1;6282:48:0;;;;;;;;;;;;;;;;;;;;;;;6151:43;6282:48;;;;;;;;;;;;;;;;;;;;4931:1407::o;3489:1227::-;3628:27;;;3598;3628;;;;;;;;;;;;;3674:33;3666:61;;;;;;;15121:2:1;3666:61:0;;;15103:21:1;15160:2;15140:18;;;15133:30;15199:17;15179:18;;;15172:45;15234:18;;3666:61:0;14919:339:1;3666:61:0;3766:33;;;3738:25;3766:33;;;:18;:33;;;;;;;;3738:61;;;;;;;;;;;;;;;;;;;3766:33;;3738:61;;;3766:33;3738:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3810:19;3832:9;3861:1;3842:9;:16;:20;;;;:::i;:::-;3832:31;;;;;;;;:::i;:::-;;;;;;;3810:53;;3894:8;3878:24;;;:12;:24;;;;3874:174;;3949:23;;;;;;;;:13;:23;;;;;;;3919:27;;;;;;;:53;;;3997:23;3987:34;;3933:12;;3987:9;;:34;;;;;;:::i;:::-;:49;;;;:34;;;;;;;;;;;:49;3874:174;4062:16;;:20;4058:198;;4149:16;;4145:24;;4127:43;;4199:33;;;-1:-1:-1;4199:33:0;;;:18;:33;;;;;;;;:45;;;;;;;;:::i;:::-;;4058:198;4270:16;;4266:392;;4330:9;4340:16;;4308:19;;4330:9;4340:20;;4359:1;;4340:20;:::i;:::-;4330:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;4380:28:0;;;;4376:195;;4457:27;;;;;;;;:12;:27;;;;;;;4429:25;;;;;;;:55;;;4513:27;4503:9;:38;;4442:11;;4457:27;4503:38;;;;;;:::i;:::-;;;;;;;;;:52;;;;;;;;;;;;;;;;;;4376:195;4585:9;:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;4615:27;;;;:12;:27;;;;;:31;-1:-1:-1;4266:392:0;-1:-1:-1;;;;4668:27:0;;4706:1;4668:27;;;;;;;;;;:40;;;;;;3489:1227::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;353:196:1;421:20;;481:42;470:54;;460:65;;450:93;;539:1;536;529:12;450:93;353:196;;;:::o;554:347::-;605:8;615:6;669:3;662:4;654:6;650:17;646:27;636:55;;687:1;684;677:12;636:55;-1:-1:-1;710:20:1;;753:18;742:30;;739:50;;;785:1;782;775:12;739:50;822:4;814:6;810:17;798:29;;874:3;867:4;858:6;850;846:19;842:30;839:39;836:59;;;891:1;888;881:12;836:59;554:347;;;;;:::o;906:1008::-;1047:6;1055;1063;1071;1079;1132:2;1120:9;1111:7;1107:23;1103:32;1100:52;;;1148:1;1145;1138:12;1100:52;1188:9;1175:23;1217:18;1258:2;1250:6;1247:14;1244:34;;;1274:1;1271;1264:12;1244:34;1312:6;1301:9;1297:22;1287:32;;1357:7;1350:4;1346:2;1342:13;1338:27;1328:55;;1379:1;1376;1369:12;1328:55;1419:2;1406:16;1445:2;1437:6;1434:14;1431:34;;;1461:1;1458;1451:12;1431:34;1516:7;1509:4;1499:6;1496:1;1492:14;1488:2;1484:23;1480:34;1477:47;1474:67;;;1537:1;1534;1527:12;1474:67;1568:4;1564:2;1560:13;1550:23;;1592:6;1582:16;;;1617:40;1651:4;1640:9;1636:20;1617:40;:::i;:::-;1607:50;;1710:2;1699:9;1695:18;1682:32;1666:48;;1739:2;1729:8;1726:16;1723:36;;;1755:1;1752;1745:12;1723:36;;1794:60;1846:7;1835:8;1824:9;1820:24;1794:60;:::i;:::-;906:1008;;;;-1:-1:-1;906:1008:1;;-1:-1:-1;1873:8:1;;1768:86;906:1008;-1:-1:-1;;;906:1008:1:o;2051:681::-;2222:2;2274:21;;;2344:13;;2247:18;;;2366:22;;;2193:4;;2222:2;2445:15;;;;2419:2;2404:18;;;2193:4;2488:218;2502:6;2499:1;2496:13;2488:218;;;2567:13;;2582:42;2563:62;2551:75;;2681:15;;;;2646:12;;;;2524:1;2517:9;2488:218;;;-1:-1:-1;2723:3:1;;2051:681;-1:-1:-1;;;;;;2051:681:1:o;2737:1677::-;2921:4;2950:2;2990;2979:9;2975:18;3020:2;3009:9;3002:21;3043:6;3078;3072:13;3109:6;3101;3094:22;3135:2;3125:12;;3168:2;3157:9;3153:18;3146:25;;3230:2;3220:6;3217:1;3213:14;3202:9;3198:30;3194:39;3268:2;3260:6;3256:15;3289:1;3310;3320:1065;3336:6;3331:3;3328:15;3320:1065;;;3405:22;;;3429:66;3401:95;3389:108;;3520:13;;3607:9;;3618:42;3603:58;3588:74;;3701:11;;3695:18;3733:15;;;3726:27;;;3814:19;;3560:15;;;3846:24;;;3936:21;;;;3981:1;;3904:2;3892:15;;;3995:282;4011:8;4006:3;4003:17;3995:282;;;4092:15;;4109:66;4088:88;4074:103;;4246:17;;;;4039:1;4030:11;;;;;4203:14;;;;3995:282;;;-1:-1:-1;4363:12:1;;;;4300:5;-1:-1:-1;;;4328:15:1;;;;3362:1;3353:11;3320:1065;;;-1:-1:-1;4402:6:1;;2737:1677;-1:-1:-1;;;;;;;;;2737:1677:1:o;4650:186::-;4709:6;4762:2;4750:9;4741:7;4737:23;4733:32;4730:52;;;4778:1;4775;4768:12;4730:52;4801:29;4820:9;4801:29;:::i;:::-;4791:39;4650:186;-1:-1:-1;;;4650:186:1:o;4841:703::-;5010:2;5062:21;;;5132:13;;5035:18;;;5154:22;;;4981:4;;5010:2;5233:15;;;;5207:2;5192:18;;;4981:4;5276:242;5290:6;5287:1;5284:13;5276:242;;;5355:13;;5370:66;5351:86;5339:99;;5493:15;;;;5458:12;;;;5312:1;5305:9;5276:242;;5549:219;5616:20;;5676:66;5665:78;;5655:89;;5645:117;;5758:1;5755;5748:12;5773:184;5831:6;5884:2;5872:9;5863:7;5859:23;5855:32;5852:52;;;5900:1;5897;5890:12;5852:52;5923:28;5941:9;5923:28;:::i;6299:184::-;6351:77;6348:1;6341:88;6448:4;6445:1;6438:15;6472:4;6469:1;6462:15;6488:382;6580:4;6638:11;6625:25;6728:66;6717:8;6701:14;6697:29;6693:102;6673:18;6669:127;6659:155;;6810:1;6807;6800:12;6659:155;6831:33;;;;;6488:382;-1:-1:-1;;6488:382:1:o;6875:184::-;6927:77;6924:1;6917:88;7024:4;7021:1;7014:15;7048:4;7045:1;7038:15;7064:253;7136:2;7130:9;7178:4;7166:17;;7213:18;7198:34;;7234:22;;;7195:62;7192:88;;;7260:18;;:::i;:::-;7296:2;7289:22;7064:253;:::o;7322:334::-;7393:2;7387:9;7449:2;7439:13;;7454:66;7435:86;7423:99;;7552:18;7537:34;;7573:22;;;7534:62;7531:88;;;7599:18;;:::i;:::-;7635:2;7628:22;7322:334;;-1:-1:-1;7322:334:1:o;7661:155::-;7741:20;;7790:1;7780:12;;7770:40;;7806:1;7803;7796:12;7821:1213;7921:9;7980:4;7972:5;7956:14;7952:26;7948:37;7945:57;;;7998:1;7995;7988:12;7945:57;8026:22;;:::i;:::-;8073:25;8092:5;8073:25;:::i;:::-;8064:7;8057:42;8118:2;8154:46;8196:2;8189:5;8185:14;8154:46;:::i;:::-;8149:2;8140:7;8136:16;8129:72;8248:2;8241:5;8237:14;8224:28;8271:18;8312:2;8304:6;8301:14;8298:34;;;8328:1;8325;8318:12;8298:34;8351:18;;;;8407:14;8400:4;8392:13;;8388:34;8378:62;;8436:1;8433;8426:12;8378:62;8472:2;8459:16;8494:2;8490;8487:10;8484:36;;;8500:18;;:::i;:::-;8546:2;8543:1;8539:10;8529:20;;8569:28;8593:2;8589;8585:11;8569:28;:::i;:::-;8631:15;;;8701:11;;;8697:20;;;8662:12;;;;8740:14;8729:26;;8726:46;;;8768:1;8765;8758:12;8726:46;8792:11;;;;8812:147;8828:6;8823:3;8820:15;8812:147;;;8894:22;8912:3;8894:22;:::i;:::-;8882:35;;8845:12;;;;8937;;;;8812:147;;;8988:2;8975:16;;8968:31;-1:-1:-1;8979:7:1;;7821:1213;-1:-1:-1;;;;;;7821:1213:1:o;9039:184::-;9091:77;9088:1;9081:88;9188:4;9185:1;9178:15;9212:4;9209:1;9202:15;9228:184;9280:77;9277:1;9270:88;9377:4;9374:1;9367:15;9401:4;9398:1;9391:15;9417:195;9456:3;9487:66;9480:5;9477:77;9474:103;;;9557:18;;:::i;:::-;-1:-1:-1;9604:1:1;9593:13;;9417:195::o;9960:271::-;10143:6;10135;10130:3;10117:33;10099:3;10169:16;;10194:13;;;10169:16;9960:271;-1:-1:-1;9960:271:1:o;10582:492::-;10681:6;10676:3;10669:19;10651:3;10707:4;10736:2;10731:3;10727:12;10720:19;;10762:5;10785:1;10795:254;10809:6;10806:1;10803:13;10795:254;;;10901:66;10874:25;10892:6;10874:25;:::i;:::-;10870:98;10858:111;;10989:12;;;;11024:15;;;;10831:1;10824:9;10795:254;;;-1:-1:-1;11065:3:1;;10582:492;-1:-1:-1;;;;;10582:492:1:o;11079:325::-;11167:6;11162:3;11155:19;11219:6;11212:5;11205:4;11200:3;11196:14;11183:43;;11271:1;11264:4;11255:6;11250:3;11246:16;11242:27;11235:38;11137:3;11393:4;11323:66;11318:2;11310:6;11306:15;11302:88;11297:3;11293:98;11289:109;11282:116;;11079:325;;;;:::o;11409:2500::-;11724:2;11776:21;;;11749:18;;;11832:22;;;11695:4;;11908:1;11885:3;11870:19;;;;11951:15;;;11936:31;;11932:41;11996:6;11695:4;12030:1689;12044:6;12041:1;12038:13;12030:1689;;;12133:66;12121:9;12113:6;12109:22;12105:95;12100:3;12093:108;12253:6;12240:20;12340:66;12331:6;12315:14;12311:27;12307:100;12287:18;12283:125;12273:153;;12422:1;12419;12412:12;12273:153;12452:31;;12542:42;12515:25;12452:31;12515:25;:::i;:::-;12511:74;12503:6;12496:90;12609:4;12646:46;12688:2;12681:5;12677:14;12646:46;:::i;:::-;12732:1;12718:12;12715:19;12705:227;;12776:77;12773:1;12766:88;12881:4;12878:1;12871:15;12913:4;12910:1;12903:15;12705:227;12952:15;;;12945:37;13005:4;13063:14;;;13050:28;13135:14;13131:26;;;13159:66;13127:99;13101:126;;13091:154;;13241:1;13238;13231:12;13091:154;13273:32;;13332:21;;13380:18;13369:30;;13366:50;;;13412:1;13409;13402:12;13366:50;13471:6;13467:2;13463:15;13447:14;13443:36;13436:5;13432:48;13429:68;;;13493:1;13490;13483:12;13429:68;13534:2;13529;13521:6;13517:15;13510:27;13560:79;13635:2;13627:6;13623:15;13615:6;13610:2;13601:7;13597:16;13560:79;:::i;:::-;13697:12;;;;13550:89;-1:-1:-1;;;13662:15:1;;;-1:-1:-1;;12066:1:1;12059:9;12030:1689;;;-1:-1:-1;;1996:42:1;1985:54;;13770:4;13755:20;;1973:67;13826:9;13818:6;13814:22;13807:4;13796:9;13792:20;13785:52;13854:49;13896:6;13888;13880;13854:49;:::i;:::-;13846:57;11409:2500;-1:-1:-1;;;;;;;;;;;11409:2500:1:o;14600:125::-;14640:4;14668:1;14665;14662:8;14659:34;;;14673:18;;:::i;:::-;-1:-1:-1;14710:9:1;;14600:125::o;14730:184::-;14782:77;14779:1;14772:88;14879:4;14876:1;14869:15;14903:4;14900:1;14893:15

Swarm Source

ipfs://5e06cae6fa5e6c53aeeb23692cac6a345334523da855232ea24625c22703b044
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.