ETH Price: $2,036.40 (+2.03%)

Contract

0x3fb85fdc54bD2D607C99b6e50d0331AF9fccDca0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim Reward85719012019-09-18 6:51:332385 days ago1568789493IN
0x3fb85fdc...F9fccDca0
0 ETH0.0164224230
Register85607412019-09-16 13:17:292387 days ago1568639849IN
0x3fb85fdc...F9fccDca0
0 ETH0.0009727322.0022

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
-85719012019-09-18 6:51:332385 days ago1568789493
0x3fb85fdc...F9fccDca0
1 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
STARK_Friendly_Hash_Challenge_MiMC_45

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, Apache-2.0 license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: STARK_Friendly_Hash_Challenge_MiMC_46.sol
/*
    This smart contract was written by StarkWare Industries Ltd. as part of the STARK-friendly hash
    challenge effort, funded by the Ethereum Foundation.
    The contract will pay out X ETH to the first finder of a collision in MiMC at security level of
    45 bits, if such a collision is discovered before the end of March 2020.
    More information about the STARK-friendly hash challenge can be found
    here https://starkware.co/hash-challenge/.
    More information about the STARK-friendly hash selection process (of which this challenge is a
    part) can be found here
    https://medium.com/starkware/stark-friendly-hash-tire-kicking-8087e8d9a246.
    Sage code reference implementation for the contender hash functions available
    at https://starkware.co/hash-challenge-implementation-reference-code/#common.
*/

/*
  Copyright 2019 StarkWare Industries Ltd.

  Licensed under the Apache License, Version 2.0 (the "License").
  You may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  https://www.starkware.co/open-source-license/

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions
  and limitations under the License.
*/

pragma solidity ^0.5.2;

import "./Base.sol";
import "./Sponge.sol";


contract STARK_Friendly_Hash_Challenge_MiMC_45 is Base, Sponge {
    address roundConstantsContract;

    constructor (uint256 prime, uint256 nRounds, address roundConstantsContract_)
        public payable
        Sponge(prime, 1, 1, nRounds)
    {
        roundConstantsContract = roundConstantsContract_;
    }

    function LoadAuxdata()
        internal view
        returns (uint256[] memory roundConstants)
    {
        roundConstants = new uint256[](nRounds);
        address contractAddr = roundConstantsContract;
        assembly {
            let sizeInBytes := mul(mload(roundConstants), 0x20)
            // The first and last round use the roundConstants 0.
            mstore(add(roundConstants, 0x20), 0)
            extcodecopy(contractAddr, add(roundConstants, 0x40), 0, sub(sizeInBytes, 0x40))
            // Last roundConstants is at offset 0x20 + sizeInBytes - 0x20.
            mstore(add(roundConstants, sizeInBytes), 0)
        }
    }

    function permutation_func(uint256[] memory roundConstants, uint256[] memory elements)
        internal view
        returns (uint256[] memory hash_elements)
    {
        uint256 xLeft = elements[0];
        uint256 xRight = elements[1];
        for (uint256 i = 0; i < roundConstants.length; i++) {
            uint256 xLeftOld;
            xLeftOld = xLeft;
            uint256 step1 = addmod(xLeft, roundConstants[i], prime);
            uint256 step2 = mulmod(mulmod(step1, step1, prime), step1, prime);
            xLeft = addmod(xRight, step2, prime);
            xRight = xLeftOld;
        }
        hash_elements = new uint256[](2);
        hash_elements[0] = xLeft;
        hash_elements[1] = xRight;
    }
}

File 2 of 3: Base.sol
/*
  Copyright 2019 StarkWare Industries Ltd.

  Licensed under the Apache License, Version 2.0 (the "License").
  You may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  https://www.starkware.co/open-source-license/

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions
  and limitations under the License.
*/

pragma solidity ^0.5.2;


