ETH Price: $2,372.28 (+1.01%)

Contract

0x98f59b661De7AfBB9C5Cb01d262CEc9cAECA4ffe
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim116718792021-01-17 9:21:551335 days ago1610875315IN
0x98f59b66...cAECA4ffe
0 ETH0.0009707736
Lock116718762021-01-17 9:21:281335 days ago1610875288IN
0x98f59b66...cAECA4ffe
0 ETH0.003050136
Refund116667742021-01-16 14:30:271335 days ago1610807427IN
0x98f59b66...cAECA4ffe
0 ETH0.0020414178
Claim116660822021-01-16 11:50:081335 days ago1610797808IN
0x98f59b66...cAECA4ffe
0 ETH0.001640
Lock116660572021-01-16 11:45:071335 days ago1610797507IN
0x98f59b66...cAECA4ffe
0 ETH0.0039058246.1
Claim116660482021-01-16 11:42:481335 days ago1610797368IN
0x98f59b66...cAECA4ffe
0 ETH0.0016351442.00000145
Lock116660422021-01-16 11:40:561335 days ago1610797256IN
0x98f59b66...cAECA4ffe
0 ETH0.0038126245
Claim113968722020-12-06 4:03:481377 days ago1607227428IN
0x98f59b66...cAECA4ffe
0 ETH0.0007005618
Lock113968682020-12-06 4:03:001377 days ago1607227380IN
0x98f59b66...cAECA4ffe
0 ETH0.0016601319.6
Claim113747152020-12-02 18:23:451380 days ago1606933425IN
0x98f59b66...cAECA4ffe
0 ETH0.0011290229
Lock113747092020-12-02 18:22:511380 days ago1606933371IN
0x98f59b66...cAECA4ffe
0 ETH0.0024570229.00000156
Claim113745282020-12-02 17:42:451380 days ago1606930965IN
0x98f59b66...cAECA4ffe
0 ETH0.00067425
Lock113745252020-12-02 17:42:261380 days ago1606930946IN
0x98f59b66...cAECA4ffe
0 ETH0.0021175225
Claim113745012020-12-02 17:38:201380 days ago1606930700IN
0x98f59b66...cAECA4ffe
0 ETH0.0007142826.5
Lock113744992020-12-02 17:37:581380 days ago1606930678IN
0x98f59b66...cAECA4ffe
0 ETH0.0021175225
Claim113542092020-11-29 14:36:021383 days ago1606660562IN
0x98f59b66...cAECA4ffe
0 ETH0.0005839815
Lock113541992020-11-29 14:34:401383 days ago1606660480IN
0x98f59b66...cAECA4ffe
0 ETH0.0014399117
Claim109658262020-09-30 20:09:411443 days ago1601496581IN
0x98f59b66...cAECA4ffe
0 ETH0.0032702884
Lock109658152020-09-30 20:07:071443 days ago1601496427IN
0x98f59b66...cAECA4ffe
0 ETH0.0066085578
Claim109205472020-09-23 18:47:521450 days ago1600886872IN
0x98f59b66...cAECA4ffe
0 ETH0.003697495
Lock109205382020-09-23 18:46:501450 days ago1600886810IN
0x98f59b66...cAECA4ffe
0 ETH0.0082849397.8
0x60806040109188802020-09-23 12:28:101450 days ago1600864090IN
 Create: ERC20Swap
0 ETH0.043781280

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20Swap

Compiler Version
v0.7.1+commit.f4a555be

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: ERC20Swap.sol
// SPDX-License-Identifier: AGPL-3.0-or-later

pragma solidity 0.7.1;

import "./TransferHelper.sol";

