ETH Price: $2,654.05 (-0.83%)

Contract

0x879cD57975d596004863D30c59d579ef78BBbe32
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Verify Availabil...208590082024-09-29 21:32:593 hrs ago1727645579IN
Sorare: Committee
0 ETH0.000463497.27692135
Verify Availabil...208590072024-09-29 21:32:473 hrs ago1727645567IN
Sorare: Committee
0 ETH0.000438326.87917671
Verify Availabil...208590072024-09-29 21:32:473 hrs ago1727645567IN
Sorare: Committee
0 ETH0.000438326.87917671
Verify Availabil...208590062024-09-29 21:32:353 hrs ago1727645555IN
Sorare: Committee
0 ETH0.000473087.42608218
Verify Availabil...208590062024-09-29 21:32:353 hrs ago1727645555IN
Sorare: Committee
0 ETH0.000473177.42608218
Verify Availabil...208590052024-09-29 21:32:233 hrs ago1727645543IN
Sorare: Committee
0 ETH0.000443816.96657783
Verify Availabil...208590052024-09-29 21:32:233 hrs ago1727645543IN
Sorare: Committee
0 ETH0.000443896.96657783
Verify Availabil...208590042024-09-29 21:32:113 hrs ago1727645531IN
Sorare: Committee
0 ETH0.000455087.14354586
Verify Availabil...208590042024-09-29 21:32:113 hrs ago1727645531IN
Sorare: Committee
0 ETH0.000455087.14354586
Verify Availabil...208557152024-09-29 10:31:4714 hrs ago1727605907IN
Sorare: Committee
0 ETH0.000393116.16966462
Verify Availabil...208557142024-09-29 10:31:3514 hrs ago1727605895IN
Sorare: Committee
0 ETH0.000406476.37928153
Verify Availabil...208557142024-09-29 10:31:3514 hrs ago1727605895IN
Sorare: Committee
0 ETH0.000406476.37928153
Verify Availabil...208557142024-09-29 10:31:3514 hrs ago1727605895IN
Sorare: Committee
0 ETH0.000406476.37928153
Verify Availabil...208523792024-09-28 23:20:5925 hrs ago1727565659IN
Sorare: Committee
0 ETH0.000402686.32100244
Verify Availabil...208523782024-09-28 23:20:4725 hrs ago1727565647IN
Sorare: Committee
0 ETH0.000385526.05163164
Verify Availabil...208523782024-09-28 23:20:4725 hrs ago1727565647IN
Sorare: Committee
0 ETH0.000385596.05163164
Verify Availabil...208523782024-09-28 23:20:4725 hrs ago1727565647IN
Sorare: Committee
0 ETH0.000385456.05163164
Verify Availabil...208523772024-09-28 23:20:3525 hrs ago1727565635IN
Sorare: Committee
0 ETH0.000373845.86825022
Verify Availabil...208523772024-09-28 23:20:3525 hrs ago1727565635IN
Sorare: Committee
0 ETH0.000373845.86825022
Verify Availabil...208523762024-09-28 23:20:2325 hrs ago1727565623IN
Sorare: Committee
0 ETH0.000382095.99783599
Verify Availabil...208523762024-09-28 23:20:2325 hrs ago1727565623IN
Sorare: Committee
0 ETH0.000382175.99783599
Verify Availabil...208523762024-09-28 23:20:2325 hrs ago1727565623IN
Sorare: Committee
0 ETH0.000382095.99783599
Verify Availabil...208490902024-09-28 12:19:4736 hrs ago1727525987IN
Sorare: Committee
0 ETH0.000396056.21582099
Verify Availabil...208490892024-09-28 12:19:2336 hrs ago1727525963IN
Sorare: Committee
0 ETH0.000417036.5462447
Verify Availabil...208490892024-09-28 12:19:2336 hrs ago1727525963IN
Sorare: Committee
0 ETH0.000417036.5462447
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Committee

Compiler Version
v0.6.11+commit.5ef660b1

Optimization Enabled:
Yes with 100 runs

Other Settings:
default evmVersion, Apache-2.0 license

Contract Source Code (Solidity Multiple files format)

File 1 of 6: Committee.sol
/*
  Copyright 2019-2022 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.
*/
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.6.11;

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