contract Base {
    event LogString(string str);

    address payable internal operator;
    uint256 constant internal MINIMUM_TIME_TO_REVEAL = 1 days;
    uint256 constant internal TIME_TO_ALLOW_REVOKE = 7 days;
    bool internal isRevokeStarted = false;
    uint256 internal revokeTime = 0; // The time from which we can revoke.
    bool internal active = true;

    // mapping: (address, commitment) -> time
    // Times from which the users may claim the reward.
    mapping (address => mapping (bytes32 => uint256)) private reveal_timestamps;


    constructor ()
        internal
    {
        operator = msg.sender;
    }

    modifier onlyOperator()
    {
        require(msg.sender == operator, "ONLY_OPERATOR");
        _; // The _; defines where the called function is executed.
    }

    function register(bytes32 commitment)
        public
    {
        require(reveal_timestamps[msg.sender][commitment] == 0, "Entry already registered.");
        reveal_timestamps[msg.sender][commitment] = now + MINIMUM_TIME_TO_REVEAL;
    }


    /*
      Makes sure that the commitment was registered at least MINIMUM_TIME_TO_REVEAL before
      the current time.
    */
    function verifyTimelyRegistration(bytes32 commitment)
        internal view
    {
        uint256 registrationMaturationTime = reveal_timestamps[msg.sender][commitment];
        require(registrationMaturationTime != 0, "Commitment is not registered.");
        require(now >= registrationMaturationTime, "Time for reveal has not passed yet.");
    }


    /*
      WARNING: This function should only be used with call() and not transact().
      Creating a transaction that invokes this function might reveal the collision and make it
      subject to front-running.
    */
    function calcCommitment(uint256[] memory firstInput, uint256[] memory secondInput)
        public view
        returns (bytes32 commitment)
    {
        address sender = msg.sender;
        uint256 firstLength = firstInput.length;
        uint256 secondLength = secondInput.length;
        uint256[] memory hash_elements = new uint256[](1 + firstLength + secondLength);
        hash_elements[0] = uint256(sender);
        uint256 offset = 1;
        for (uint256 i = 0; i < firstLength; i++) {
            hash_elements[offset + i] = firstInput[i];
        }
        offset = 1 + firstLength;
        for (uint256 i = 0; i < secondLength; i++) {
            hash_elements[offset + i] = secondInput[i];
        }
        commitment = keccak256(abi.encodePacked(hash_elements));
    }

    function claimReward(
        uint256[] memory firstInput,
        uint256[] memory secondInput,
        string memory solutionDescription,
        string memory name)
        public
    {
        require(active == true, "This challenge is no longer active. Thank you for participating.");
        require(firstInput.length > 0, "First input cannot be empty.");
        require(secondInput.length > 0, "Second input cannot be empty.");
        require(firstInput.length == secondInput.length, "Input lengths are not equal.");
        uint256 inputLength = firstInput.length;
        bool sameInput = true;
        for (uint256 i = 0; i < inputLength; i++) {
            if (firstInput[i] != secondInput[i]) {
                sameInput = false;
            }
        }
        require(sameInput == false, "Inputs are equal.");
        bool sameHash = true;
        uint256[] memory firstHash = applyHash(firstInput);
        uint256[] memory secondHash = applyHash(secondInput);
        require(firstHash.length == secondHash.length, "Output lengths are not equal.");
        uint256 outputLength = firstHash.length;
        for (uint256 i = 0; i < outputLength; i++) {
            if (firstHash[i] != secondHash[i]) {
                sameHash = false;
            }
        }
        require(sameHash == true, "Not a collision.");
        verifyTimelyRegistration(calcCommitment(firstInput, secondInput));

        active = false;
        emit LogString(solutionDescription);
        emit LogString(name);
        msg.sender.transfer(address(this).balance);
    }

    function applyHash(uint256[] memory elements)
        public view
        returns (uint256[] memory elementsHash)
    {
        elementsHash = sponge(elements);
    }

    function startRevoke()
        public
        onlyOperator()
    {
        require(isRevokeStarted == false, "Revoke already started.");
        isRevokeStarted = true;
        revokeTime = now + TIME_TO_ALLOW_REVOKE;
    }

    function revokeReward()
        public
        onlyOperator()
    {
        require(isRevokeStarted == true, "Revoke not started yet.");
        require(now >= revokeTime, "Revoke time not passed.");
        active = false;
        operator.transfer(address(this).balance);
    }

    function sponge(uint256[] memory inputs)
        internal view
        returns (uint256[] memory outputElements);

    function getStatus()
        public view
        returns (bool[] memory status)
    {
        status = new bool[](2);
        status[0] = isRevokeStarted;
        status[1] = active;
    }
}

File 3 of 3: Sponge.sol
/*
  Copyright 2019 StarkWare Industries Ltd.

  Licensed under the Apache License, Version 2.0 (the "License").
  You may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  https://www.starkware.co/open-source-license/

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions
  and limitations under the License.
*/

pragma solidity ^0.5.2;


