ETH Price: $2,334.81 (+0.17%)
Gas: 0.05 Gwei

Contract

0xbf2f433d62456ca53E386d3dfD3000e4C497D377
 

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
Verify Availabil...99239472020-04-22 18:49:502155 days ago1587581390IN
0xbf2f433d...4C497D377
0 ETH0.000318676
Verify Availabil...99239452020-04-22 18:49:122155 days ago1587581352IN
0xbf2f433d...4C497D377
0 ETH0.000265565
Verify Availabil...99239432020-04-22 18:49:012155 days ago1587581341IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99239422020-04-22 18:48:592155 days ago1587581339IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99239422020-04-22 18:48:592155 days ago1587581339IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99239342020-04-22 18:47:182155 days ago1587581238IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99239312020-04-22 18:46:552155 days ago1587581215IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99239292020-04-22 18:46:292155 days ago1587581189IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99239242020-04-22 18:44:472155 days ago1587581087IN
0xbf2f433d...4C497D377
0 ETH0.000318676
Verify Availabil...99239182020-04-22 18:43:472155 days ago1587581027IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99239082020-04-22 18:41:062155 days ago1587580866IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99239082020-04-22 18:41:062155 days ago1587580866IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99239002020-04-22 18:39:272155 days ago1587580767IN
0xbf2f433d...4C497D377
0 ETH0.000265565
Verify Availabil...99238962020-04-22 18:38:482155 days ago1587580728IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99238962020-04-22 18:38:482155 days ago1587580728IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99238932020-04-22 18:38:092155 days ago1587580689IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99238892020-04-22 18:37:222155 days ago1587580642IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99238742020-04-22 18:34:572155 days ago1587580497IN
0xbf2f433d...4C497D377
0 ETH0.000382417.2
Verify Availabil...99238482020-04-22 18:27:442155 days ago1587580064IN
0xbf2f433d...4C497D377
0 ETH0.000382417.2
Verify Availabil...99238352020-04-22 18:24:592155 days ago1587579899IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99238222020-04-22 18:21:212155 days ago1587579681IN
0xbf2f433d...4C497D377
0 ETH0.000265625
Verify Availabil...99238082020-04-22 18:18:342155 days ago1587579514IN
0xbf2f433d...4C497D377
0 ETH0.000318756
Verify Availabil...99238052020-04-22 18:18:012155 days ago1587579481IN
0xbf2f433d...4C497D377
0 ETH0.000265565
Verify Availabil...99237712020-04-22 18:10:262155 days ago1587579026IN
0xbf2f433d...4C497D377
0 ETH0.000458998.63999999
Verify Availabil...99237162020-04-22 17:57:242155 days ago1587578244IN
0xbf2f433d...4C497D377
0 ETH0.000318676
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Is Valid99169102020-04-21 16:34:492156 days ago1587486889
0xbf2f433d...4C497D377
0 ETH
Is Valid99167002020-04-21 15:47:362156 days ago1587484056
0xbf2f433d...4C497D377
0 ETH
Is Valid99166772020-04-21 15:40:402156 days ago1587483640
0xbf2f433d...4C497D377
0 ETH
Is Valid97482512020-03-26 17:14:362182 days ago1585242876
0xbf2f433d...4C497D377
0 ETH
Is Valid97481822020-03-26 16:58:102182 days ago1585241890
0xbf2f433d...4C497D377
0 ETH
Is Valid97481052020-03-26 16:37:132182 days ago1585240633
0xbf2f433d...4C497D377
0 ETH
Is Valid97480012020-03-26 16:13:012182 days ago1585239181
0xbf2f433d...4C497D377
0 ETH
Is Valid97479302020-03-26 15:55:232182 days ago1585238123
0xbf2f433d...4C497D377
0 ETH
Is Valid97478322020-03-26 15:33:392182 days ago1585236819
0xbf2f433d...4C497D377
0 ETH
Is Valid97477612020-03-26 15:15:252182 days ago1585235725
0xbf2f433d...4C497D377
0 ETH
Is Valid97476632020-03-26 14:51:422182 days ago1585234302
0xbf2f433d...4C497D377
0 ETH
Is Valid97475772020-03-26 14:33:302182 days ago1585233210
0xbf2f433d...4C497D377
0 ETH
Is Valid97474742020-03-26 14:12:312182 days ago1585231951
0xbf2f433d...4C497D377
0 ETH
Is Valid97473662020-03-26 13:52:182182 days ago1585230738
0xbf2f433d...4C497D377
0 ETH
Is Valid97473152020-03-26 13:41:552182 days ago1585230115
0xbf2f433d...4C497D377
0 ETH
Is Valid97471802020-03-26 13:14:162182 days ago1585228456
0xbf2f433d...4C497D377
0 ETH
Is Valid97470952020-03-26 12:53:212182 days ago1585227201
0xbf2f433d...4C497D377
0 ETH
Is Valid97470512020-03-26 12:41:482182 days ago1585226508
0xbf2f433d...4C497D377
0 ETH
Is Valid97469062020-03-26 12:12:022182 days ago1585224722
0xbf2f433d...4C497D377
0 ETH
Is Valid97467962020-03-26 11:51:462182 days ago1585223506
0xbf2f433d...4C497D377
0 ETH
Is Valid97467052020-03-26 11:32:062182 days ago1585222326
0xbf2f433d...4C497D377
0 ETH
Is Valid97466122020-03-26 11:11:552182 days ago1585221115
0xbf2f433d...4C497D377
0 ETH
Is Valid97465282020-03-26 10:51:412182 days ago1585219901
0xbf2f433d...4C497D377
0 ETH
Is Valid97464442020-03-26 10:32:282182 days ago1585218748
0xbf2f433d...4C497D377
0 ETH
Is Valid97463522020-03-26 10:11:362182 days ago1585217496
0xbf2f433d...4C497D377
0 ETH
View All Internal Transactions
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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xc3A5b823...993330dDD
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Committee