contract Committee is FactRegistry, IAvailabilityVerifier, 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]] && (committeeMembers[idx] != address(0)),
                "NON_UNIQUE_COMMITTEE_MEMBERS");
            isMember[committeeMembers[idx]] = true;
        }
        signaturesRequired = numSignaturesRequired;
    }

    function identify()
        external pure override
        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 override
    {
        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.
        assembly {
            result := mload(add(array, actualOffset))
        }
    }
}

File 2 of 6: FactRegistry.sol
/*
  Copyright 2019-2022 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.
*/
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.6.11;

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 override
        returns(bool)
    {
        return _factCheck(fact);
    }


    /*
      This is an internal method to check if the fact is already registered.
      In current implementation of FactRegistry it's identical to isValid().
      But the check is against the local fact registry,
      So for a derived referral fact registry, it's not the same.
    */
    function _factCheck(bytes32 fact)
        internal view
        returns(bool)
    {
        return verifiedFact[fact];
    }

    function registerFact(
        bytes32 factHash
        )
        internal
    {
        // This function stores the fact 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 override
        returns(bool)
    {
        return anyFactRegistered;
    }

}

File 3 of 6: IAvailabilityVerifier.sol
/*
  Copyright 2019-2022 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.
*/
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.6.11;

interface IAvailabilityVerifier {
    /*
      Verifies the availability proof. Reverts if invalid.
    */
    function verifyAvailabilityProof(bytes32 claimHash, bytes calldata availabilityProofs) external;
}

File 4 of 6: Identity.sol
/*
  Copyright 2019-2022 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.
*/
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.6.11;

interface 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 5 of 6: IFactRegistry.sol
/*
  Copyright 2019-2022 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.
*/
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.6.11;

/*
  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>`_.
*/
interface IFactRegistry {
    /*
      Returns true if the given fact was previously registered in the contract.
    */
    function isValid(bytes32 fact)
        external view
        returns(bool);
}

File 6 of 6: IQueryableFactRegistry.sol
/*
  Copyright 2019-2022 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.
*/
// SPDX-License-Identifier: Apache-2.0.
pragma solidity ^0.6.11;

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.
*/
interface IQueryableFactRegistry is IFactRegistry {

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

}

Contract Security Audit

Contract ABI

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