contract ERC20Swap {
    uint8 constant public version = 1;

    mapping (bytes32 => bool) public swaps;

    event Lockup(
        bytes32 indexed preimageHash,
        uint256 amount,
        address tokenAddress,
        address claimAddress,
        address indexed refundAddress,
        uint timelock
    );

    event Claim(bytes32 indexed preimageHash, bytes32 preimage);
    event Refund(bytes32 indexed preimageHash);

    function hashValues(
        bytes32 preimageHash,
        uint256 amount,
        address tokenAddress,
        address claimAddress,
        address refundAddress,
        uint timelock
    ) private pure returns (bytes32) {
        return keccak256(abi.encodePacked(
            preimageHash,
            amount,
            tokenAddress,
            claimAddress,
            refundAddress,
            timelock
        ));
    }

    function checkSwapExists(bytes32 hash) private view {
        require(swaps[hash] == true, "ERC20Swap: swap does not exist");
    }

    function lock(
        bytes32 preimageHash,
        uint256 amount,
        address tokenAddress,
        address claimAddress,
        uint timelock
    ) external {
        require(amount > 0, "ERC20Swap: amount must not be zero");

        TransferHelper.safeTransferFrom(tokenAddress, msg.sender, address(this), amount);

        bytes32 hash = hashValues(
            preimageHash,
            amount,
            tokenAddress,
            claimAddress,
            msg.sender,
            timelock
        );

        require(swaps[hash] == false, "ERC20Swap: swap exists already");
        swaps[hash] = true;

        emit Lockup(preimageHash, amount, tokenAddress, claimAddress, msg.sender, timelock);
    }

    function claim(
        bytes32 preimage,
        uint amount,
        address tokenAddress,
        address refundAddress,
        uint timelock
    ) external {
        bytes32 preimageHash = sha256(abi.encodePacked(preimage));
        bytes32 hash = hashValues(
            preimageHash,
            amount,
            tokenAddress,
            msg.sender,
            refundAddress,
            timelock
        );

        checkSwapExists(hash);
        delete swaps[hash];

        emit Claim(preimageHash, preimage);

        TransferHelper.safeTransfer(tokenAddress, msg.sender, amount);
    }

    function refund(
        bytes32 preimageHash,
        uint amount,
        address tokenAddress,
        address claimAddress,
        uint timelock
    ) external {
        require(timelock <= block.number, "ERC20Swap: swap has not timed out yet");

        bytes32 hash = hashValues(
            preimageHash,
            amount,
            tokenAddress,
            claimAddress,
            msg.sender,
            timelock
        );

        checkSwapExists(hash);
        delete swaps[hash];

        emit Refund(preimageHash);

        TransferHelper.safeTransfer(tokenAddress, msg.sender, amount);
    }
}

File 2 of 2: TransferHelper.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity 0.7.1;