Compiler Version
v0.5.15+commit.6a57276f

Optimization Enabled:
Yes with 100 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 5: Committee.sol
/*
  Copyright 2019,2020 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.
*/
// Solidity 0.5.4 has this bug: https://github.com/ethereum/solidity/issues/5997
// It's already fixed: https://github.com/ethereum/solidity/pull/6000 and will be released in 0.5.5.
pragma solidity ^0.5.2;

import "FactRegistry.sol";
import "Identity.sol";

contract Committee is FactRegistry, Identity {

    uint256 constant SIGNATURE_LENGTH = 32 * 2 + 1; // r(32) + s(32) +  v(1).
    uint256 public signaturesRequired;
    mapping (address => bool) public isMember;

    /// @dev Contract constructor sets initial members and required number of signatures.
    /// @param committeeMembers List of committee members.
    /// @param numSignaturesRequired Number of required signatures.
    constructor (address[] memory committeeMembers, uint256 numSignaturesRequired)
        public
    {
        require(numSignaturesRequired <= committeeMembers.length, "TOO_MANY_REQUIRED_SIGNATURES");
        for (uint256 idx = 0; idx < committeeMembers.length; idx++) {
            require(isMember[committeeMembers[idx]] == false, "NON_UNIQUE_COMMITTEE_MEMBERS");
            isMember[committeeMembers[idx]] = true;
        }
        signaturesRequired = numSignaturesRequired;
    }

    function identify()
        external pure
        returns(string memory)
    {
        return "StarkWare_Committee_2019_1";
    }

    /// @dev Verifies the availability proof. Reverts if invalid.
    /// An availability proof should have a form of a concatenation of ec-signatures by signatories.
    /// Signatures should be sorted by signatory address ascendingly.
    /// Signatures should be 65 bytes long. r(32) + s(32) + v(1).
    /// There should be at least the number of required signatures as defined in this contract
    /// and all signatures provided should be from signatories.
    ///
    /// See :sol:mod:`AvailabilityVerifiers` for more information on when this is used.
    ///
    /// @param claimHash The hash of the claim the committee is signing on.
    /// The format is keccak256(abi.encodePacked(
    ///    newVaultRoot, vaultTreeHeight, newOrderRoot, orderTreeHeight sequenceNumber))
    /// @param availabilityProofs Concatenated ec signatures by committee members.
    function verifyAvailabilityProof(
        bytes32 claimHash,
        bytes calldata availabilityProofs
    )
        external
    {
        require(
            availabilityProofs.length >= signaturesRequired * SIGNATURE_LENGTH,
            "INVALID_AVAILABILITY_PROOF_LENGTH");

        uint256 offset = 0;
        address prevRecoveredAddress = address(0);
        for (uint256 proofIdx = 0; proofIdx < signaturesRequired; proofIdx++) {
            bytes32 r = bytesToBytes32(availabilityProofs, offset);
            bytes32 s = bytesToBytes32(availabilityProofs, offset + 32);
            uint8 v = uint8(availabilityProofs[offset + 64]);
            offset += SIGNATURE_LENGTH;
            address recovered = ecrecover(
                claimHash,
                v,
                r,
                s
            );
            // Signatures should be sorted off-chain before submitting to enable cheap uniqueness
            // check on-chain.
            require(isMember[recovered], "AVAILABILITY_PROVER_NOT_IN_COMMITTEE");
            require(recovered > prevRecoveredAddress, "NON_SORTED_SIGNATURES");
            prevRecoveredAddress = recovered;
        }
        registerFact(claimHash);
    }

    function bytesToBytes32(bytes memory array, uint256 offset)
        private pure
        returns (bytes32 result) {
        // Arrays are prefixed by a 256 bit length parameter.
        uint256 actualOffset = offset + 32;

        // Read the bytes32 from array memory.
        // solium-disable-next-line security/no-inline-assembly
        assembly {
            result := mload(add(array, actualOffset))
        }
    }
}