608060405234801561001057600080fd5b5060405161079d38038061079d8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825186602082028301116401000000008211171561008557600080fd5b82525081516020918201928201910280838360005b838110156100b257818101518382015260200161009a565b505050509190910160405250602001518351909250821115905061011d576040805162461bcd60e51b815260206004820152601c60248201527f544f4f5f4d414e595f52455155495245445f5349474e41545552455300000000604482015290519081900360640190fd5b60005b8251811015610230576003600084838151811061013957fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16158015610193575060006001600160a01b031683828151811061017f57fe5b60200260200101516001600160a01b031614155b6101e4576040805162461bcd60e51b815260206004820152601c60248201527f4e4f4e5f554e495155455f434f4d4d49545445455f4d454d4245525300000000604482015290519081900360640190fd5b6001600360008584815181106101f657fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610120565b5060025550610559806102446000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063504f7f6f146100675780636a938567146100e0578063a230c52414610111578063ce757d2914610137578063d6354e1514610151578063eeb7286614610159575b600080fd5b6100de6004803603604081101561007d57600080fd5b8135919081019060408101602082013564010000000081111561009f57600080fd5b8201836020820111156100b157600080fd5b803590602001918460018302840111640100000000831117156100d357600080fd5b5090925090506101d6565b005b6100fd600480360360208110156100f657600080fd5b5035610421565b604080519115158252519081900360200190f35b6100fd6004803603602081101561012757600080fd5b50356001600160a01b0316610432565b61013f610447565b60408051918252519081900360200190f35b6100fd61044d565b610161610456565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019b578181015183820152602001610183565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025460410281101561021a5760405162461bcd60e51b81526004018080602001828103825260218152602001806104df6021913960400191505060405180910390fd5b600080805b60025481101561041057600061026c86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525088925061048d915050565b905060006102b387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505060208801905061048d565b905060008787876040018181106102c657fe5b9050013560f81c60f81b60f81c9050604186019550600060018a83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561033a573d6000803e3d6000fd5b505060408051601f1901516001600160a01b03811660009081526003602052919091205490925060ff1690506103a15760405162461bcd60e51b81526004018080602001828103825260248152602001806105006024913960400191505060405180910390fd5b856001600160a01b0316816001600160a01b0316116103ff576040805162461bcd60e51b81526020600482015260156024820152744e4f4e5f534f525445445f5349474e41545552455360581b604482015290519081900360640190fd5b9450506001909201915061021f9050565b5061041a85610495565b5050505050565b600061042c826104c9565b92915050565b60036020526000908152604090205460ff1681565b60025481565b60015460ff1690565b60408051808201909152601a81527f537461726b576172655f436f6d6d69747465655f323031395f31000000000000602082015290565b016020015190565b6000818152602081905260409020805460ff191660019081179091555460ff166104c6576001805460ff1916811790555b50565b60009081526020819052604090205460ff169056fe494e56414c49445f415641494c4142494c4954595f50524f4f465f4c454e475448415641494c4142494c4954595f50524f5645525f4e4f545f494e5f434f4d4d4954544545a26469706673582212206ad3740970a911cd26c5cdff3814f9f1d2a8ba911992c38e95cd78c1f289c1c064736f6c634300060b00330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000006ebcb783e53c072e9b1c8786942aefc145c6df750000000000000000000000009bc546c5741d31b3510d3b240bdb4c517030e318000000000000000000000000a70a45e56c087a34991a712d437fcffd79d3a8ec000000000000000000000000efaaf3a5d0d795c7c1f92cbede868c273790026e

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063504f7f6f146100675780636a938567146100e0578063a230c52414610111578063ce757d2914610137578063d6354e1514610151578063eeb7286614610159575b600080fd5b6100de6004803603604081101561007d57600080fd5b8135919081019060408101602082013564010000000081111561009f57600080fd5b8201836020820111156100b157600080fd5b803590602001918460018302840111640100000000831117156100d357600080fd5b5090925090506101d6565b005b6100fd600480360360208110156100f657600080fd5b5035610421565b604080519115158252519081900360200190f35b6100fd6004803603602081101561012757600080fd5b50356001600160a01b0316610432565b61013f610447565b60408051918252519081900360200190f35b6100fd61044d565b610161610456565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019b578181015183820152602001610183565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60025460410281101561021a5760405162461bcd60e51b81526004018080602001828103825260218152602001806104df6021913960400191505060405180910390fd5b600080805b60025481101561041057600061026c86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525088925061048d915050565b905060006102b387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505060208801905061048d565b905060008787876040018181106102c657fe5b9050013560f81c60f81b60f81c9050604186019550600060018a83868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561033a573d6000803e3d6000fd5b505060408051601f1901516001600160a01b03811660009081526003602052919091205490925060ff1690506103a15760405162461bcd60e51b81526004018080602001828103825260248152602001806105006024913960400191505060405180910390fd5b856001600160a01b0316816001600160a01b0316116103ff576040805162461bcd60e51b81526020600482015260156024820152744e4f4e5f534f525445445f5349474e41545552455360581b604482015290519081900360640190fd5b9450506001909201915061021f9050565b5061041a85610495565b5050505050565b600061042c826104c9565b92915050565b60036020526000908152604090205460ff1681565b60025481565b60015460ff1690565b60408051808201909152601a81527f537461726b576172655f436f6d6d69747465655f323031395f31000000000000602082015290565b016020015190565b6000818152602081905260409020805460ff191660019081179091555460ff166104c6576001805460ff1916811790555b50565b60009081526020819052604090205460ff169056fe494e56414c49445f415641494c4142494c4954595f50524f4f465f4c454e475448415641494c4142494c4954595f50524f5645525f4e4f545f494e5f434f4d4d4954544545a26469706673582212206ad3740970a911cd26c5cdff3814f9f1d2a8ba911992c38e95cd78c1f289c1c064736f6c634300060b0033

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

0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000006ebcb783e53c072e9b1c8786942aefc145c6df750000000000000000000000009bc546c5741d31b3510d3b240bdb4c517030e318000000000000000000000000a70a45e56c087a34991a712d437fcffd79d3a8ec000000000000000000000000efaaf3a5d0d795c7c1f92cbede868c273790026e

