S Price: $0.067549 (-3.84%)
Gas: 55 Gwei

Contract

0x68Bd1cC16Ae4B8460193d5e10CE4595745C5A3b2

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Set_zk405954362025-07-28 13:19:14181 days ago1753708754IN
0x68Bd1cC1...745C5A3b2
0 S0.0425060175.00090909
Set_zk405932412025-07-28 12:59:01182 days ago1753707541IN
0x68Bd1cC1...745C5A3b2
0 S0.028338850
Set_zk405912512025-07-28 12:39:14182 days ago1753706354IN
0x68Bd1cC1...745C5A3b2
0 S0.028337650
Set_zk405871002025-07-28 11:58:48182 days ago1753703928IN
0x68Bd1cC1...745C5A3b2
0 S0.02833750
Set_zk405853812025-07-28 11:39:11182 days ago1753702751IN
0x68Bd1cC1...745C5A3b2
0 S0.028338250
Set_zk405835032025-07-28 11:19:11182 days ago1753701551IN
0x68Bd1cC1...745C5A3b2
0 S0.028338250
Set_zk405816022025-07-28 10:58:48182 days ago1753700328IN
0x68Bd1cC1...745C5A3b2
0 S0.028337650
Set_zk405796952025-07-28 10:39:08182 days ago1753699148IN
0x68Bd1cC1...745C5A3b2
0 S0.028338850
Set_zk405774072025-07-28 10:19:09182 days ago1753697949IN
0x68Bd1cC1...745C5A3b2
0 S0.02833750
Set_zk405751842025-07-28 9:59:04182 days ago1753696744IN
0x68Bd1cC1...745C5A3b2
0 S0.02833750
Set_zk405728552025-07-28 9:39:23182 days ago1753695563IN
0x68Bd1cC1...745C5A3b2
0 S0.0305671153.92928571
Set_zk405708902025-07-28 9:18:58182 days ago1753694338IN
0x68Bd1cC1...745C5A3b2
0 S0.028337650
Set_zk405691032025-07-28 8:59:00182 days ago1753693140IN
0x68Bd1cC1...745C5A3b2
0 S0.02833750
Set_zk405672312025-07-28 8:39:14182 days ago1753691954IN
0x68Bd1cC1...745C5A3b2
0 S0.028338250
Set_zk405652622025-07-28 8:19:24182 days ago1753690764IN
0x68Bd1cC1...745C5A3b2
0 S0.028338850
Set_zk405635252025-07-28 7:59:25182 days ago1753689565IN
0x68Bd1cC1...745C5A3b2
0 S0.028339450
Set_zk405616932025-07-28 7:39:07182 days ago1753688347IN
0x68Bd1cC1...745C5A3b2
0 S0.028339450
Set_zk405595952025-07-28 7:19:12182 days ago1753687152IN
0x68Bd1cC1...745C5A3b2
0 S0.028337650
Set_zk405574202025-07-28 6:59:12182 days ago1753685952IN
0x68Bd1cC1...745C5A3b2
0 S0.028339450
Set_zk405556532025-07-28 6:39:26182 days ago1753684766IN
0x68Bd1cC1...745C5A3b2
0 S0.028336450
Set_zk405537832025-07-28 6:19:13182 days ago1753683553IN
0x68Bd1cC1...745C5A3b2
0 S0.02833750
Set_zk405520692025-07-28 5:59:11182 days ago1753682351IN
0x68Bd1cC1...745C5A3b2
0 S0.028337650
Set_zk405499502025-07-28 5:39:11182 days ago1753681151IN
0x68Bd1cC1...745C5A3b2
0 S0.028337650
Set_zk405477222025-07-28 5:18:59182 days ago1753679939IN
0x68Bd1cC1...745C5A3b2
0 S0.028338850
Set_zk405454732025-07-28 4:59:13182 days ago1753678753IN
0x68Bd1cC1...745C5A3b2
0 S0.028338850
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
164288722025-03-27 22:02:57304 days ago1743112977
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164288642025-03-27 22:02:54304 days ago1743112974
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164288572025-03-27 22:02:52304 days ago1743112972
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164288502025-03-27 22:02:49304 days ago1743112969
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164288432025-03-27 22:02:46304 days ago1743112966
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164288372025-03-27 22:02:44304 days ago1743112964
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164288312025-03-27 22:02:41304 days ago1743112961
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164288242025-03-27 22:02:38304 days ago1743112958
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164288082025-03-27 22:02:32304 days ago1743112952
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164288022025-03-27 22:02:29304 days ago1743112949
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287942025-03-27 22:02:27304 days ago1743112947
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287892025-03-27 22:02:24304 days ago1743112944
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287812025-03-27 22:02:21304 days ago1743112941
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287762025-03-27 22:02:19304 days ago1743112939
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287672025-03-27 22:02:16304 days ago1743112936
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287612025-03-27 22:02:13304 days ago1743112933
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287552025-03-27 22:02:11304 days ago1743112931
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287502025-03-27 22:02:08304 days ago1743112928
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287432025-03-27 22:02:05304 days ago1743112925
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287352025-03-27 22:02:03304 days ago1743112923
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287272025-03-27 22:02:00304 days ago1743112920
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287192025-03-27 22:01:57304 days ago1743112917
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287142025-03-27 22:01:55304 days ago1743112915
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164287052025-03-27 22:01:52304 days ago1743112912
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
164286972025-03-27 22:01:49304 days ago1743112909
0x68Bd1cC1...745C5A3b2
 Contract Creation0 S
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xa6A5a22B...824dCeb89 in Base Mainnet
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
DataFeedFeeder

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 999999 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2025-03-27
*/