File 2 of 5: FactRegistry.sol
/*
  Copyright 2019,2020 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 "IQueryableFactRegistry.sol";

contract FactRegistry is IQueryableFactRegistry {
    // Mapping: fact hash -> true.
    mapping (bytes32 => bool) private verifiedFact;

    // Indicates whether the Fact Registry has at least one fact registered.
    bool anyFactRegistered;

    /*
      Checks if a fact has been verified.
    */
    function isValid(bytes32 fact)
        external view
        returns(bool)
    {
        return verifiedFact[fact];
    }

    function registerFact(
        bytes32 factHash
        )
        internal
    {
        // This function stores the testiment hash in the mapping.
        verifiedFact[factHash] = true;

        // Mark first time off.
        if (!anyFactRegistered) {
            anyFactRegistered = true;
        }
    }

    /*
      Indicates whether at least one fact was registered.
    */
    function hasRegisteredFact()
        external view
        returns(bool)
    {
        return anyFactRegistered;
    }

}

File 3 of 5: Identity.sol
/*
  Copyright 2019,2020 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 Identity {

    /*
      Allows a caller, typically another contract,
      to ensure that the provided address is of the expected type and version.
    */
    function identify()
        external pure
        returns(string memory);
}

File 4 of 5: IFactRegistry.sol
/*
  Copyright 2019,2020 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;

/*
  The Fact Registry design pattern is a way to separate cryptographic verification from the
  business logic of the contract flow.

  A fact registry holds a hash table of verified "facts" which are represented by a hash of claims
  that the registry hash check and found valid. This table may be queried by accessing the
  isValid() function of the registry with a given hash.

  In addition, each fact registry exposes a registry specific function for submitting new claims
  together with their proofs. The information submitted varies from one registry to the other
  depending of the type of fact requiring verification.

  For further reading on the Fact Registry design pattern see this
  `StarkWare blog post <https://medium.com/starkware/the-fact-registry-a64aafb598b6>`_.
*/
contract IFactRegistry {
    /*
      Returns true if the given fact was previously registered in the contract.
    */
    function isValid(bytes32 fact)
        external view
        returns(bool);
}

File 5 of 5: IQueryableFactRegistry.sol
/*
  Copyright 2019,2020 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 "IFactRegistry.sol";

/*
  Extends the IFactRegistry interface with a query method that indicates
  whether the fact registry has successfully registered any fact or is still empty of such facts.
*/
contract IQueryableFactRegistry is IFactRegistry {

    /*
      Returns true if at least one fact has been registered.
    */
    function hasRegisteredFact()
        external view
        returns(bool);

}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address[]","name":"committeeMembers","type":"address[]"},{"internalType":"uint256","name":"numSignaturesRequired","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":true,"inputs":[],"name":"hasRegisteredFact","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"identify","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMember","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"fact","type":"bytes32"}],"name":"isValid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"signaturesRequired","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"claimHash","type":"bytes32"},{"internalType":"bytes","name":"availabilityProofs","type":"bytes"}],"name":"verifyAvailabilityProof","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