contract Sponge {
    uint256 prime;
    uint256 r;
    uint256 c;
    uint256 m;
    uint256 outputSize;
    uint256 nRounds;

    constructor (uint256 prime_, uint256 r_, uint256 c_, uint256 nRounds_)
        public
    {
        prime = prime_;
        r = r_;
        c = c_;
        m = r + c;
        outputSize = c;
        nRounds = nRounds_;
    }

    function LoadAuxdata()
        internal view
        returns (uint256[] memory /*auxdata*/);

    function permutation_func(uint256[] memory /*auxdata*/, uint256[] memory /*elements*/)
        internal view
        returns (uint256[] memory /*hash_elements*/);

    function sponge(uint256[] memory inputs)
        internal view
        returns (uint256[] memory outputElements)
    {
        uint256 inputLength = inputs.length;
        for (uint256 i = 0; i < inputLength; i++) {
            require(inputs[i] < prime, "elements do not belong to the field");
        }

        require(inputLength % r == 0, "Number of field elements is not divisible by r.");

        uint256[] memory state = new uint256[](m);
        for (uint256 i = 0; i < m; i++) {
            state[i] = 0; // fieldZero.
        }

        uint256[] memory auxData = LoadAuxdata();
        uint256 n_columns = inputLength / r;
        for (uint256 i = 0; i < n_columns; i++) {
            for (uint256 j = 0; j < r; j++) {
                state[j] = addmod(state[j], inputs[i * r + j], prime);
            }
            state = permutation_func(auxData, state);
        }

        require(outputSize <= r, "No support for more than r output elements.");
        outputElements = new uint256[](outputSize);
        for (uint256 i = 0; i < outputSize; i++) {
            outputElements[i] = state[i];
        }
    }

    function getParameters()
        public view
        returns (uint256[] memory status)
    {
        status = new uint256[](4);
        status[0] = prime;
        status[1] = r;
        status[2] = c;
        status[3] = nRounds;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"internalType":"uint256[]","name":"firstInput","type":"uint256[]"},{"internalType":"uint256[]","name":"secondInput","type":"uint256[]"}],"name":"calcCommitment","outputs":[{"internalType":"bytes32","name":"commitment","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256[]","name":"elements","type":"uint256[]"}],"name":"applyHash","outputs":[{"internalType":"uint256[]","name":"elementsHash","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256[]","name":"firstInput","type":"uint256[]"},{"internalType":"uint256[]","name":"secondInput","type":"uint256[]"},{"internalType":"string","name":"solutionDescription","type":"string"},{"internalType":"string","name":"name","type":"string"}],"name":"claimReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getStatus","outputs":[{"internalType":"bool[]","name":"status","type":"bool[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"revokeReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startRevoke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getParameters","outputs":[{"internalType":"uint256[]","name":"status","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"commitment","type":"bytes32"}],"name":"register","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"prime","type":"uint256"},{"internalType":"uint256","name":"nRounds","type":"uint256"},{"internalType":"address","name":"roundConstantsContract_","type":"address"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"str","type":"string"}],"name":"LogString","type":"event"}]