{{
  "language": "Solidity",
  "sources": {
    "contracts/DataFeedFeeder.sol": {
      "content": "// Copyright 2024 Diffuse.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n//     http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n// SPDX-License-Identifier: Apache-2.0\n\n// taiko does not support MCOPY opcode\npragma solidity 0.8.20;\n\nimport {IAutomataDcapAttestationFee} from \"./IAutomataDcapAttestationFee.sol\";\nimport \"./DataFeedStorage.sol\";\n\ncontract DataFeedFeeder {\n    IAutomataDcapAttestationFee public sgxQuoteVerifier;\n\n    address public dataFeedProxyAddress;\n\n    address public immutable owner;\n\n    mapping (string => DataFeedStorage) public dataFeedStorages;\n\n    uint16 constant ENCLAVE_REPORT_OFFSET_OUTPUT = 13;\n    uint16 constant MRENCLAVE_OFFSET = 64;\n    uint16 constant REPORT_DATA_OFFSET = 320;\n    bytes32 public mrEnclaveExpected;\n\n    constructor() {\n        owner = msg.sender;\n    }\n\n    function mrEnclaveUpdate(bytes32 mrEnclaveNew) external {\n        require (msg.sender == owner, \"only contract owner can call mrEnclaveUpdate\");\n        mrEnclaveExpected = mrEnclaveNew;\n    }\n\n    function quoteVerifierUpdate(address newQuoteVerifierAddress) external {\n        require (msg.sender == owner, \"only contract owner can call quoteVerifierUpdate\");\n        sgxQuoteVerifier = IAutomataDcapAttestationFee(newQuoteVerifierAddress);\n    }\n\n    function transferStorage(string calldata pair_name, address newFeederAddress) external {\n        require (msg.sender == owner, \"only contract owner can call transferStorage\");\n        DataFeedFeeder(newFeederAddress).setExistingPair(pair_name, address(dataFeedStorages[pair_name]));\n        dataFeedStorages[pair_name].transferOwnership(newFeederAddress);\n    }\n\n    function setProxy(address proxyAddress) external {\n        require (msg.sender == owner, \"only contract owner can call setProxy\");\n        dataFeedProxyAddress = proxyAddress;\n    }\n\n    // enclaveReport starts at ENCLAVE_REPORT_OFFSET_OUTPUT-th byte of the verification output\n    function check_mrenclave(bytes memory verificationOutput) private view {\n        bytes memory mrEnclaveReal = new bytes(32);\n        for (uint i = 0; i < 32; i++) {\n            // mrenclave starts at byte 64 of enclaveReport and is 32 bytes long\n            // https://github.com/automata-network/automata-dcap-attestation/blob/3a854a31eb2345a31f9e33697eef0d814d031a12/evm/contracts/bases/QuoteVerifierBase.sol#L64-L76\n            mrEnclaveReal[i] = verificationOutput[ENCLAVE_REPORT_OFFSET_OUTPUT + 64 + i];\n        }\n        require (bytes32(mrEnclaveReal) == mrEnclaveExpected, \"mrEnclave from input differs from expected!\");\n    }\n\n    function set_zk(\n        string[] calldata pair_names,\n        uint128[] calldata prices,\n        uint128[] calldata timestamps,\n        bytes calldata sgx_verification_journal,\n        bytes calldata sgx_verification_seal\n    ) external payable {\n\n        (bool success, bytes memory output) = sgxQuoteVerifier.verifyAndAttestWithZKProof{value: msg.value}(sgx_verification_journal, 1, sgx_verification_seal);\n        if (!success) {\n            // fail returns bytes(error_string)\n            // success returns custom output type:\n            // https://github.com/automata-network/automata-dcap-attestation/blob/b49a9f296a5e0cd8b1f076ec541b1239199cadd2/contracts/verifiers/V3QuoteVerifier.sol#L154\n            require(success, string(output));\n        }\n        set(output, pair_names, prices, timestamps);\n    }\n\n    function set_onchain(\n        string[] calldata pair_names,\n        uint128[] calldata prices,\n        uint128[] calldata timestamps,\n        bytes calldata sgx_quote\n    ) external payable {\n\n        (bool success, bytes memory output) = sgxQuoteVerifier.verifyAndAttestOnChain{value: msg.value}(sgx_quote);\n        if (!success) {\n            // fail returns bytes(error_string)\n            // success returns custom output type:\n            // https://github.com/automata-network/automata-dcap-attestation/blob/b49a9f296a5e0cd8b1f076ec541b1239199cadd2/contracts/verifiers/V3QuoteVerifier.sol#L154\n            require(success, string(output));\n        }\n        set(output, pair_names, prices, timestamps);\n    }\n\n    function set(\n        bytes memory output,\n        string[] calldata pair_names,\n        uint128[] calldata prices,\n        uint128[] calldata timestamps\n    ) internal {\n\n        check_mrenclave(output);\n\n        require (pair_names.length == prices.length, \"pair_names and prices length mismatch\");\n        require (prices.length == timestamps.length, \"prices and timestamps length mismatch\");\n\n        bytes32[] memory hashes = new bytes32[](pair_names.length * 3);\n\n        for (uint128 i = 0; i < pair_names.length; i++) {\n            hashes[i*3] = keccak256(abi.encodePacked(pair_names[i]));\n            hashes[i*3 + 1] = keccak256(abi.encodePacked(uint256(prices[i])));\n            hashes[i*3 + 2] = keccak256(abi.encodePacked(uint256(timestamps[i])));\n        }\n        bytes memory concatenated;\n\n        for (uint128 i = 0; i < hashes.length; i++) {\n            concatenated = abi.encodePacked(concatenated, hashes[i]);\n        }\n\n        bytes32 hashed_input_data = keccak256(concatenated);\n\n\n        bytes memory data_hash_from_sgx = new bytes(32);\n        for (uint i = 0; i < 32; i++) {\n            data_hash_from_sgx[i] = output[ENCLAVE_REPORT_OFFSET_OUTPUT + REPORT_DATA_OFFSET + i];\n        }\n        require(hashed_input_data == bytes32(data_hash_from_sgx), \"hashed_input_data != data_hash_from_sgx\");\n\n        // send round data to storage contracts\n        for (uint i = 0; i < pair_names.length; i++) {\n            require (\n                address(dataFeedStorages[pair_names[i]]) != address(0),\n                string(abi.encodePacked(\"storage for pair \", pair_names[i], \" is not deployed yet\"))\n            );\n            dataFeedStorages[pair_names[i]].setNewRound(int128(prices[i]), timestamps[i]);\n        }\n    }\n\n    function setNewPair(string calldata pair_name) external returns (address) {\n        require(address(dataFeedStorages[pair_name]) == address(0), \"Storage is already deployed for requested pair\");\n        DataFeedStorage newStorage = new DataFeedStorage(pair_name, 8 /* TODO hardcoded*/);\n        dataFeedStorages[pair_name] = newStorage;\n        return address(newStorage);\n    }\n\n    function setExistingPair(string calldata pairName, address pairAddr) external {\n        require(address(dataFeedStorages[pairName]) == address(0), \"Storage is already deployed for requested pair\");\n        dataFeedStorages[pairName] = DataFeedStorage(pairAddr);\n    }\n\n    function getPairStorageAddress(string calldata pair_name) external view returns (address) {\n        address result = address(dataFeedStorages[pair_name]);\n        require(result != address(0), \"There is no data for requested pair\");\n        return result;\n    }\n}\n"
    },
    "contracts/IAutomataDcapAttestationFee.sol": {
      "content": "//SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.20;\n\n// Automata's sgx_quote verifier.\n// Takes sgx quote and returns bool result reason for fail / custom data type for success.\n// custom data type:\n// https://github.com/automata-network/automata-dcap-attestation/blob/b49a9f296a5e0cd8b1f076ec541b1239199cadd2/contracts/verifiers/V3QuoteVerifier.sol#L154\n\ninterface IAutomataDcapAttestationFee {\n    function verifyAndAttestOnChain(bytes calldata rawQuote) external payable returns (bool, bytes memory);\n\n    function verifyAndAttestWithZKProof(\n        bytes calldata output,    //journal\n        uint8 zkCoprocessor,      // enum, we use risc0 == 1\n        bytes calldata proofBytes //seal\n    )\n        external\n        payable\n        returns (bool success, bytes memory verifiedOutput);\n}"
    },
    "contracts/DataFeedStorage.sol": {
      "content": "// Copyright 2024 Diffuse\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n//     http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n// SPDX-License-Identifier: Apache-2.0\n\npragma solidity ^0.8.20;\n\nstruct RoundData {\n    int128 answer;\n    uint128 timestamp;\n}\n\ncontract DataFeedStorage {\n\n    uint16 constant public ROUNDS_STORAGE_SIZE = 256;\n    uint8 immutable public decimals;\n    uint80 roundsAmount = 0;\n    address public owner;\n    string public description;\n    RoundData[ROUNDS_STORAGE_SIZE] roundDataArray;\n\n    constructor (string memory _description_string, uint8 _decimals_amount) {\n        description = _description_string;\n        decimals = _decimals_amount;\n        owner = msg.sender;\n    }\n\n    event NewRoundEvent(uint128 roundId);\n\n    function transferOwnership(address newOwner) public {\n        require(msg.sender == owner, \"Only storage owner can transfer ownership\");\n        owner = newOwner;\n    }\n\n\tfunction latestAnswer() external view returns (int128) {\n        uint80 _latestRound = latestRound();\n        return roundDataArray[_latestRound % ROUNDS_STORAGE_SIZE].answer;\n    }\n\n\tfunction latestRound() public view returns (uint80) {\n        require(roundsAmount != 0, \"there has been no rounds yet\");\n        uint80 _latestRound = roundsAmount - 1;\n        return _latestRound;\n    }\n\n\tfunction roundToIndex(uint80 _roundId) internal view returns (uint80) {\n        require(_roundId < roundsAmount, \"_roundId must be less than roundsAmount\");\n        if (roundsAmount >= ROUNDS_STORAGE_SIZE) {\n            require(_roundId >= roundsAmount - ROUNDS_STORAGE_SIZE, \"contract stores only ROUNDS_STORAGE_SIZE latest rounds\");\n        }\n        return _roundId % ROUNDS_STORAGE_SIZE;\n    }\n\n\tfunction getRoundData(uint80 _roundId) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) {\n        uint80 index = roundToIndex(_roundId);\n        int128 _answer = roundDataArray[index].answer;\n        uint128 _timestamp = roundDataArray[index].timestamp;\n\n        return (_roundId, _answer, _timestamp, _timestamp, _roundId);\n    }\n\n\tfunction latestRoundData() external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) {\n        uint80 _latestRound = latestRound();\n        uint80 _latestIndex = roundToIndex(_latestRound);\n        int128 _answer = roundDataArray[_latestIndex].answer;\n        uint128 _timestamp = roundDataArray[_latestIndex].timestamp;\n\n        return (_latestRound, _answer, _timestamp, _timestamp, _latestRound);\n    }\n\n    function setNewRound(int128 answer, uint128 timestamp) public {\n        require(msg.sender == owner, \"Only storage owner can add new data\");\n        emit NewRoundEvent(roundsAmount);\n        roundsAmount = roundsAmount + 1;\n        uint80 _latestIndex = roundToIndex(latestRound());\n        roundDataArray[_latestIndex] = RoundData(answer, timestamp);\n    }\n}\n"
    }
  },
  "settings": {
    "remappings": [
      "@automata-network/on-chain-pccs/=lib/sgx_verifier_deployer/lib/automata-dcap-attestation/lib/automata-on-chain-pccs/src/",
      "@openzeppelin/contracts/=lib/sgx_verifier_deployer/lib/risc0-ethereum/lib/openzeppelin-contracts/contracts/",
      "@sp1-contracts/=lib/sgx_verifier_deployer/lib/automata-dcap-attestation/lib/sp1-contracts/contracts/src/",
      "automata-dcap-attestation/=lib/sgx_verifier_deployer/lib/automata-dcap-attestation/",
      "automata-on-chain-pccs/=lib/sgx_verifier_deployer/lib/automata-on-chain-pccs/",
      "ds-test/=lib/sgx_verifier_deployer/lib/automata-dcap-attestation/lib/forge-std/lib/ds-test/src/",
      "erc4626-tests/=lib/sgx_verifier_deployer/lib/risc0-ethereum/lib/openzeppelin-contracts/lib/erc4626-tests/",
      "forge-std/=lib/sgx_verifier_deployer/lib/risc0-ethereum/lib/forge-std/src/",
      "halmos-cheatcodes/=lib/sgx_verifier_deployer/lib/automata-on-chain-pccs/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",
      "openzeppelin-contracts/=lib/sgx_verifier_deployer/lib/risc0-ethereum/lib/openzeppelin-contracts/",
      "openzeppelin/=lib/sgx_verifier_deployer/lib/risc0-ethereum/lib/openzeppelin-contracts/",
      "p256-verifier/=lib/sgx_verifier_deployer/lib/p256-verifier/",
      "risc0-ethereum/=lib/sgx_verifier_deployer/lib/risc0-ethereum/",
      "risc0/=lib/sgx_verifier_deployer/lib/automata-dcap-attestation/lib/risc0-ethereum/contracts/src/",
      "sgx_verifier_deployer/=lib/sgx_verifier_deployer/src/",
      "solady/=lib/sgx_verifier_deployer/lib/automata-on-chain-pccs/lib/solady/",
      "sp1-contracts/=lib/sgx_verifier_deployer/lib/automata-dcap-attestation/lib/sp1-contracts/contracts/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 999999
    },
    "metadata": {
      "useLiteralContent": true,
      "bytecodeHash": "ipfs",
      "appendCBOR": true
    },
    "outputSelection": {
      "*": {
        "*": [
          "evm.bytecode",
          "evm.deployedBytecode",
          "devdoc",
          "userdoc",
          "metadata",
          "abi"
        ]
      }
    },
    "evmVersion": "paris",
    "viaIR": true,
    "libraries": {}
  }
}}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"dataFeedProxyAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"dataFeedStorages","outputs":[{"internalType":"contract DataFeedStorage","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"pair_name","type":"string"}],"name":"getPairStorageAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mrEnclaveExpected","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"mrEnclaveNew","type":"bytes32"}],"name":"mrEnclaveUpdate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newQuoteVerifierAddress","type":"address"}],"name":"quoteVerifierUpdate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"pairName","type":"string"},{"internalType":"address","name":"pairAddr","type":"address"}],"name":"setExistingPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"pair_name","type":"string"}],"name":"setNewPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"proxyAddress","type":"address"}],"name":"setProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"pair_names","type":"string[]"},{"internalType":"uint128[]","name":"prices","type":"uint128[]"},{"internalType":"uint128[]","name":"timestamps","type":"uint128[]"},{"internalType":"bytes","name":"sgx_quote","type":"bytes"}],"name":"set_onchain","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string[]","name":"pair_names","type":"string[]"},{"internalType":"uint128[]","name":"prices","type":"uint128[]"},{"internalType":"uint128[]","name":"timestamps","type":"uint128[]"},{"internalType":"bytes","name":"sgx_verification_journal","type":"bytes"},{"internalType":"bytes","name":"sgx_verification_seal","type":"bytes"}],"name":"set_zk","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"sgxQuoteVerifier","outputs":[{"internalType":"contract IAutomataDcapAttestationFee","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"pair_name","type":"string"},{"internalType":"address","name":"newFeederAddress","type":"address"}],"name":"transferStorage","outputs":[],"stateMutability":"nonpayable","type":"function"}]

0x60a0806040523461003f57336080526129389081610045823960805181818161012301528181610248015281816105320152818161065801526108640152f35b600080fdfe608060408181526004803610156200001657600080fd5b600092833560e01c90816317915bbe1462000d095750806319d605841462000bcd578063303eb6191462000a765780634f6c2dd11462000a3757806364bd3c4e146200083157806367846133146200075e5780637199e98014620006cf57806388995ecc146200067c5780638da5cb5b146200060b57806397107d6d14620004dc5780639f06231f146200048757838163a31c334e14620002fa57508063d6053dd914620001fe5763db48fa8314620000ce57600080fd5b34620001fa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001fa576200010962000e88565b9073ffffffffffffffffffffffffffffffffffffffff92837f000000000000000000000000000000000000000000000000000000000000000016330362000177575050167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617815580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f6f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2071756f60448201527f74655665726966696572557064617465000000000000000000000000000000006064820152fd5b8280fd5b509034620001fa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001fa5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036200027757503560035580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f6f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c206d724560448201527f6e636c61766555706461746500000000000000000000000000000000000000006064820152fd5b91905060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620004775767ffffffffffffffff90803582811162000483576200034b903690830162000e54565b6024929192358481116200047f5762000368903690840162000e54565b9390926044358681116200047b5762000385903690830162000e54565b9790966064359081116200047757620003a2903690840162000e1e565b9092602073ffffffffffffffffffffffffffffffffffffffff84541691620003fd8d51968795869485947f38d8480a000000000000000000000000000000000000000000000000000000008652850152602484019162001022565b039134905af19081156200046d576200042d985089908a9262000443575b5081811562000430575b50506200134a565b80f35b6200043b91620010df565b388162000425565b90506200046591503d808b833e6200045c818362000f80565b81019062001061565b90386200041b565b88513d8b823e3d90fd5b5080fd5b8780fd5b8580fd5b8380fd5b5050346200047757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620004775760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5034620001fa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001fa576200051862000e88565b9073ffffffffffffffffffffffffffffffffffffffff92837f000000000000000000000000000000000000000000000000000000000000000016330362000588575050167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f6f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2073657460448201527f50726f78790000000000000000000000000000000000000000000000000000006064820152fd5b5050346200047757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000477576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346200047757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620004775773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b5050346200047757602090620006e53662000eac565b93909182845194818387376200072282870160028152878673ffffffffffffffffffffffffffffffffffffffff998a930301902054161562001a8d565b5193849283378101600281520301902091167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b5034620001fa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001fa5780359067ffffffffffffffff82116200048357366023830112156200048357810135620007bd8162000fc2565b90620007cc8451928362000f80565b808252602082019236602483830101116200047f57926200081e9260209687848195602473ffffffffffffffffffffffffffffffffffffffff9901863783010152855193849283925192839162000ffd565b8101600281520301902054169051908152f35b508290346200047757620008453662000eac565b73ffffffffffffffffffffffffffffffffffffffff95929593919390817f0000000000000000000000000000000000000000000000000000000000000000163303620009b4578116938184518289823760208184810160028152030190205416853b15620009b0578685518080937f7199e9800000000000000000000000000000000000000000000000000000000082528888830152620008ec8c87604485019162001022565b9060248301520381838a5af18015620009a6576200098f575b5060208697828651938492833781016002815203019020541692833b156200098b576024859283855196879485937ff2fde38b0000000000000000000000000000000000000000000000000000000085528401525af19081156200098257506200096c5750f35b620009779062000f1f565b6200097f5780f35b80fd5b513d84823e3d90fd5b8480fd5b956200099e6020989762000f1f565b959662000905565b85513d89823e3d90fd5b8680fd5b60848360208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f6f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074726160448201527f6e7366657253746f7261676500000000000000000000000000000000000000006064820152fd5b5050346200047757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000477576020906003549051908152f35b50919034620004775760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620004775767ffffffffffffffff8335818111620004835762000acc903690860162000e1e565b90948351928287853762000b088385016002815285602073ffffffffffffffffffffffffffffffffffffffff9788930301902054161562001a8d565b845191610de990818401928484109084111762000ba1575090829162001b1a83398581526008602062000b3f888401878c62001022565b920152039085f093841562000b96575060208095828551938492833781016002815203019020921691827fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551908152f35b8351903d90823e3d90fd5b8760416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9060a082360112620004835767ffffffffffffffff9080358281116200047f5762000c1e903690830162000e54565b6024929192358481116200047b5762000c3b903690840162000e54565b93909288604435878111620004775762000c59903690840162000e54565b989097606435818111620004835762000c76903690860162000e1e565b9290946084359283116200098b57620003fd60609262000c9b8f953690850162000e1e565b9062000cf273ffffffffffffffffffffffffffffffffffffffff8a541697519a8b998a9889987f57859ce0000000000000000000000000000000000000000000000000000000008a52890152606488019162001022565b926001602487015285840301604486015262001022565b905083346200097f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200097f5782359067ffffffffffffffff82116200097f57509060208162000d7973ffffffffffffffffffffffffffffffffffffffff943690870162000e1e565b8091833781016002815203019020541690811562000d9b575060209151908152f35b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602360248201527f5468657265206973206e6f206461746120666f7220726571756573746564207060448201527f61697200000000000000000000000000000000000000000000000000000000006064820152fd5b9181601f8401121562000e4f5782359167ffffffffffffffff831162000e4f576020838186019501011162000e4f57565b600080fd5b9181601f8401121562000e4f5782359167ffffffffffffffff831162000e4f576020808501948460051b01011162000e4f57565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820362000e4f57565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011262000e4f576004359067ffffffffffffffff821162000e4f5762000ef99160040162000e1e565b909160243573ffffffffffffffffffffffffffffffffffffffff8116810362000e4f5790565b67ffffffffffffffff811162000f3457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111762000f3457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111762000f3457604052565b67ffffffffffffffff811162000f3457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b838110620010115750506000910152565b818101518382015260200162001000565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919060408382031262000e4f578251801515810362000e4f579260208101519067ffffffffffffffff821162000e4f570181601f8201121562000e4f578051620010ab8162000fc2565b92620010bb604051948562000f80565b8184526020828401011162000e4f57620010dc916020808501910162000ffd565b90565b15620010e85750565b6044601f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06040519384927f08c379a00000000000000000000000000000000000000000000000000000000084526020600485015262001159815180928160248801526020888801910162000ffd565b01168101030190fd5b67ffffffffffffffff811162000f345760051b60200190565b6fffffffffffffffffffffffffffffffff8091169081146200119d5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9190811015620012305760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121562000e4f57019081359167ffffffffffffffff831162000e4f57602001823603811362000e4f579190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060036fffffffffffffffffffffffffffffffff809316029182169182036200119d57565b8051821015620012305760209160051b010190565b9190811015620012305760051b0190565b356fffffffffffffffffffffffffffffffff8116810362000e4f5790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146200119d5760010190565b90815181101562001230570160200190565b6020815191015190602081106200131d575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b969095949194604094855194620013618662000f63565b60209586815286368183013760005b87811062001a375750620013849062001308565b60035403620019b4578188036200193157828203620018ae576003880297808904600314811517156200119d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0620013f9620013e18b62001162565b9a620013f08b519c8d62000f80565b808c5262001162565b0136888b013760005b6fffffffffffffffffffffffffffffffff908181168381101562001531578a8a620014558f84886200143492620011cc565b92909351838194838301968737810160008382015203808452018262000f80565b519020620014718d8562001469866200125f565b169062001284565b52826200148a6200148483898962001299565b620012aa565b168b518b81019182528b8152620014a18162000f63565b519020600184620014b2856200125f565b16018481116200119d578492620014e0928f620014d790866200148495169062001284565b52898c62001299565b168a518a81019182528a8152620014f78162000f63565b51902060028362001508846200125f565b16018381116200119d576200152b936200152491168d62001284565b526200117b565b62001402565b505050979491929995996060986000995b87516fffffffffffffffffffffffffffffffff8c1690811015620015b55790620015a78b8f62001577620015ae958d62001284565b51938251948162001592879351809286808701910162000ffd565b82019083820152039081018452018262000f80565b9a6200117b565b9962001542565b5091959b9950939799929691955088815191012090895190620015d88262000f63565b89825289368184013760005b8a811062001850575050620015f99062001308565b03620017cd5760005b8281106200161557505050505050505050565b62001622818484620011cc565b808b519283378101600290818152828b73ffffffffffffffffffffffffffffffffffffffff94859303019020541615158b8b62001661868989620011cc565b925192839283017f73746f7261676520666f722070616972200000000000000000000000000000009052806031928385013782019081017f206973206e6f74206465706c6f79656420796574000000000000000000000000905203602581018252604501620016d1908262000f80565b620016dc91620010df565b898b620016eb858888620011cc565b8094919251948593843782019081520301902054166fffffffffffffffffffffffffffffffff908162001720848b8a62001299565b6200172b90620012aa565b16600f0b906200173d84888b62001299565b6200174890620012aa565b90803b1562000e4f57600092836044928f5196879586947f34a388f200000000000000000000000000000000000000000000000000000000865260048601521660248401525af18015620017c25790620017aa9291620017b0575b50620012c8565b62001602565b620017bb9062000f1f565b38620017a3565b8a513d6000823e3d90fd5b6084878951907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602760248201527f6861736865645f696e7075745f6461746120213d20646174615f686173685f6660448201527f726f6d5f736778000000000000000000000000000000000000000000000000006064820152fd5b61014d908082018092116200119d577fff0000000000000000000000000000000000000000000000000000000000000062001890620018a89385620012f6565b511660001a620018a18286620012f6565b53620012c8565b620015e4565b6084868851907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602560248201527f70726963657320616e642074696d657374616d7073206c656e677468206d697360448201527f6d617463680000000000000000000000000000000000000000000000000000006064820152fd5b6084868851907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602560248201527f706169725f6e616d657320616e6420707269636573206c656e677468206d697360448201527f6d617463680000000000000000000000000000000000000000000000000000006064820152fd5b6084868851907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602b60248201527f6d72456e636c6176652066726f6d20696e70757420646966666572732066726f60448201527f6d206578706563746564210000000000000000000000000000000000000000006064820152fd5b604d908082018092116200119d577fff0000000000000000000000000000000000000000000000000000000000000062001a7662001a87938f620012f6565b511660001a620018a18285620012f6565b62001370565b1562001a9557565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f53746f7261676520697320616c7265616479206465706c6f79656420666f722060448201527f72657175657374656420706169720000000000000000000000000000000000006064820152fdfe60a0604052346200024c5762000de9803803806200001d8162000266565b9283398101906040818303126200024c5780516001600160401b03908181116200024c57820190601f8481840112156200024c578251938285116200023657602094601f1994620000748483018716880162000266565b978289528783830101116200024c579086929160005b82811062000251575050826000918901015201519360ff851685036200024c57600080546001600160501b03191690558551928311620002365760019384548581811c911680156200022b575b838210146200021557838111620001ca575b5081928411600114620001655750508192939460009262000159575b5050600019600383901b1c191690821b1790555b60805260008054600160501b600160f01b0319163360501b600160501b600160f01b0316179055604051610b5c90816200028d82396080518161088a0152f35b01519050388062000105565b6000858152828120918516979193925b888210620001b2575050838596971062000198575b505050811b01905562000119565b015160001960f88460031b161c191690553880806200018a565b80878596829496860151815501950193019062000175565b85600052826000208480870160051c8201928588106200020b575b0160051c019086905b828110620001fe575050620000e9565b60008155018690620001ee565b92508192620001e5565b634e487b7160e01b600052602260045260246000fd5b90607f1690620000d7565b634e487b7160e01b600052604160045260246000fd5b600080fd5b8181018501518a82018601528894016200008a565b6040519190601f01601f191682016001600160401b03811183821017620002365760405256fe608060409080825260048036101561001657600080fd5b600091823560e01c908163156cd5a0146108ae57508063313ce5671461085257806334a388f2146105ee57806350d25bcd14610569578063668a0f021461051b5780637284e416146103305780638da5cb5b146102dc5780639a6fc8f51461028a578063f2fde38b1461014e5763feaf968c1461009257600080fd5b3461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a576100c86108e8565b916100d2836109b7565b9161010083101561011e57505060020154915169ffffffffffffffffffff91909116808252600f83900b6020830152608092831c6040830181905260608301529181019190915260a090f35b9060326024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5080fd5b508290346102865760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102865780359073ffffffffffffffffffffffffffffffffffffffff928383168303610282578454938460501c1633036101ff5750507dffffffffffffffffffffffffffffffffffffffff000000000000000000007fffff0000000000000000000000000000000000000000ffffffffffffffffffff9160501b16911617815580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602960248201527f4f6e6c792073746f72616765206f776e65722063616e207472616e736665722060448201527f6f776e65727368697000000000000000000000000000000000000000000000006064820152fd5b8480fd5b8280fd5b503461014a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a5780359169ffffffffffffffffffff831683036102d9576100d2836109b7565b80fd5b82843461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a5773ffffffffffffffffffffffffffffffffffffffff6020925460501c169051908152f35b50823461028657827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102865780518360019485549081871c878316978815610511575b6020938483108a146104e557848798999a84895291826000146104aa575050600114610457575b5050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095869203011683019583871067ffffffffffffffff88111761042b575085929391838652818452845191828186015281955b8387106104135750508394508582601f949501015201168101030190f35b868101820151898801890152958101958895506103f5565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8085528492507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8284106104945750505083018101878061039e565b805488850186015287965092840192810161047f565b915093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682860152151560051b840101878061039e565b60248660228b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b90607f1690610377565b82843461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a5760209069ffffffffffffffffffff6105616108e8565b915191168152f35b509190346102d957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102d95760ff6105a46108e8565b16906101008210156105c2576020838360020154600f0b9051908152f35b806032857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50913461014a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a5782359081600f0b80920361028657602435906fffffffffffffffffffffffffffffffff9081831680930361028257845473ffffffffffffffffffffffffffffffffffffffff8160501c1633036107cf5769ffffffffffffffffffff60018183167f9a0d0e9858be1baa155436171d49c0a774b37d8f23661aad38fabe215ca44b5b60208651838152a1018181116107a357907fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000911691161785556106e86106e36108e8565b6109b7565b938151918083019083821067ffffffffffffffff831117610777575281526020810192835261010084101561074b57907fffffffffffffffffffffffffffffffff00000000000000000000000000000000915116915160801b1617906002015580f35b6024856032887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248860418b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248860118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60848760208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602360248201527f4f6e6c792073746f72616765206f776e65722063616e20616464206e6577206460448201527f61746100000000000000000000000000000000000000000000000000000000006064820152fd5b82843461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b83903461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a578061010060209252f35b69ffffffffffffffffffff80600054168015610959577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190811161092a5790565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f746865726520686173206265656e206e6f20726f756e647320796574000000006044820152fd5b60005469ffffffffffffffffffff82811691811680831015610aa2576101008110156109e7575b50505060ff1690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000181811161092a571611610a1e573880806109de565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f636f6e74726163742073746f726573206f6e6c7920524f554e44535f53544f5260448201527f4147455f53495a45206c617465737420726f756e6473000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5f726f756e644964206d757374206265206c657373207468616e20726f756e6460448201527f73416d6f756e74000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ff5fa73804c8c1a3ed1c7760b6098c24b4b1ca4b55edf4482ba5ce8f670611dc64736f6c63430008140033a2646970667358221220d20fc539d781160e398279c724e6dc872bf59fd1dd0046d0cd102a1b31c0adaa64736f6c63430008140033

Deployed Bytecode

0x608060408181526004803610156200001657600080fd5b600092833560e01c90816317915bbe1462000d095750806319d605841462000bcd578063303eb6191462000a765780634f6c2dd11462000a3757806364bd3c4e146200083157806367846133146200075e5780637199e98014620006cf57806388995ecc146200067c5780638da5cb5b146200060b57806397107d6d14620004dc5780639f06231f146200048757838163a31c334e14620002fa57508063d6053dd914620001fe5763db48fa8314620000ce57600080fd5b34620001fa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001fa576200010962000e88565b9073ffffffffffffffffffffffffffffffffffffffff92837f000000000000000000000000bb5a794bd453fc664d4b720a359c6236cb026b1716330362000177575050167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617815580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f6f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2071756f60448201527f74655665726966696572557064617465000000000000000000000000000000006064820152fd5b8280fd5b509034620001fa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001fa5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000bb5a794bd453fc664d4b720a359c6236cb026b171633036200027757503560035580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f6f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c206d724560448201527f6e636c61766555706461746500000000000000000000000000000000000000006064820152fd5b91905060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620004775767ffffffffffffffff90803582811162000483576200034b903690830162000e54565b6024929192358481116200047f5762000368903690840162000e54565b9390926044358681116200047b5762000385903690830162000e54565b9790966064359081116200047757620003a2903690840162000e1e565b9092602073ffffffffffffffffffffffffffffffffffffffff84541691620003fd8d51968795869485947f38d8480a000000000000000000000000000000000000000000000000000000008652850152602484019162001022565b039134905af19081156200046d576200042d985089908a9262000443575b5081811562000430575b50506200134a565b80f35b6200043b91620010df565b388162000425565b90506200046591503d808b833e6200045c818362000f80565b81019062001061565b90386200041b565b88513d8b823e3d90fd5b5080fd5b8780fd5b8580fd5b8380fd5b5050346200047757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620004775760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5034620001fa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001fa576200051862000e88565b9073ffffffffffffffffffffffffffffffffffffffff92837f000000000000000000000000bb5a794bd453fc664d4b720a359c6236cb026b1716330362000588575050167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f6f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2073657460448201527f50726f78790000000000000000000000000000000000000000000000000000006064820152fd5b5050346200047757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000477576020905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000bb5a794bd453fc664d4b720a359c6236cb026b17168152f35b5050346200047757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620004775773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b5050346200047757602090620006e53662000eac565b93909182845194818387376200072282870160028152878673ffffffffffffffffffffffffffffffffffffffff998a930301902054161562001a8d565b5193849283378101600281520301902091167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905580f35b5034620001fa5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001fa5780359067ffffffffffffffff82116200048357366023830112156200048357810135620007bd8162000fc2565b90620007cc8451928362000f80565b808252602082019236602483830101116200047f57926200081e9260209687848195602473ffffffffffffffffffffffffffffffffffffffff9901863783010152855193849283925192839162000ffd565b8101600281520301902054169051908152f35b508290346200047757620008453662000eac565b73ffffffffffffffffffffffffffffffffffffffff95929593919390817f000000000000000000000000bb5a794bd453fc664d4b720a359c6236cb026b17163303620009b4578116938184518289823760208184810160028152030190205416853b15620009b0578685518080937f7199e9800000000000000000000000000000000000000000000000000000000082528888830152620008ec8c87604485019162001022565b9060248301520381838a5af18015620009a6576200098f575b5060208697828651938492833781016002815203019020541692833b156200098b576024859283855196879485937ff2fde38b0000000000000000000000000000000000000000000000000000000085528401525af19081156200098257506200096c5750f35b620009779062000f1f565b6200097f5780f35b80fd5b513d84823e3d90fd5b8480fd5b956200099e6020989762000f1f565b959662000905565b85513d89823e3d90fd5b8680fd5b60848360208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f6f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074726160448201527f6e7366657253746f7261676500000000000000000000000000000000000000006064820152fd5b5050346200047757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000477576020906003549051908152f35b50919034620004775760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620004775767ffffffffffffffff8335818111620004835762000acc903690860162000e1e565b90948351928287853762000b088385016002815285602073ffffffffffffffffffffffffffffffffffffffff9788930301902054161562001a8d565b845191610de990818401928484109084111762000ba1575090829162001b1a83398581526008602062000b3f888401878c62001022565b920152039085f093841562000b96575060208095828551938492833781016002815203019020921691827fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551908152f35b8351903d90823e3d90fd5b8760416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9060a082360112620004835767ffffffffffffffff9080358281116200047f5762000c1e903690830162000e54565b6024929192358481116200047b5762000c3b903690840162000e54565b93909288604435878111620004775762000c59903690840162000e54565b989097606435818111620004835762000c76903690860162000e1e565b9290946084359283116200098b57620003fd60609262000c9b8f953690850162000e1e565b9062000cf273ffffffffffffffffffffffffffffffffffffffff8a541697519a8b998a9889987f57859ce0000000000000000000000000000000000000000000000000000000008a52890152606488019162001022565b926001602487015285840301604486015262001022565b905083346200097f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200097f5782359067ffffffffffffffff82116200097f57509060208162000d7973ffffffffffffffffffffffffffffffffffffffff943690870162000e1e565b8091833781016002815203019020541690811562000d9b575060209151908152f35b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602360248201527f5468657265206973206e6f206461746120666f7220726571756573746564207060448201527f61697200000000000000000000000000000000000000000000000000000000006064820152fd5b9181601f8401121562000e4f5782359167ffffffffffffffff831162000e4f576020838186019501011162000e4f57565b600080fd5b9181601f8401121562000e4f5782359167ffffffffffffffff831162000e4f576020808501948460051b01011162000e4f57565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820362000e4f57565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011262000e4f576004359067ffffffffffffffff821162000e4f5762000ef99160040162000e1e565b909160243573ffffffffffffffffffffffffffffffffffffffff8116810362000e4f5790565b67ffffffffffffffff811162000f3457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111762000f3457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111762000f3457604052565b67ffffffffffffffff811162000f3457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b838110620010115750506000910152565b818101518382015260200162001000565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919060408382031262000e4f578251801515810362000e4f579260208101519067ffffffffffffffff821162000e4f570181601f8201121562000e4f578051620010ab8162000fc2565b92620010bb604051948562000f80565b8184526020828401011162000e4f57620010dc916020808501910162000ffd565b90565b15620010e85750565b6044601f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06040519384927f08c379a00000000000000000000000000000000000000000000000000000000084526020600485015262001159815180928160248801526020888801910162000ffd565b01168101030190fd5b67ffffffffffffffff811162000f345760051b60200190565b6fffffffffffffffffffffffffffffffff8091169081146200119d5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9190811015620012305760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121562000e4f57019081359167ffffffffffffffff831162000e4f57602001823603811362000e4f579190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060036fffffffffffffffffffffffffffffffff809316029182169182036200119d57565b8051821015620012305760209160051b010190565b9190811015620012305760051b0190565b356fffffffffffffffffffffffffffffffff8116810362000e4f5790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146200119d5760010190565b90815181101562001230570160200190565b6020815191015190602081106200131d575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b969095949194604094855194620013618662000f63565b60209586815286368183013760005b87811062001a375750620013849062001308565b60035403620019b4578188036200193157828203620018ae576003880297808904600314811517156200119d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0620013f9620013e18b62001162565b9a620013f08b519c8d62000f80565b808c5262001162565b0136888b013760005b6fffffffffffffffffffffffffffffffff908181168381101562001531578a8a620014558f84886200143492620011cc565b92909351838194838301968737810160008382015203808452018262000f80565b519020620014718d8562001469866200125f565b169062001284565b52826200148a6200148483898962001299565b620012aa565b168b518b81019182528b8152620014a18162000f63565b519020600184620014b2856200125f565b16018481116200119d578492620014e0928f620014d790866200148495169062001284565b52898c62001299565b168a518a81019182528a8152620014f78162000f63565b51902060028362001508846200125f565b16018381116200119d576200152b936200152491168d62001284565b526200117b565b62001402565b505050979491929995996060986000995b87516fffffffffffffffffffffffffffffffff8c1690811015620015b55790620015a78b8f62001577620015ae958d62001284565b51938251948162001592879351809286808701910162000ffd565b82019083820152039081018452018262000f80565b9a6200117b565b9962001542565b5091959b9950939799929691955088815191012090895190620015d88262000f63565b89825289368184013760005b8a811062001850575050620015f99062001308565b03620017cd5760005b8281106200161557505050505050505050565b62001622818484620011cc565b808b519283378101600290818152828b73ffffffffffffffffffffffffffffffffffffffff94859303019020541615158b8b62001661868989620011cc565b925192839283017f73746f7261676520666f722070616972200000000000000000000000000000009052806031928385013782019081017f206973206e6f74206465706c6f79656420796574000000000000000000000000905203602581018252604501620016d1908262000f80565b620016dc91620010df565b898b620016eb858888620011cc565b8094919251948593843782019081520301902054166fffffffffffffffffffffffffffffffff908162001720848b8a62001299565b6200172b90620012aa565b16600f0b906200173d84888b62001299565b6200174890620012aa565b90803b1562000e4f57600092836044928f5196879586947f34a388f200000000000000000000000000000000000000000000000000000000865260048601521660248401525af18015620017c25790620017aa9291620017b0575b50620012c8565b62001602565b620017bb9062000f1f565b38620017a3565b8a513d6000823e3d90fd5b6084878951907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602760248201527f6861736865645f696e7075745f6461746120213d20646174615f686173685f6660448201527f726f6d5f736778000000000000000000000000000000000000000000000000006064820152fd5b61014d908082018092116200119d577fff0000000000000000000000000000000000000000000000000000000000000062001890620018a89385620012f6565b511660001a620018a18286620012f6565b53620012c8565b620015e4565b6084868851907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602560248201527f70726963657320616e642074696d657374616d7073206c656e677468206d697360448201527f6d617463680000000000000000000000000000000000000000000000000000006064820152fd5b6084868851907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602560248201527f706169725f6e616d657320616e6420707269636573206c656e677468206d697360448201527f6d617463680000000000000000000000000000000000000000000000000000006064820152fd5b6084868851907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602b60248201527f6d72456e636c6176652066726f6d20696e70757420646966666572732066726f60448201527f6d206578706563746564210000000000000000000000000000000000000000006064820152fd5b604d908082018092116200119d577fff0000000000000000000000000000000000000000000000000000000000000062001a7662001a87938f620012f6565b511660001a620018a18285620012f6565b62001370565b1562001a9557565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f53746f7261676520697320616c7265616479206465706c6f79656420666f722060448201527f72657175657374656420706169720000000000000000000000000000000000006064820152fdfe60a0604052346200024c5762000de9803803806200001d8162000266565b9283398101906040818303126200024c5780516001600160401b03908181116200024c57820190601f8481840112156200024c578251938285116200023657602094601f1994620000748483018716880162000266565b978289528783830101116200024c579086929160005b82811062000251575050826000918901015201519360ff851685036200024c57600080546001600160501b03191690558551928311620002365760019384548581811c911680156200022b575b838210146200021557838111620001ca575b5081928411600114620001655750508192939460009262000159575b5050600019600383901b1c191690821b1790555b60805260008054600160501b600160f01b0319163360501b600160501b600160f01b0316179055604051610b5c90816200028d82396080518161088a0152f35b01519050388062000105565b6000858152828120918516979193925b888210620001b2575050838596971062000198575b505050811b01905562000119565b015160001960f88460031b161c191690553880806200018a565b80878596829496860151815501950193019062000175565b85600052826000208480870160051c8201928588106200020b575b0160051c019086905b828110620001fe575050620000e9565b60008155018690620001ee565b92508192620001e5565b634e487b7160e01b600052602260045260246000fd5b90607f1690620000d7565b634e487b7160e01b600052604160045260246000fd5b600080fd5b8181018501518a82018601528894016200008a565b6040519190601f01601f191682016001600160401b03811183821017620002365760405256fe608060409080825260048036101561001657600080fd5b600091823560e01c908163156cd5a0146108ae57508063313ce5671461085257806334a388f2146105ee57806350d25bcd14610569578063668a0f021461051b5780637284e416146103305780638da5cb5b146102dc5780639a6fc8f51461028a578063f2fde38b1461014e5763feaf968c1461009257600080fd5b3461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a576100c86108e8565b916100d2836109b7565b9161010083101561011e57505060020154915169ffffffffffffffffffff91909116808252600f83900b6020830152608092831c6040830181905260608301529181019190915260a090f35b9060326024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5080fd5b508290346102865760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102865780359073ffffffffffffffffffffffffffffffffffffffff928383168303610282578454938460501c1633036101ff5750507dffffffffffffffffffffffffffffffffffffffff000000000000000000007fffff0000000000000000000000000000000000000000ffffffffffffffffffff9160501b16911617815580f35b90602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602960248201527f4f6e6c792073746f72616765206f776e65722063616e207472616e736665722060448201527f6f776e65727368697000000000000000000000000000000000000000000000006064820152fd5b8480fd5b8280fd5b503461014a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a5780359169ffffffffffffffffffff831683036102d9576100d2836109b7565b80fd5b82843461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a5773ffffffffffffffffffffffffffffffffffffffff6020925460501c169051908152f35b50823461028657827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102865780518360019485549081871c878316978815610511575b6020938483108a146104e557848798999a84895291826000146104aa575050600114610457575b5050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095869203011683019583871067ffffffffffffffff88111761042b575085929391838652818452845191828186015281955b8387106104135750508394508582601f949501015201168101030190f35b868101820151898801890152958101958895506103f5565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8085528492507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8284106104945750505083018101878061039e565b805488850186015287965092840192810161047f565b915093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682860152151560051b840101878061039e565b60248660228b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b90607f1690610377565b82843461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a5760209069ffffffffffffffffffff6105616108e8565b915191168152f35b509190346102d957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102d95760ff6105a46108e8565b16906101008210156105c2576020838360020154600f0b9051908152f35b806032857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50913461014a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a5782359081600f0b80920361028657602435906fffffffffffffffffffffffffffffffff9081831680930361028257845473ffffffffffffffffffffffffffffffffffffffff8160501c1633036107cf5769ffffffffffffffffffff60018183167f9a0d0e9858be1baa155436171d49c0a774b37d8f23661aad38fabe215ca44b5b60208651838152a1018181116107a357907fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000911691161785556106e86106e36108e8565b6109b7565b938151918083019083821067ffffffffffffffff831117610777575281526020810192835261010084101561074b57907fffffffffffffffffffffffffffffffff00000000000000000000000000000000915116915160801b1617906002015580f35b6024856032887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248860418b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248860118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60848760208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602360248201527f4f6e6c792073746f72616765206f776e65722063616e20616464206e6577206460448201527f61746100000000000000000000000000000000000000000000000000000000006064820152fd5b82843461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b83903461014a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014a578061010060209252f35b69ffffffffffffffffffff80600054168015610959577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190811161092a5790565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f746865726520686173206265656e206e6f20726f756e647320796574000000006044820152fd5b60005469ffffffffffffffffffff82811691811680831015610aa2576101008110156109e7575b50505060ff1690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000181811161092a571611610a1e573880806109de565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f636f6e74726163742073746f726573206f6e6c7920524f554e44535f53544f5260448201527f4147455f53495a45206c617465737420726f756e6473000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5f726f756e644964206d757374206265206c657373207468616e20726f756e6460448201527f73416d6f756e74000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ff5fa73804c8c1a3ed1c7760b6098c24b4b1ca4b55edf4482ba5ce8f670611dc64736f6c63430008140033a2646970667358221220d20fc539d781160e398279c724e6dc872bf59fd1dd0046d0cd102a1b31c0adaa64736f6c63430008140033

Block Transaction Gas Used Reward
view all blocks ##produced##

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

Validator Index Block Amount
View All Withdrawals

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