0x608060405234801561001057600080fd5b506040516107593803806107598339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825186602082028301116401000000008211171561008557600080fd5b82525081516020918201928201910280838360005b838110156100b257818101518382015260200161009a565b505050509190910160405250602001518351909250821115905061011d576040805162461bcd60e51b815260206004820152601c60248201527f544f4f5f4d414e595f52455155495245445f5349474e41545552455300000000604482015290519081900360640190fd5b60005b82518110156101fe576003600084838151811061013957fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16156101b2576040805162461bcd60e51b815260206004820152601c60248201527f4e4f4e5f554e495155455f434f4d4d49545445455f4d454d4245525300000000604482015290519081900360640190fd5b6001600360008584815181106101c457fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610120565b5060025550610547806102126000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063504f7f6f146100675780636a938567146100e0578063a230c52414610111578063ce757d2914610137578063d6354e1514610151578063eeb7286614610159575b600080fd5b6100de6004803603604081101561007d57600080fd5b8135919081019060408101602082013564010000000081111561009f57600080fd5b8201836020820111156100b157600080fd5b803590602001918460018302840111640100000000831117156100d357600080fd5b5090925090506101d6565b005b6100fd600480360360208110156100f657600080fd5b5035610421565b604080519115158252519081900360200190f35b6100fd6004803603602081101561012757600080fd5b50356001600160a01b0316610436565b61013f61044b565b60408051918252519081900360200190f35b6100fd610451565b61016161045a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019b578181015183820152602001610183565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025460410281101561021a5760405162461bcd60e51b81526004018080602001828103825260218152602001806104ce6021913960400191505060405180910390fd5b600080805b60025481101561041057600061026c86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250610491915050565b905060006102b387878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602088019050610491565b905060008787876040018181106102c657fe5b9050013560f81c60f81b60f81c9050604186019550600060018a83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561033a573d6000803e3d6000fd5b505060408051601f1901516001600160a01b03811660009081526003602052919091205490925060ff1690506103a15760405162461bcd60e51b81526004018080602001828103825260248152602001806104ef6024913960400191505060405180910390fd5b856001600160a01b0316816001600160a01b0316116103ff576040805162461bcd60e51b81526020600482015260156024820152744e4f4e5f534f525445445f5349474e41545552455360581b604482015290519081900360640190fd5b9450506001909201915061021f9050565b5061041a85610499565b5050505050565b60009081526020819052604090205460ff1690565b60036020526000908152604090205460ff1681565b60025481565b60015460ff1690565b60408051808201909152601a81527f537461726b576172655f436f6d6d69747465655f323031395f31000000000000602082015290565b016020015190565b6000818152602081905260409020805460ff191660019081179091555460ff166104ca576001805460ff1916811790555b5056fe494e56414c49445f415641494c4142494c4954595f50524f4f465f4c454e475448415641494c4142494c4954595f50524f5645525f4e4f545f494e5f434f4d4d4954544545a265627a7a72315820a04398d68163ea2f80879b38501098d68573a9850ab0321c4802e50f0541c81564736f6c634300050f0032000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b2849cbc25853685bfc4815ab51d28e810606a48

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063504f7f6f146100675780636a938567146100e0578063a230c52414610111578063ce757d2914610137578063d6354e1514610151578063eeb7286614610159575b600080fd5b6100de6004803603604081101561007d57600080fd5b8135919081019060408101602082013564010000000081111561009f57600080fd5b8201836020820111156100b157600080fd5b803590602001918460018302840111640100000000831117156100d357600080fd5b5090925090506101d6565b005b6100fd600480360360208110156100f657600080fd5b5035610421565b604080519115158252519081900360200190f35b6100fd6004803603602081101561012757600080fd5b50356001600160a01b0316610436565b61013f61044b565b60408051918252519081900360200190f35b6100fd610451565b61016161045a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019b578181015183820152602001610183565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025460410281101561021a5760405162461bcd60e51b81526004018080602001828103825260218152602001806104ce6021913960400191505060405180910390fd5b600080805b60025481101561041057600061026c86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250610491915050565b905060006102b387878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602088019050610491565b905060008787876040018181106102c657fe5b9050013560f81c60f81b60f81c9050604186019550600060018a83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561033a573d6000803e3d6000fd5b505060408051601f1901516001600160a01b03811660009081526003602052919091205490925060ff1690506103a15760405162461bcd60e51b81526004018080602001828103825260248152602001806104ef6024913960400191505060405180910390fd5b856001600160a01b0316816001600160a01b0316116103ff576040805162461bcd60e51b81526020600482015260156024820152744e4f4e5f534f525445445f5349474e41545552455360581b604482015290519081900360640190fd5b9450506001909201915061021f9050565b5061041a85610499565b5050505050565b60009081526020819052604090205460ff1690565b60036020526000908152604090205460ff1681565b60025481565b60015460ff1690565b60408051808201909152601a81527f537461726b576172655f436f6d6d69747465655f323031395f31000000000000602082015290565b016020015190565b6000818152602081905260409020805460ff191660019081179091555460ff166104ca576001805460ff1916811790555b5056fe494e56414c49445f415641494c4142494c4954595f50524f4f465f4c454e475448415641494c4142494c4954595f50524f5645525f4e4f545f494e5f434f4d4d4954544545a265627a7a72315820a04398d68163ea2f80879b38501098d68573a9850ab0321c4802e50f0541c81564736f6c634300050f0032