// Copyright 2020 Uniswap team
// Based on: https://github.com/Uniswap/uniswap-lib/blob/master/contracts/libraries/TransferHelper.sol
library TransferHelper {
    function safeTransfer(address token, address to, uint value) internal {
        // bytes4(keccak256(bytes('transfer(address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "TransferHelper: could not transfer ERC20 tokens"
        );
    }

    function safeTransferFrom(address token, address from, address to, uint value) internal {
        // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));
        require(
            success && (data.length == 0 || abi.decode(data, (bool))),
            "TransferHelper: could not transferFrom ERC20 tokens"
        );
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"preimageHash","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"preimage","type":"bytes32"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"preimageHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"claimAddress","type":"address"},{"indexed":true,"internalType":"address","name":"refundAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"timelock","type":"uint256"}],"name":"Lockup","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"preimageHash","type":"bytes32"}],"name":"Refund","type":"event"},{"inputs":[{"internalType":"bytes32","name":"preimage","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"refundAddress","type":"address"},{"internalType":"uint256","name":"timelock","type":"uint256"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"preimageHash","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"claimAddress","type":"address"},{"internalType":"uint256","name":"timelock","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"preimageHash","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"claimAddress","type":"address"},{"internalType":"uint256","name":"timelock","type":"uint256"}],"name":"refund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"swaps","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506108ef806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063365047211461005c57806354fd4d50146100a057806391644b2b146100be578063cd413efa14610100578063eb84e7f214610142575b600080fd5b61009e600480360360a081101561007257600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610173565b005b6100a861021d565b6040805160ff9092168252519081900360200190f35b61009e600480360360a08110156100d457600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610222565b61009e600480360360a081101561011657600080fd5b508035906020810135906001600160a01b0360408201358116916060810135909116906080013561035c565b61015f6004803603602081101561015857600080fd5b5035610480565b604080519115158252519081900360200190f35b438111156101b25760405162461bcd60e51b81526004018080602001828103825260258152602001806108116025913960400191505060405180910390fd5b60006101c2868686863387610495565b90506101cd816104fc565b600081815260208190526040808220805460ff191690555187917f3fbd469ec3a5ce074f975f76ce27e727ba21c99176917b97ae2e713695582a1291a2610215843387610567565b505050505050565b600181565b600084116102615760405162461bcd60e51b81526004018080602001828103825260228152602001806108986022913960400191505060405180910390fd5b61026d833330876106bb565b600061027d868686863387610495565b60008181526020819052604090205490915060ff16156102e4576040805162461bcd60e51b815260206004820152601e60248201527f4552433230537761703a20737761702065786973747320616c72656164790000604482015290519081900360640190fd5b60008181526020818152604091829020805460ff1916600117905581518781526001600160a01b038781169282019290925290851681830152606081018490529051339188917fa98eaa2bd8230d87a1a4c356f5c1d41cb85ff88131122ec8b1931cb9d31ae1459181900360800190a3505050505050565b6000600286604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106103af5780518252601f199092019160209182019101610390565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156103ee573d6000803e3d6000fd5b5050506040513d602081101561040357600080fd5b505190506000610417828787338888610495565b9050610422816104fc565b60008181526020818152604091829020805460ff191690558151898152915184927f5664142af3dcfc3dc3de45a43f75c746bd1d8c11170a5037fdf98bdb3577513792908290030190a2610477853388610567565b50505050505050565b60006020819052908152604090205460ff1681565b6040805160208082018990528183018890526bffffffffffffffffffffffff19606088811b82168185015287811b8216607485015286901b166088830152609c8083018590528351808403909101815260bc90920190925280519101209695505050505050565b60008181526020819052604090205460ff161515600114610564576040805162461bcd60e51b815260206004820152601e60248201527f4552433230537761703a207377617020646f6573206e6f742065786973740000604482015290519081900360640190fd5b50565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b602083106105e45780518252601f1990920191602091820191016105c5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610646576040519150601f19603f3d011682016040523d82523d6000602084013e61064b565b606091505b5091509150818015610679575080511580610679575080806020019051602081101561067657600080fd5b50515b6106b45760405162461bcd60e51b815260040180806020018281038252602f815260200180610869602f913960400191505060405180910390fd5b5050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b602083106107405780518252601f199092019160209182019101610721565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146107a2576040519150601f19603f3d011682016040523d82523d6000602084013e6107a7565b606091505b50915091508180156107d55750805115806107d557508080602001905160208110156107d257600080fd5b50515b6102155760405162461bcd60e51b81526004018080602001828103825260338152602001806108366033913960400191505060405180910390fdfe4552433230537761703a207377617020686173206e6f742074696d6564206f7574207965745472616e7366657248656c7065723a20636f756c64206e6f74207472616e7366657246726f6d20455243323020746f6b656e735472616e7366657248656c7065723a20636f756c64206e6f74207472616e7366657220455243323020746f6b656e734552433230537761703a20616d6f756e74206d757374206e6f74206265207a65726fa264697066735822122014964198cd2bb29748166c072fd54bf0d8ef72482f5b96ac806484eaee4b5e5f64736f6c63430007010033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063365047211461005c57806354fd4d50146100a057806391644b2b146100be578063cd413efa14610100578063eb84e7f214610142575b600080fd5b61009e600480360360a081101561007257600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610173565b005b6100a861021d565b6040805160ff9092168252519081900360200190f35b61009e600480360360a08110156100d457600080fd5b508035906020810135906001600160a01b03604082013581169160608101359091169060800135610222565b61009e600480360360a081101561011657600080fd5b508035906020810135906001600160a01b0360408201358116916060810135909116906080013561035c565b61015f6004803603602081101561015857600080fd5b5035610480565b604080519115158252519081900360200190f35b438111156101b25760405162461bcd60e51b81526004018080602001828103825260258152602001806108116025913960400191505060405180910390fd5b60006101c2868686863387610495565b90506101cd816104fc565b600081815260208190526040808220805460ff191690555187917f3fbd469ec3a5ce074f975f76ce27e727ba21c99176917b97ae2e713695582a1291a2610215843387610567565b505050505050565b600181565b600084116102615760405162461bcd60e51b81526004018080602001828103825260228152602001806108986022913960400191505060405180910390fd5b61026d833330876106bb565b600061027d868686863387610495565b60008181526020819052604090205490915060ff16156102e4576040805162461bcd60e51b815260206004820152601e60248201527f4552433230537761703a20737761702065786973747320616c72656164790000604482015290519081900360640190fd5b60008181526020818152604091829020805460ff1916600117905581518781526001600160a01b038781169282019290925290851681830152606081018490529051339188917fa98eaa2bd8230d87a1a4c356f5c1d41cb85ff88131122ec8b1931cb9d31ae1459181900360800190a3505050505050565b6000600286604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b602083106103af5780518252601f199092019160209182019101610390565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156103ee573d6000803e3d6000fd5b5050506040513d602081101561040357600080fd5b505190506000610417828787338888610495565b9050610422816104fc565b60008181526020818152604091829020805460ff191690558151898152915184927f5664142af3dcfc3dc3de45a43f75c746bd1d8c11170a5037fdf98bdb3577513792908290030190a2610477853388610567565b50505050505050565b60006020819052908152604090205460ff1681565b6040805160208082018990528183018890526bffffffffffffffffffffffff19606088811b82168185015287811b8216607485015286901b166088830152609c8083018590528351808403909101815260bc90920190925280519101209695505050505050565b60008181526020819052604090205460ff161515600114610564576040805162461bcd60e51b815260206004820152601e60248201527f4552433230537761703a207377617020646f6573206e6f742065786973740000604482015290519081900360640190fd5b50565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b602083106105e45780518252601f1990920191602091820191016105c5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610646576040519150601f19603f3d011682016040523d82523d6000602084013e61064b565b606091505b5091509150818015610679575080511580610679575080806020019051602081101561067657600080fd5b50515b6106b45760405162461bcd60e51b815260040180806020018281038252602f815260200180610869602f913960400191505060405180910390fd5b5050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b602083106107405780518252601f199092019160209182019101610721565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146107a2576040519150601f19603f3d011682016040523d82523d6000602084013e6107a7565b606091505b50915091508180156107d55750805115806107d557508080602001905160208110156107d257600080fd5b50515b6102155760405162461bcd60e51b81526004018080602001828103825260338152602001806108366033913960400191505060405180910390fdfe4552433230537761703a207377617020686173206e6f742074696d6564206f7574207965745472616e7366657248656c7065723a20636f756c64206e6f74207472616e7366657246726f6d20455243323020746f6b656e735472616e7366657248656c7065723a20636f756c64206e6f74207472616e7366657220455243323020746f6b656e734552433230537761703a20616d6f756e74206d757374206e6f74206265207a65726fa264697066735822122014964198cd2bb29748166c072fd54bf0d8ef72482f5b96ac806484eaee4b5e5f64736f6c63430007010033

Deployed Bytecode Sourcemap

103:2956:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2443:614;;;;;;;;;;;;;;;;-1:-1:-1;2443:614:0;;;;;;;;-1:-1:-1;;;;;2443:614:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;128:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1112:717;;;;;;;;;;;;;;;;-1:-1:-1;1112:717:0;;;;;;;;-1:-1:-1;;;;;1112:717:0;;;;;;;;;;;;;;;;;;;:::i;1835:602::-;;;;;;;;;;;;;;;;-1:-1:-1;1835:602:0;;;;;;;;-1:-1:-1;;;;;1835:602:0;;;;;;;;;;;;;;;;;;;:::i;168:38::-;;;;;;;;;;;;;;;;-1:-1:-1;168:38:0;;:::i;:::-;;;;;;;;;;;;;;;;;;2443:614;2638:12;2626:8;:24;;2618:74;;;;-1:-1:-1;;;2618:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2703:12;2718:164;2742:12;2768:6;2788:12;2814;2840:10;2864:8;2718:10;:164::i;:::-;2703:179;;2893:21;2909:4;2893:15;:21::i;:::-;2931:5;:11;;;;;;;;;;;2924:18;;-1:-1:-1;;2924:18:0;;;2958:20;2965:12;;2958:20;;;2989:61;3017:12;3031:10;3043:6;2989:27;:61::i;:::-;2443:614;;;;;;:::o;128:33::-;160:1;128:33;:::o;1112:717::-;1305:1;1296:6;:10;1288:57;;;;-1:-1:-1;;;1288:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1356:80;1388:12;1402:10;1422:4;1429:6;1356:31;:80::i;:::-;1447:12;1462:164;1486:12;1512:6;1532:12;1558;1584:10;1608:8;1462:10;:164::i;:::-;1645:5;:11;;;;;;;;;;;1447:179;;-1:-1:-1;1645:11:0;;:20;1637:63;;;;;-1:-1:-1;;;1637:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:5;:11;;;;;;;;;;;;:18;;-1:-1:-1;;1710:18:0;1724:4;1710:18;;;1744:78;;;;;-1:-1:-1;;;;;1744:78:0;;;;;;;;;;;;;;;;;;;;;;;;;1801:10;;1751:12;;1744:78;;;;;;;;;1112:717;;;;;;:::o;1835:602::-;2006:20;2029:34;2053:8;2036:26;;;;;;;;;;;;;;;;;;;;;;;;;2029:34;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2029:34:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2029:34:0;;;;;;;;;;;;;;;;;;-1:-1:-1;2029:34:0;;-1:-1:-1;;2029:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2029:34:0;;-1:-1:-1;2073:12:0;2088:165;2029:34;2138:6;2158:12;2184:10;2208:13;2235:8;2088:10;:165::i;:::-;2073:180;;2264:21;2280:4;2264:15;:21::i;:::-;2302:5;:11;;;;;;;;;;;;2295:18;;-1:-1:-1;;2295:18:0;;;2329:29;;;;;;;2335:12;;2329:29;;;;;;;;;2369:61;2397:12;2411:10;2423:6;2369:27;:61::i;:::-;1835:602;;;;;;;:::o;168:38::-;;;;;;;;;;;;;;;;:::o;536:433::-;788:173;;;;;;;;;;;;;;;;-1:-1:-1;;788:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;778:184;;;;;536:433;;;;;;;;:::o;975:131::-;1045:5;:11;;;;;;;;;;;;;:19;;:11;:19;1037:62;;;;;-1:-1:-1;;;1037:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;975:131;:::o;233:407:1:-;426:45;;;-1:-1:-1;;;;;426:45:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;426:45:1;-1:-1:-1;;;426:45:1;;;415:57;;;;380:12;;394:17;;415:10;;;;426:45;415:57;;;426:45;415:57;;426:45;415:57;;;;;;;;;;-1:-1:-1;;415:57:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:93;;;;503:7;:57;;;;-1:-1:-1;515:11:1;;:16;;:44;;;546:4;535:24;;;;;;;;;;;;;;;-1:-1:-1;535:24:1;515:44;482:151;;;;-1:-1:-1;;;482:151:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;233:407;;;;;:::o;646:447::-;869:51;;;-1:-1:-1;;;;;869:51:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;869:51:1;-1:-1:-1;;;869:51:1;;;858:63;;;;823:12;;837:17;;858:10;;;;869:51;858:63;;;869:51;858:63;;869:51;858:63;;;;;;;;;;-1:-1:-1;;858:63:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;822:99;;;;952:7;:57;;;;-1:-1:-1;964:11:1;;:16;;:44;;;995:4;984:24;;;;;;;;;;;;;;;-1:-1:-1;984:24:1;964:44;931:155;;;;-1:-1:-1;;;931:155:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://14964198cd2bb29748166c072fd54bf0d8ef72482f5b96ac806484eaee4b5e5f

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.