608060408190526000805460ff60a01b1916815560019081556002805460ff191690911790556117f2388190039081908339818101604052606081101561004557600080fd5b508051602082015160409092015160008054336001600160a01b03199182161782556004939093556001600581905560068190556002600755600855600993909355600a80549092166001600160a01b039091161790556117469081906100ac90396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80635d649ea91161005b5780635d649ea9146104f857806377640ddf14610500578063a5ea11da14610508578063e1fa8e841461051057610088565b80631ef398ec1461008d5780632038228f146101c65780634b6e5938146102b95780634e69d560146104f0575b600080fd5b6101b4600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111640100000000831117156100f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561014257600080fd5b82018360208201111561015457600080fd5b8035906020019184602083028401116401000000008311171561017657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061052d945050505050565b60408051918252519081900360200190f35b610269600480360360208110156101dc57600080fd5b8101906020810181356401000000008111156101f757600080fd5b82018360208201111561020957600080fd5b8035906020019184602083028401116401000000008311171561022b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610684945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a557818101518382015260200161028d565b505050509050019250505060405180910390f35b6104ee600480360360808110156102cf57600080fd5b8101906020810181356401000000008111156102ea57600080fd5b8201836020820111156102fc57600080fd5b8035906020019184602083028401116401000000008311171561031e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561036e57600080fd5b82018360208201111561038057600080fd5b803590602001918460208302840111640100000000831117156103a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103f257600080fd5b82018360208201111561040457600080fd5b8035906020019184600183028401116401000000008311171561042657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561047957600080fd5b82018360208201111561048b57600080fd5b803590602001918460018302840111640100000000831117156104ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610695945050505050565b005b610269610be6565b6104ee610c6b565b6104ee610e63565b610269610fbd565b6104ee6004803603602081101561052657600080fd5b5035611053565b81518151604080518284016001018082526020808202830101909252600093339390929091606091801561056b578160200160208202803883390190505b5090508373ffffffffffffffffffffffffffffffffffffffff168160008151811061059257fe5b6020908102919091010152600160005b848110156105df578881815181106105b657fe5b602002602001015183828401815181106105cc57fe5b60209081029190910101526001016105a2565b50506001830160005b83811015610625578781815181106105fc57fe5b6020026020010151838284018151811061061257fe5b60209081029190910101526001016105e8565b508160405160200180828051906020019060200280838360005b8381101561065757818101518382015260200161063f565b50505050905001915050604051602081830303815290604052805190602001209550505050505092915050565b606061068f826110fd565b92915050565b60025460ff1615156001146106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806116d26040913960400191505060405180910390fd5b600084511161076557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f466972737420696e7075742063616e6e6f7420626520656d7074792e00000000604482015290519081900360640190fd5b60008351116107d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f5365636f6e6420696e7075742063616e6e6f7420626520656d7074792e000000604482015290519081900360640190fd5b825184511461084557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f496e707574206c656e6774687320617265206e6f7420657175616c2e00000000604482015290519081900360640190fd5b8351600160005b8281101561088e5785818151811061086057fe5b602002602001015187828151811061087457fe5b60200260200101511461088657600091505b60010161084c565b5080156108fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f496e707574732061726520657175616c2e000000000000000000000000000000604482015290519081900360640190fd5b6001606061090988610684565b9050606061091688610684565b9050805182511461098857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f7574707574206c656e6774687320617265206e6f7420657175616c2e000000604482015290519081900360640190fd5b815160005b818110156109cf578281815181106109a157fe5b60200260200101518482815181106109b557fe5b6020026020010151146109c757600094505b60010161098d565b50600184151514610a4157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206120636f6c6c6973696f6e2e00000000000000000000000000000000604482015290519081900360640190fd5b610a53610a4e8b8b61052d565b6113bd565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040805160208082528a51818301528a517fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f938c93928392918301919085019080838360005b83811015610ad9578181015183820152602001610ac1565b50505050905090810190601f168015610b065780820380516001836020036101000a031916815260200191505b509250505060405180910390a17fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f876040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b72578181015183820152602001610b5a565b50505050905090810190601f168015610b9f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a16040513390303180156108fc02916000818181858888f19350505050158015610bd9573d6000803e3d6000fd5b5050505050505050505050565b6040805160028082526060808301845292602083019080388339505060008054835193945074010000000000000000000000000000000000000000900460ff1692849250610c3057fe5b91151560209283029190910190910152600254815160ff9091169082906001908110610c5857fe5b9115156020928302919091019091015290565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cf157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f5200000000000000000000000000000000000000604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff161515600114610d7f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b65206e6f742073746172746564207965742e000000000000000000604482015290519081900360640190fd5b600154421015610df057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b652074696d65206e6f74207061737365642e000000000000000000604482015290519081900360640190fd5b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556000805460405173ffffffffffffffffffffffffffffffffffffffff90911691303180156108fc02929091818181858888f19350505050158015610e60573d6000803e3d6000fd5b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ee957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f5200000000000000000000000000000000000000604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff1615610f7357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b6520616c726561647920737461727465642e000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790554262093a8001600155565b60408051600480825260a082019092526060916020820160808038833901905050905060045481600081518110610ff057fe5b6020026020010181815250506005548160018151811061100c57fe5b6020026020010181815250506006548160028151811061102857fe5b6020026020010181815250506009548160038151811061104457fe5b60200260200101818152505090565b336000908152600360209081526040808320848452909152902054156110da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f456e74727920616c726561647920726567697374657265642e00000000000000604482015290519081900360640190fd5b336000908152600360209081526040808320938352929052204262015180019055565b805160609060005b818110156111825760045484828151811061111c57fe5b60200260200101511061117a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116326023913960400191505060405180910390fd5b600101611105565b50600554818161118e57fe5b06156111e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806116a3602f913960400191505060405180910390fd5b6060600754604051908082528060200260200182016040528015611213578160200160208202803883390190505b50905060005b60075481101561124457600082828151811061123157fe5b6020908102919091010152600101611219565b50606061124f6114a1565b90506000600554848161125e57fe5b04905060005b818110156112e65760005b6005548110156112d1576004548061128357fe5b88826005548502018151811061129557fe5b60200260200101518683815181106112a957fe5b6020026020010151088582815181106112be57fe5b602090810291909101015260010161126f565b506112dc8385611531565b9350600101611264565b506005546008541115611344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611678602b913960400191505060405180910390fd5b600854604051908082528060200260200182016040528015611370578160200160208202803883390190505b50945060005b6008548110156113b35783818151811061138c57fe5b60200260200101518682815181106113a057fe5b6020908102919091010152600101611376565b5050505050919050565b3360009081526003602090815260408083208484529091529020548061144457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f436f6d6d69746d656e74206973206e6f7420726567697374657265642e000000604482015290519081900360640190fd5b8042101561149d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116556023913960400191505060405180910390fd5b5050565b60606009546040519080825280602002602001820160405280156114cf578160200160208202803883390190505b50600a5481516000602080850182905293945073ffffffffffffffffffffffffffffffffffffffff9092169202907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082019060408501843c6000908301525090565b606060008260008151811061154257fe5b6020026020010151905060008360018151811061155b57fe5b6020026020010151905060008090505b85518110156115d45760045483906000908061158357fe5b88848151811061158f57fe5b6020026020010151860890506000600454806115a757fe5b82600454806115b257fe5b848509099050600454806115c257fe5b8186089550919350505060010161156b565b506040805160028082526060820183529091602083019080388339019050509250818360008151811061160357fe5b602002602001018181525050808360018151811061161d57fe5b60200260200101818152505050509291505056fe656c656d656e747320646f206e6f742062656c6f6e6720746f20746865206669656c6454696d6520666f722072657665616c20686173206e6f7420706173736564207965742e4e6f20737570706f727420666f72206d6f7265207468616e2072206f757470757420656c656d656e74732e4e756d626572206f66206669656c6420656c656d656e7473206973206e6f7420646976697369626c6520627920722e54686973206368616c6c656e6765206973206e6f206c6f6e676572206163746976652e205468616e6b20796f7520666f722070617274696369706174696e672ea265627a7a72315820f89289238d129fbf30d63fa530b2d9390a15c1eb4e2013005698528ebe97507e64736f6c634300050b003200000000000000000000000000000000000000000800000500000000000000010000000000000000000000000000000000000000000000000000000000000074000000000000000000000000567d33f53623377dcb9896ec1aeca4891ead1c4b

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100885760003560e01c80635d649ea91161005b5780635d649ea9146104f857806377640ddf14610500578063a5ea11da14610508578063e1fa8e841461051057610088565b80631ef398ec1461008d5780632038228f146101c65780634b6e5938146102b95780634e69d560146104f0575b600080fd5b6101b4600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111640100000000831117156100f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561014257600080fd5b82018360208201111561015457600080fd5b8035906020019184602083028401116401000000008311171561017657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061052d945050505050565b60408051918252519081900360200190f35b610269600480360360208110156101dc57600080fd5b8101906020810181356401000000008111156101f757600080fd5b82018360208201111561020957600080fd5b8035906020019184602083028401116401000000008311171561022b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610684945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a557818101518382015260200161028d565b505050509050019250505060405180910390f35b6104ee600480360360808110156102cf57600080fd5b8101906020810181356401000000008111156102ea57600080fd5b8201836020820111156102fc57600080fd5b8035906020019184602083028401116401000000008311171561031e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561036e57600080fd5b82018360208201111561038057600080fd5b803590602001918460208302840111640100000000831117156103a257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156103f257600080fd5b82018360208201111561040457600080fd5b8035906020019184600183028401116401000000008311171561042657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561047957600080fd5b82018360208201111561048b57600080fd5b803590602001918460018302840111640100000000831117156104ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610695945050505050565b005b610269610be6565b6104ee610c6b565b6104ee610e63565b610269610fbd565b6104ee6004803603602081101561052657600080fd5b5035611053565b81518151604080518284016001018082526020808202830101909252600093339390929091606091801561056b578160200160208202803883390190505b5090508373ffffffffffffffffffffffffffffffffffffffff168160008151811061059257fe5b6020908102919091010152600160005b848110156105df578881815181106105b657fe5b602002602001015183828401815181106105cc57fe5b60209081029190910101526001016105a2565b50506001830160005b83811015610625578781815181106105fc57fe5b6020026020010151838284018151811061061257fe5b60209081029190910101526001016105e8565b508160405160200180828051906020019060200280838360005b8381101561065757818101518382015260200161063f565b50505050905001915050604051602081830303815290604052805190602001209550505050505092915050565b606061068f826110fd565b92915050565b60025460ff1615156001146106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806116d26040913960400191505060405180910390fd5b600084511161076557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f466972737420696e7075742063616e6e6f7420626520656d7074792e00000000604482015290519081900360640190fd5b60008351116107d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f5365636f6e6420696e7075742063616e6e6f7420626520656d7074792e000000604482015290519081900360640190fd5b825184511461084557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f496e707574206c656e6774687320617265206e6f7420657175616c2e00000000604482015290519081900360640190fd5b8351600160005b8281101561088e5785818151811061086057fe5b602002602001015187828151811061087457fe5b60200260200101511461088657600091505b60010161084c565b5080156108fc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f496e707574732061726520657175616c2e000000000000000000000000000000604482015290519081900360640190fd5b6001606061090988610684565b9050606061091688610684565b9050805182511461098857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f7574707574206c656e6774687320617265206e6f7420657175616c2e000000604482015290519081900360640190fd5b815160005b818110156109cf578281815181106109a157fe5b60200260200101518482815181106109b557fe5b6020026020010151146109c757600094505b60010161098d565b50600184151514610a4157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206120636f6c6c6973696f6e2e00000000000000000000000000000000604482015290519081900360640190fd5b610a53610a4e8b8b61052d565b6113bd565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040805160208082528a51818301528a517fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f938c93928392918301919085019080838360005b83811015610ad9578181015183820152602001610ac1565b50505050905090810190601f168015610b065780820380516001836020036101000a031916815260200191505b509250505060405180910390a17fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f876040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b72578181015183820152602001610b5a565b50505050905090810190601f168015610b9f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a16040513390303180156108fc02916000818181858888f19350505050158015610bd9573d6000803e3d6000fd5b5050505050505050505050565b6040805160028082526060808301845292602083019080388339505060008054835193945074010000000000000000000000000000000000000000900460ff1692849250610c3057fe5b91151560209283029190910190910152600254815160ff9091169082906001908110610c5857fe5b9115156020928302919091019091015290565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cf157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f5200000000000000000000000000000000000000604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff161515600114610d7f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b65206e6f742073746172746564207965742e000000000000000000604482015290519081900360640190fd5b600154421015610df057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b652074696d65206e6f74207061737365642e000000000000000000604482015290519081900360640190fd5b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556000805460405173ffffffffffffffffffffffffffffffffffffffff90911691303180156108fc02929091818181858888f19350505050158015610e60573d6000803e3d6000fd5b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ee957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f5200000000000000000000000000000000000000604482015290519081900360640190fd5b60005474010000000000000000000000000000000000000000900460ff1615610f7357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5265766f6b6520616c726561647920737461727465642e000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790554262093a8001600155565b60408051600480825260a082019092526060916020820160808038833901905050905060045481600081518110610ff057fe5b6020026020010181815250506005548160018151811061100c57fe5b6020026020010181815250506006548160028151811061102857fe5b6020026020010181815250506009548160038151811061104457fe5b60200260200101818152505090565b336000908152600360209081526040808320848452909152902054156110da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f456e74727920616c726561647920726567697374657265642e00000000000000604482015290519081900360640190fd5b336000908152600360209081526040808320938352929052204262015180019055565b805160609060005b818110156111825760045484828151811061111c57fe5b60200260200101511061117a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116326023913960400191505060405180910390fd5b600101611105565b50600554818161118e57fe5b06156111e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806116a3602f913960400191505060405180910390fd5b6060600754604051908082528060200260200182016040528015611213578160200160208202803883390190505b50905060005b60075481101561124457600082828151811061123157fe5b6020908102919091010152600101611219565b50606061124f6114a1565b90506000600554848161125e57fe5b04905060005b818110156112e65760005b6005548110156112d1576004548061128357fe5b88826005548502018151811061129557fe5b60200260200101518683815181106112a957fe5b6020026020010151088582815181106112be57fe5b602090810291909101015260010161126f565b506112dc8385611531565b9350600101611264565b506005546008541115611344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611678602b913960400191505060405180910390fd5b600854604051908082528060200260200182016040528015611370578160200160208202803883390190505b50945060005b6008548110156113b35783818151811061138c57fe5b60200260200101518682815181106113a057fe5b6020908102919091010152600101611376565b5050505050919050565b3360009081526003602090815260408083208484529091529020548061144457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f436f6d6d69746d656e74206973206e6f7420726567697374657265642e000000604482015290519081900360640190fd5b8042101561149d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806116556023913960400191505060405180910390fd5b5050565b60606009546040519080825280602002602001820160405280156114cf578160200160208202803883390190505b50600a5481516000602080850182905293945073ffffffffffffffffffffffffffffffffffffffff9092169202907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082019060408501843c6000908301525090565b606060008260008151811061154257fe5b6020026020010151905060008360018151811061155b57fe5b6020026020010151905060008090505b85518110156115d45760045483906000908061158357fe5b88848151811061158f57fe5b6020026020010151860890506000600454806115a757fe5b82600454806115b257fe5b848509099050600454806115c257fe5b8186089550919350505060010161156b565b506040805160028082526060820183529091602083019080388339019050509250818360008151811061160357fe5b602002602001018181525050808360018151811061161d57fe5b60200260200101818152505050509291505056fe656c656d656e747320646f206e6f742062656c6f6e6720746f20746865206669656c6454696d6520666f722072657665616c20686173206e6f7420706173736564207965742e4e6f20737570706f727420666f72206d6f7265207468616e2072206f757470757420656c656d656e74732e4e756d626572206f66206669656c6420656c656d656e7473206973206e6f7420646976697369626c6520627920722e54686973206368616c6c656e6765206973206e6f206c6f6e676572206163746976652e205468616e6b20796f7520666f722070617274696369706174696e672ea265627a7a72315820f89289238d129fbf30d63fa530b2d9390a15c1eb4e2013005698528ebe97507e64736f6c634300050b0032

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