-----Decoded View---------------
Arg [0] : committeeMembers (address[]): 0x6EBCb783E53C072e9b1C8786942aefc145C6Df75,0x9bC546c5741d31b3510D3B240bDB4c517030E318,0xA70A45E56c087A34991A712d437fcFfd79D3a8Ec,0xefaaf3A5D0D795C7c1f92cBeDE868C273790026e
Arg [1] : numSignaturesRequired (uint256): 2

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [3] : 0000000000000000000000006ebcb783e53c072e9b1c8786942aefc145c6df75
Arg [4] : 0000000000000000000000009bc546c5741d31b3510d3b240bdb4c517030e318
Arg [5] : 000000000000000000000000a70a45e56c087a34991a712d437fcffd79d3a8ec
Arg [6] : 000000000000000000000000efaaf3a5d0d795c7c1f92cbede868c273790026e


Deployed Bytecode Sourcemap

749:3603:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2769:1217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2769:1217:0;;-1:-1:-1;2769:1217:0;-1:-1:-1;2769:1217:0;:::i;:::-;;1004:128:1;;;;;;;;;;;;;;;;-1:-1:-1;1004:128:1;;:::i;:::-;;;;;;;;;;;;;;;;;;941:41:0;;;;;;;;;;;;;;;;-1:-1:-1;941:41:0;-1:-1:-1;;;;;941:41:0;;:::i;902:33::-;;;:::i;:::-;;;;;;;;;;;;;;;;1939:127:1;;;:::i;1761:138:0:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2769:1217;2968:18;;860:10;2968:37;2939:66;;;2918:137;;;;-1:-1:-1;;;2918:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3066:14;;;3145:802;3183:18;;3172:8;:29;3145:802;;;3229:9;3241:42;3256:18;;3241:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3276:6:0;;-1:-1:-1;3241:14:0;;-1:-1:-1;;3241:42:0:i;:::-;3229:54;;3297:9;3309:47;3324:18;;3309:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3353:2:0;3344:11;;;-1:-1:-1;3309:14:0;:47::i;:::-;3297:59;;3370:7;3386:18;;3405:6;3414:2;3405:11;3386:31;;;;;;;;;;;;;;;3380:38;;3370:48;;860:10;3432:26;;;;3472:17;3492:107;3519:9;3546:1;3565;3584;3492:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3492:107:0;;;-1:-1:-1;;3492:107:0;;-1:-1:-1;;;;;3750:19:0;;;;;;:8;3492:107;3750:19;;;;;;3492:107;;-1:-1:-1;3750:19:0;;;-1:-1:-1;3742:68:0;;;;-1:-1:-1;;;3742:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3844:20;-1:-1:-1;;;;;3832:32:0;:9;-1:-1:-1;;;;;3832:32:0;;3824:66;;;;;-1:-1:-1;;;3824:66:0;;;;;;;;;;;;-1:-1:-1;;;3824:66:0;;;;;;;;;;;;;;;3927:9;-1:-1:-1;;3203:10:0;;;;;-1:-1:-1;3145:802:0;;-1:-1:-1;3145:802:0;;;3956:23;3969:9;3956:12;:23::i;:::-;2769:1217;;;;;:::o;1004:128:1:-;1082:4;1109:16;1120:4;1109:10;:16::i;:::-;1102:23;1004:128;-1:-1:-1;;1004:128:1:o;941:41:0:-;;;;;;;;;;;;;;;:::o;902:33::-;;;;:::o;1939:127:1:-;2042:17;;;;1939:127;:::o;1761:138:0:-;1857:35;;;;;;;;;;;;;;;;;1761:138;:::o;3992:358::-;4309:24;4210:2;4309:24;4303:31;;4279:65::o;1559:302:1:-;1710:12;:22;;;;;;;;;;:29;;-1:-1:-1;;1710:29:1;1735:4;1710:29;;;;;;1787:17;1710:29;1787:17;1782:73;;1840:4;1820:24;;-1:-1:-1;;1820:24:1;;;;;1782:73;1559:302;:::o;1429:124::-;1501:4;1528:18;;;;;;;;;;;;;;1429:124::o

Swarm Source

ipfs://6ad3740970a911cd26c5cdff3814f9f1d2a8ba911992c38e95cd78c1f289c1c0

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.