Deployed Bytecode Sourcemap

854:3560:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;854:3560:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2776:1208;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2776:1208:0;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;2776:1208:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2776:1208: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;-1:-1;2776:1208:0;;-1:-1:-1;2776:1208:0;-1:-1:-1;2776:1208:0;:::i;:::-;;963:121:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;963:121:1;;:::i;:::-;;;;;;;;;;;;;;;;;;1023:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1023:41:0;-1:-1:-1;;;;;1023:41:0;;:::i;984:33::-;;;:::i;:::-;;;;;;;;;;;;;;;;1475:118:1;;;:::i;1777:129: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;1777:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2776:1208;2966:18;;942:10;2966:37;2937:66;;;2916:137;;;;-1:-1:-1;;;2916:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:14;;;3143:802;3181:18;;3170:8;:29;3143:802;;;3227:9;3239:42;3254:18;;3239:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3274:6:0;;-1:-1:-1;3239:14:0;;-1:-1:-1;;3239:42:0:i;:::-;3227:54;;3295:9;3307:47;3322:18;;3307:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;;3351:2:0;3342:11;;;-1:-1:-1;3307:14:0;:47::i;:::-;3295:59;;3368:7;3384:18;;3403:6;3412:2;3403:11;3384:31;;;;;;;;;;;;;;;3378:38;;3368:48;;942:10;3430:26;;;;3470:17;3490:107;3517:9;3544:1;3563;3582;3490:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3490:107:0;;;-1:-1:-1;;3490:107:0;;-1:-1:-1;;;;;3748:19:0;;;;;;:8;3490:107;3748:19;;;;;;3490:107;;-1:-1:-1;3748:19:0;;;-1:-1:-1;3740:68:0;;;;-1:-1:-1;;;3740:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3842:20;-1:-1:-1;;;;;3830:32:0;:9;-1:-1:-1;;;;;3830:32:0;;3822:66;;;;;-1:-1:-1;;;3822:66:0;;;;;;;;;;;;-1:-1:-1;;;3822:66:0;;;;;;;;;;;;;;;3925:9;-1:-1:-1;;3201:10:0;;;;;-1:-1:-1;3143:802:0;;-1:-1:-1;3143:802:0;;;3954:23;3967:9;3954:12;:23::i;:::-;2776:1208;;;;;:::o;963:121:1:-;1032:4;1059:18;;;;;;;;;;;;;;963:121::o;1023:41:0:-;;;;;;;;;;;;;;;:::o;984:33::-;;;;:::o;1475:118:1:-;1569:17;;;;1475:118;:::o;1777:129:0:-;1864:35;;;;;;;;;;;;;;;;;1777:129;:::o;3990:422::-;4371:24;4208:2;4371:24;4365:31;;4341:65::o;1090:307:1:-;1246:12;:22;;;;;;;;;;:29;;-1:-1:-1;;1246:29:1;1271:4;1246:29;;;;;;1323:17;1246:29;1323:17;1318:73;;1376:4;1356:24;;-1:-1:-1;;1356:24:1;;;;;1318:73;1090:307;:::o

Swarm Source

bzzr://a04398d68163ea2f80879b38501098d68573a9850ab0321c4802e50f0541c815

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