00000000000000000000000000000000000000000800000500000000000000010000000000000000000000000000000000000000000000000000000000000074000000000000000000000000567d33f53623377dcb9896ec1aeca4891ead1c4b

-----Decoded View---------------
Arg [0] : prime (uint256): 2475880170804480918346006529
Arg [1] : nRounds (uint256): 116
Arg [2] : roundConstantsContract_ (address): 0x567d33f53623377dcb9896Ec1aecA4891eAD1c4B

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000080000050000000000000001
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000074
Arg [2] : 000000000000000000000000567d33f53623377dcb9896ec1aeca4891ead1c4b


Deployed Bytecode Sourcemap

1496:1683:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1496:1683:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2373:783:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2373:783:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;2373:783:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2373:783:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2373:783:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2373:783:0;;;;;;;;-1:-1:-1;2373:783:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;2373:783:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2373:783:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2373:783:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2373:783:0;;-1:-1:-1;2373:783:0;;-1:-1:-1;;;;;2373:783:0:i;:::-;;;;;;;;;;;;;;;;4731:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4731:166:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;4731:166:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4731:166:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4731:166:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4731:166:0;;-1:-1:-1;4731:166:0;;-1:-1:-1;;;;;4731:166:0:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4731:166:0;;;;;;;;;;;;;;;;;3162:1563;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3162:1563:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3162:1563:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3162:1563:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3162:1563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3162:1563:0;;;;;;;;-1:-1:-1;3162:1563:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3162:1563:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3162:1563:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3162:1563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3162:1563:0;;;;;;;;-1:-1:-1;3162:1563:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3162:1563:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3162:1563:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3162:1563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3162:1563:0;;;;;;;;-1:-1:-1;3162:1563:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3162:1563:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3162:1563:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3162:1563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3162:1563:0;;-1:-1:-1;3162:1563:0;;-1:-1:-1;;;;;3162:1563:0:i;:::-;;5536:188;;;:::i;5132:279::-;;;:::i;4903:223::-;;;:::i;2375:235:2:-;;;:::i;1419:240:0:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1419:240:0;;:::i;2373:783::-;2586:17;;2636:18;;2697:45;;;2711:30;;;:1;:30;2697:45;;;;;;;;;;;;;2493:18;;2544:10;;2586:17;;2636:18;;2664:30;;2697:45;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;2697:45:0;;2664:78;;2779:6;2771:15;;2752:13;2766:1;2752:16;;;;;;;;;;;;;;;;;:34;2813:1;2796:14;2824:108;2848:11;2844:1;:15;2824:108;;;2908:10;2919:1;2908:13;;;;;;;;;;;;;;2880;2903:1;2894:6;:10;2880:25;;;;;;;;;;;;;;;;;:41;2861:3;;2824:108;;;-1:-1:-1;;2950:1:0;:15;;2980:9;2975:110;2999:12;2995:1;:16;2975:110;;;3060:11;3072:1;3060:14;;;;;;;;;;;;;;3032:13;3055:1;3046:6;:10;3032:25;;;;;;;;;;;;;;;;;:42;3013:3;;2975:110;;;;3134:13;3117:31;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3117:31:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3117:31:0;;;3107:42;;;;;;3094:55;;2373:783;;;;;;;;;:::o;4731:166::-;4814:29;4874:16;4881:8;4874:6;:16::i;:::-;4859:31;4731:166;-1:-1:-1;;4731:166:0:o;3162:1563::-;3367:6;;;;:14;;:6;:14;3359:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3488:1;3468:10;:17;:21;3460:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3561:1;3540:11;:18;:22;3532:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3635:11;:18;3614:10;:17;:39;3606:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3718:17;;3762:4;3696:19;3776:153;3800:11;3796:1;:15;3776:153;;;3853:11;3865:1;3853:14;;;;;;;;;;;;;;3836:10;3847:1;3836:13;;;;;;;;;;;;;;:31;3832:87;;3899:5;3887:17;;3832:87;3813:3;;3776:153;;;-1:-1:-1;3946:18:0;;3938:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4012:4;4026:26;4055:21;4065:10;4055:9;:21::i;:::-;4026:50;;4086:27;4116:22;4126:11;4116:9;:22::i;:::-;4086:52;;4176:10;:17;4156:9;:16;:37;4148:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4260:16;;4237:20;4286:151;4310:12;4306:1;:16;4286:151;;;4363:10;4374:1;4363:13;;;;;;;;;;;;;;4347:9;4357:1;4347:12;;;;;;;;;;;;;;:29;4343:84;;4407:5;4396:16;;4343:84;4324:3;;4286:151;;;-1:-1:-1;4466:4:0;4454:16;;;;4446:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4501:65;4526:39;4541:10;4553:11;4526:14;:39::i;:::-;4501:24;:65::i;:::-;4577:6;:14;;;;;;4606:30;;;;;;;;;;;;;;;;;4616:19;;4606:30;;;;;;;;;;;;;;4586:5;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4606:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4651:15;4661:4;4651:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4651:15:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4676:42;;:10;;4704:4;4696:21;4676:42;;;;;;;;;4696:21;4676:10;:42;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4676:42:0;3162:1563;;;;;;;;;;:::o;5536:188::-;5639:13;;;5650:1;5639:13;;;5594:20;5639:13;;;;;5594:20;5639:13;;;;;105:10:-1;5639:13:0;88:34:-1;-1:-1;;5674:15:0;;;5662:9;;;;-1:-1:-1;5674:15:0;;;;;;5662:9;;-1:-1:-1;5662:9:0;;;;:27;;;:9;;;;;;;;;;;:27;5711:6;;5699:9;;5711:6;;;;;5699;;5711;;5699:9;;;;;;:18;;;:9;;;;;;;;;;;:18;5536:188;:::o;5132:279::-;1312:8;;;;1298:10;:22;1290:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5216:15;;;;;;;:23;;5235:4;5216:23;5208:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5292:10;;5285:3;:17;;5277:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5340:6;:14;;;;;;5349:5;5364:8;;:40;;:8;;;;;5390:4;5382:21;5364:40;;;;;5382:21;;5364:40;5349:5;5364:40;5382:21;5364:8;:40;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5364:40:0;5132:279::o;4903:223::-;1312:8;;;;1298:10;:22;1290:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4986:15;;;;;;;:24;4978:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5048:15;:22;;;;;;;;5093:3;823:6;5093:26;5066:4;5080:39;4903:223::o;2375:235:2:-;2485:16;;;2499:1;2485:16;;;;;;;;;2437:23;;2485:16;;;17:15:-1;;105:10;2485:16:2;88:34:-1;136:17;;-1:-1;2485:16:2;2476:25;;2523:5;;2511:6;2518:1;2511:9;;;;;;;;;;;;;:17;;;;;2550:1;;2538:6;2545:1;2538:9;;;;;;;;;;;;;:13;;;;;2573:1;;2561:6;2568:1;2561:9;;;;;;;;;;;;;:13;;;;;2596:7;;2584:6;2591:1;2584:9;;;;;;;;;;;;;:19;;;;;2375:235;:::o;1419:240:0:-;1512:10;1494:29;;;;:17;:29;;;;;;;;:41;;;;;;;;;:46;1486:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1598:10;1580:29;;;;:17;:29;;;;;;;;:41;;;;;;;1624:3;762:6;1624:28;1580:72;;1419:240::o;1246:1123:2:-;1395:13;;1326:31;;1373:19;1418:132;1442:11;1438:1;:15;1418:132;;;1494:5;;1482:6;1489:1;1482:9;;;;;;;;;;;;;;:17;1474:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:3;;1418:132;;;;1582:1;;1568:11;:15;;;;;;:20;1560:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1651:22;1690:1;;1676:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;1676:16:2;-1:-1:-1;1651:41:2;-1:-1:-1;1707:9:2;1702:83;1726:1;;1722;:5;1702:83;;;1759:1;1748:5;1754:1;1748:8;;;;;;;;;;;;;;;;;:12;1729:3;;1702:83;;;;1795:24;1822:13;:11;:13::i;:::-;1795:40;;1845:17;1879:1;;1865:11;:15;;;;;;;-1:-1:-1;1895:9:2;1890:236;1914:9;1910:1;:13;1890:236;;;1949:9;1944:118;1968:1;;1964;:5;1944:118;;;2041:5;;2005:42;;;;;2022:6;2037:1;2033;;2029;:5;:9;2022:17;;;;;;;;;;;;;;2012:5;2018:1;2012:8;;;;;;;;;;;;;;2005:42;1994:5;2000:1;1994:8;;;;;;;;;;;;;;;;;:53;1971:3;;1944:118;;;;2083:32;2100:7;2109:5;2083:16;:32::i;:::-;2075:40;-1:-1:-1;1925:3:2;;1890:236;;;;2158:1;;2144:10;;:15;;2136:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2248:10;;2234:25;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;2234:25:2;-1:-1:-1;2217:42:2;-1:-1:-1;2274:9:2;2269:94;2293:10;;2289:1;:14;2269:94;;;2344:5;2350:1;2344:8;;;;;;;;;;;;;;2324:14;2339:1;2324:17;;;;;;;;;;;;;;;;;:28;2305:3;;2269:94;;;;1246:1123;;;;;;;:::o;1795:349:0:-;1940:10;1885:34;1922:29;;;:17;:29;;;;;;;;:41;;;;;;;;;1981:31;1973:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2071:26;2064:3;:33;;2056:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1795:349;;:::o;1815:641:1:-;1877:31;1955:7;;1941:22;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;1941:22:1;-1:-1:-1;1996:22:1;;2074:21;;1973:20;2097:4;2188:25;;;2181:36;;;1924:39;;-1:-1:-1;1996:22:1;;;;;2070:32;;2286:22;;;;2303:4;2256:25;;1996:22;2230:79;2438:1;2404:32;;;2397:43;-1:-1:-1;2408:14:1;2037:413::o;2462:715::-;2587:30;2633:13;2649:8;2658:1;2649:11;;;;;;;;;;;;;;2633:27;;2670:14;2687:8;2696:1;2687:11;;;;;;;;;;;;;;2670:28;;2713:9;2725:1;2713:13;;2708:352;2732:14;:21;2728:1;:25;2708:352;;;2883:5;;2815;;2774:16;;2883:5;2850:39;;;;2864:14;2879:1;2864:17;;;;;;;;;;;;;;2857:5;2850:39;2834:55;;2903:13;2962:5;;2919:49;;;;;2955:5;2947;;2926:27;;;;;2940:5;2933;2926:27;2919:49;2903:65;;3012:5;;2990:28;;;;;3005:5;2997:6;2990:28;2982:36;-1:-1:-1;3041:8:1;;-1:-1:-1;;;2755:3:1;;2708:352;;;-1:-1:-1;3085:16:1;;;3099:1;3085:16;;;;;;;;;;;;;;;105:10:-1;3085:16:1;88:34:-1;136:17;;-1:-1;3085:16:1;3069:32;;3130:5;3111:13;3125:1;3111:16;;;;;;;;;;;;;:24;;;;;3164:6;3145:13;3159:1;3145:16;;;;;;;;;;;;;:25;;;;;2462:715;;;;;;:::o

Swarm Source

bzzr://f89289238d129fbf30d63fa530b2d9390a15c1eb4e2013005698528ebe97507e

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.