ETH Price: $2,281.77 (-3.84%)

Contract

0x46340430971885eFfA5757eE03356eD228258ac0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Refund127723462021-07-06 6:34:531159 days ago1625553293IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127723462021-07-06 6:34:531159 days ago1625553293IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127723452021-07-06 6:34:401159 days ago1625553280IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127715902021-07-06 3:48:401159 days ago1625543320IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127705052021-07-05 23:39:531159 days ago1625528393IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127705032021-07-05 23:39:201159 days ago1625528360IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704992021-07-05 23:38:351159 days ago1625528315IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704922021-07-05 23:37:221159 days ago1625528242IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704922021-07-05 23:37:221159 days ago1625528242IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704912021-07-05 23:37:201159 days ago1625528240IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704912021-07-05 23:37:201159 days ago1625528240IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704912021-07-05 23:37:201159 days ago1625528240IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704912021-07-05 23:37:201159 days ago1625528240IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704912021-07-05 23:37:201159 days ago1625528240IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704872021-07-05 23:36:211159 days ago1625528181IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704862021-07-05 23:36:181159 days ago1625528178IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704862021-07-05 23:36:181159 days ago1625528178IN
0x46340430...228258ac0
0 ETH0.000221215
Refund127704862021-07-05 23:36:181159 days ago1625528178IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704582021-07-05 23:29:501159 days ago1625527790IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704132021-07-05 23:18:271159 days ago1625527107IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127704132021-07-05 23:18:271159 days ago1625527107IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127703452021-07-05 23:04:211159 days ago1625526261IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127703452021-07-05 23:04:211159 days ago1625526261IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127703452021-07-05 23:04:211159 days ago1625526261IN
0x46340430...228258ac0
0 ETH0.000221275
Refund127703452021-07-05 23:04:211159 days ago1625526261IN
0x46340430...228258ac0
0 ETH0.000221275
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
127723462021-07-06 6:34:531159 days ago1625553293
0x46340430...228258ac0
0.00135171 ETH
127723462021-07-06 6:34:531159 days ago1625553293
0x46340430...228258ac0
0.01492042 ETH
127723452021-07-06 6:34:401159 days ago1625553280
0x46340430...228258ac0
0.00102998 ETH
127715902021-07-06 3:48:401159 days ago1625543320
0x46340430...228258ac0
0.00522077 ETH
127705052021-07-05 23:39:531159 days ago1625528393
0x46340430...228258ac0
0.00053988 ETH
127705032021-07-05 23:39:201159 days ago1625528360
0x46340430...228258ac0
0.00053721 ETH
127704992021-07-05 23:38:351159 days ago1625528315
0x46340430...228258ac0
0.00048952 ETH
127704922021-07-05 23:37:221159 days ago1625528242
0x46340430...228258ac0
0.00489194 ETH
127704922021-07-05 23:37:221159 days ago1625528242
0x46340430...228258ac0
0.00048865 ETH
127704912021-07-05 23:37:201159 days ago1625528240
0x46340430...228258ac0
0.00049521 ETH
127704912021-07-05 23:37:201159 days ago1625528240
0x46340430...228258ac0
0.00049534 ETH
127704912021-07-05 23:37:201159 days ago1625528240
0x46340430...228258ac0
0.00496256 ETH
127704912021-07-05 23:37:201159 days ago1625528240
0x46340430...228258ac0
0.0004961 ETH
127704912021-07-05 23:37:201159 days ago1625528240
0x46340430...228258ac0
0.00495809 ETH
127704872021-07-05 23:36:211159 days ago1625528181
0x46340430...228258ac0
0.00495675 ETH
127704862021-07-05 23:36:181159 days ago1625528178
0x46340430...228258ac0
0.00495809 ETH
127704862021-07-05 23:36:181159 days ago1625528178
0x46340430...228258ac0
0.0049648 ETH
127704862021-07-05 23:36:181159 days ago1625528178
0x46340430...228258ac0
0.00498641 ETH
127704582021-07-05 23:29:501159 days ago1625527790
0x46340430...228258ac0
0.00590782 ETH
127704132021-07-05 23:18:271159 days ago1625527107
0x46340430...228258ac0
0.002 ETH
127704132021-07-05 23:18:271159 days ago1625527107
0x46340430...228258ac0
0.00373382 ETH
127703452021-07-05 23:04:211159 days ago1625526261
0x46340430...228258ac0
0.00525132 ETH
127703452021-07-05 23:04:211159 days ago1625526261
0x46340430...228258ac0
0.00005307 ETH
127703452021-07-05 23:04:211159 days ago1625526261
0x46340430...228258ac0
0.00112043 ETH
127703452021-07-05 23:04:211159 days ago1625526261
0x46340430...228258ac0
0.00184652 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtherSwap

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: EtherSwap.sol
pragma solidity ^0.5.8;

import "./Swap.sol";

// solium-disable security/no-call-value
contract EtherSwap is Swap {
    enum OrderState { HasFundingBalance, Claimed, Refunded }

    struct SwapOrder {
        address payable user;
        bytes32 paymentHash;
        bytes32 preimage;
        uint onchainAmount;
        uint refundBlockHeight;
        OrderState state;
        bool exist;
    }

    mapping(bytes16 => SwapOrder) orders;

    event OrderFundingReceived(bytes16 orderUUID, uint onchainAmount, bytes32 paymentHash, uint refundBlockHeight);
    event OrderClaimed(bytes16 orderUUID);
    event OrderRefunded(bytes16 orderUUID);

    /**
     * Allow the sender to fund a swap in one or more transactions.
     */
    function fund(bytes16 orderUUID, bytes32 paymentHash) external payable {
        SwapOrder storage order = orders[orderUUID];

        if (!order.exist) {
            order.user = msg.sender;
            order.exist = true;
            order.paymentHash = paymentHash;
            order.refundBlockHeight = block.number + refundDelay;
            order.state = OrderState.HasFundingBalance;
            order.onchainAmount = 0;
        } else {
            require(order.state == OrderState.HasFundingBalance, "Order already claimed or refunded.");
        }
        order.onchainAmount += msg.value;

        emit OrderFundingReceived(orderUUID, order.onchainAmount, order.paymentHash, order.refundBlockHeight);
    }

    /**
     * Allow the recipient to claim the funds once they know the preimage of the hashlock.
     * Anyone can claim but tokens only send to owner.
     */
    function claim(bytes16 orderUUID, bytes32 preimage) external {
        SwapOrder storage order = orders[orderUUID];

        require(order.exist == true, "Order does not exist.");
        require(order.state == OrderState.HasFundingBalance, "Order cannot be claimed.");
        require(sha256(abi.encodePacked(preimage)) == order.paymentHash, "Incorrect payment preimage.");
        require(block.number <= order.refundBlockHeight, "Too late to claim.");

        order.preimage = preimage;
        order.state = OrderState.Claimed;

        (bool success, ) = owner.call.value(order.onchainAmount)("");
        require(success, "Transfer failed.");

        emit OrderClaimed(orderUUID);
    }

    /**
     * Refund the sent amount back to the funder if the timelock has expired.
     */
    function refund(bytes16 orderUUID) external {
        SwapOrder storage order = orders[orderUUID];

        require(order.exist == true, "Order does not exist.");
        require(order.state == OrderState.HasFundingBalance, "Order cannot be refunded.");
        require(block.number > order.refundBlockHeight, "Too early to refund.");

        order.state = OrderState.Refunded;

        (bool success, ) = order.user.call.value(order.onchainAmount)("");
        require(success, "Transfer failed.");

        emit OrderRefunded(orderUUID);
    }
}

File 2 of 3: Owned.sol
pragma solidity ^0.5.8;

contract Owned {
    constructor() public { owner = msg.sender; }
    address payable public owner;

    modifier onlyOwner {
        require(
            msg.sender == owner,
            "Only owner can call this function."
        );
        _;
    }
}

File 3 of 3: Swap.sol
pragma solidity ^0.5.8;

import "./Owned.sol";

contract Swap is Owned {
    // Refund delay. Default: 4 hours
    uint public refundDelay = 4 * 60 * 4;

    // Max possible refund delay: 5 days
    uint constant MAX_REFUND_DELAY = 60 * 60 * 2 * 4;

    /**
     * Set the block height at which a refund will successfully process.
     */
    function setRefundDelay(uint delay) external onlyOwner {
        require(delay <= MAX_REFUND_DELAY, "Delay is too large.");
        refundDelay = delay;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"refundDelay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"orderUUID","type":"bytes16"},{"name":"paymentHash","type":"bytes32"}],"name":"fund","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"delay","type":"uint256"}],"name":"setRefundDelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"orderUUID","type":"bytes16"},{"name":"preimage","type":"bytes32"}],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"orderUUID","type":"bytes16"}],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"orderUUID","type":"bytes16"},{"indexed":false,"name":"onchainAmount","type":"uint256"},{"indexed":false,"name":"paymentHash","type":"bytes32"},{"indexed":false,"name":"refundBlockHeight","type":"uint256"}],"name":"OrderFundingReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"orderUUID","type":"bytes16"}],"name":"OrderClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"orderUUID","type":"bytes16"}],"name":"OrderRefunded","type":"event"}]

60806040526103c0600155336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610df2806100596000396000f3fe6080604052600436106100555760003560e01c80633e602b4c1461005a5780633fdcdd1e146100855780637bfa9819146100d05780638da5cb5b1461010b578063aadd21c614610162578063dfdecfaf146101ba575b600080fd5b34801561006657600080fd5b5061006f610208565b6040518082815260200191505060405180910390f35b6100ce6004803603604081101561009b57600080fd5b8101908080356fffffffffffffffffffffffffffffffff191690602001909291908035906020019092919050505061020e565b005b3480156100dc57600080fd5b50610109600480360360208110156100f357600080fd5b8101908080359060200190929190505050610425565b005b34801561011757600080fd5b5061012061054c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101b86004803603604081101561018557600080fd5b8101908080356fffffffffffffffffffffffffffffffff1916906020019092919080359060200190929190505050610571565b005b3480156101c657600080fd5b50610206600480360360208110156101dd57600080fd5b8101908080356fffffffffffffffffffffffffffffffff19169060200190929190505050610a18565b005b60015481565b600060026000846fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200190815260200160002090508060050160019054906101000a900460ff1661030c57338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018160050160016101000a81548160ff0219169083151502179055508181600101819055506001544301816004018190555060008160050160006101000a81548160ff021916908360028111156102f857fe5b02179055506000816003018190555061038d565b6000600281111561031957fe5b8160050160009054906101000a900460ff16600281111561033657fe5b1461038c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610da56022913960400191505060405180910390fd5b5b3481600301600082825401925050819055507f028c40b551ffbe42d348aaa48d3470dcef2bbd8403bfcb1374ca9a9b77e1178c8382600301548360010154846004015460405180856fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200184815260200183815260200182815260200194505050505060405180910390a1505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d836022913960400191505060405180910390fd5b617080811115610542576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f44656c617920697320746f6f206c617267652e0000000000000000000000000081525060200191505060405180910390fd5b8060018190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060026000846fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020019081526020016000209050600115158160050160019054906101000a900460ff16151514610639576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f7264657220646f6573206e6f742065786973742e000000000000000000000081525060200191505060405180910390fd5b6000600281111561064657fe5b8160050160009054906101000a900460ff16600281111561066357fe5b146106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f726465722063616e6e6f7420626520636c61696d65642e000000000000000081525060200191505060405180910390fd5b8060010154600283604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b60208310610730578051825260208201915060208101905060208303925061070d565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610772573d6000803e3d6000fd5b5050506040513d602081101561078757600080fd5b81019080805190602001909291905050501461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496e636f7272656374207061796d656e7420707265696d6167652e000000000081525060200191505060405180910390fd5b8060040154431115610885576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f546f6f206c61746520746f20636c61696d2e000000000000000000000000000081525060200191505060405180910390fd5b81816002018190555060018160050160006101000a81548160ff021916908360028111156108af57fe5b021790555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826003015460405180600001905060006040518083038185875af1925050503d8060008114610939576040519150601f19603f3d011682016040523d82523d6000602084013e61093e565b606091505b50509050806109b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5472616e73666572206661696c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b7f96a7ce28124a58eee4f04c2ee97fd44eb93c29d0df55a43fa5e0daccb20a0be58460405180826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200191505060405180910390a150505050565b600060026000836fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020019081526020016000209050600115158160050160019054906101000a900460ff16151514610ae0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f7264657220646f6573206e6f742065786973742e000000000000000000000081525060200191505060405180910390fd5b60006002811115610aed57fe5b8160050160009054906101000a900460ff166002811115610b0a57fe5b14610b7d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4f726465722063616e6e6f7420626520726566756e6465642e0000000000000081525060200191505060405180910390fd5b80600401544311610bf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f546f6f206561726c7920746f20726566756e642e00000000000000000000000081525060200191505060405180910390fd5b60028160050160006101000a81548160ff02191690836002811115610c1757fe5b021790555060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826003015460405180600001905060006040518083038185875af1925050503d8060008114610ca4576040519150601f19603f3d011682016040523d82523d6000602084013e610ca9565b606091505b5050905080610d20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5472616e73666572206661696c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b7f0fc93734e5a973e72ab53332bf6e822d652e9d044fa7f4fe3b13028352c148808360405180826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200191505060405180910390a150505056fe4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6e2e4f7264657220616c726561647920636c61696d6564206f7220726566756e6465642ea165627a7a72305820f997047520644312d9acf9755eef4ab3a00e09993a7415cf5bee2f2ef6e4b6780029

Deployed Bytecode

0x6080604052600436106100555760003560e01c80633e602b4c1461005a5780633fdcdd1e146100855780637bfa9819146100d05780638da5cb5b1461010b578063aadd21c614610162578063dfdecfaf146101ba575b600080fd5b34801561006657600080fd5b5061006f610208565b6040518082815260200191505060405180910390f35b6100ce6004803603604081101561009b57600080fd5b8101908080356fffffffffffffffffffffffffffffffff191690602001909291908035906020019092919050505061020e565b005b3480156100dc57600080fd5b50610109600480360360208110156100f357600080fd5b8101908080359060200190929190505050610425565b005b34801561011757600080fd5b5061012061054c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101b86004803603604081101561018557600080fd5b8101908080356fffffffffffffffffffffffffffffffff1916906020019092919080359060200190929190505050610571565b005b3480156101c657600080fd5b50610206600480360360208110156101dd57600080fd5b8101908080356fffffffffffffffffffffffffffffffff19169060200190929190505050610a18565b005b60015481565b600060026000846fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200190815260200160002090508060050160019054906101000a900460ff1661030c57338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018160050160016101000a81548160ff0219169083151502179055508181600101819055506001544301816004018190555060008160050160006101000a81548160ff021916908360028111156102f857fe5b02179055506000816003018190555061038d565b6000600281111561031957fe5b8160050160009054906101000a900460ff16600281111561033657fe5b1461038c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610da56022913960400191505060405180910390fd5b5b3481600301600082825401925050819055507f028c40b551ffbe42d348aaa48d3470dcef2bbd8403bfcb1374ca9a9b77e1178c8382600301548360010154846004015460405180856fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200184815260200183815260200182815260200194505050505060405180910390a1505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d836022913960400191505060405180910390fd5b617080811115610542576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f44656c617920697320746f6f206c617267652e0000000000000000000000000081525060200191505060405180910390fd5b8060018190555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060026000846fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020019081526020016000209050600115158160050160019054906101000a900460ff16151514610639576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f7264657220646f6573206e6f742065786973742e000000000000000000000081525060200191505060405180910390fd5b6000600281111561064657fe5b8160050160009054906101000a900460ff16600281111561066357fe5b146106d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f726465722063616e6e6f7420626520636c61696d65642e000000000000000081525060200191505060405180910390fd5b8060010154600283604051602001808281526020019150506040516020818303038152906040526040518082805190602001908083835b60208310610730578051825260208201915060208101905060208303925061070d565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610772573d6000803e3d6000fd5b5050506040513d602081101561078757600080fd5b81019080805190602001909291905050501461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496e636f7272656374207061796d656e7420707265696d6167652e000000000081525060200191505060405180910390fd5b8060040154431115610885576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f546f6f206c61746520746f20636c61696d2e000000000000000000000000000081525060200191505060405180910390fd5b81816002018190555060018160050160006101000a81548160ff021916908360028111156108af57fe5b021790555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826003015460405180600001905060006040518083038185875af1925050503d8060008114610939576040519150601f19603f3d011682016040523d82523d6000602084013e61093e565b606091505b50509050806109b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5472616e73666572206661696c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b7f96a7ce28124a58eee4f04c2ee97fd44eb93c29d0df55a43fa5e0daccb20a0be58460405180826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200191505060405180910390a150505050565b600060026000836fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020019081526020016000209050600115158160050160019054906101000a900460ff16151514610ae0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f7264657220646f6573206e6f742065786973742e000000000000000000000081525060200191505060405180910390fd5b60006002811115610aed57fe5b8160050160009054906101000a900460ff166002811115610b0a57fe5b14610b7d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4f726465722063616e6e6f7420626520726566756e6465642e0000000000000081525060200191505060405180910390fd5b80600401544311610bf6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f546f6f206561726c7920746f20726566756e642e00000000000000000000000081525060200191505060405180910390fd5b60028160050160006101000a81548160ff02191690836002811115610c1757fe5b021790555060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826003015460405180600001905060006040518083038185875af1925050503d8060008114610ca4576040519150601f19603f3d011682016040523d82523d6000602084013e610ca9565b606091505b5050905080610d20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5472616e73666572206661696c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b7f0fc93734e5a973e72ab53332bf6e822d652e9d044fa7f4fe3b13028352c148808360405180826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260200191505060405180910390a150505056fe4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6e2e4f7264657220616c726561647920636c61696d6564206f7220726566756e6465642ea165627a7a72305820f997047520644312d9acf9755eef4ab3a00e09993a7415cf5bee2f2ef6e4b6780029

Deployed Bytecode Sourcemap

88:2875:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;115:36:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;115:36:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;735:718:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;735:718:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;343:158:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;343:158:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;343:158:2;;;;;;;;;;;;;;;;;:::i;:::-;;95:28:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;95:28:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1621:694:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1621:694:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1621:694:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2415:546;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2415:546:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2415:546:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;;115:36:2;;;;:::o;735:718:0:-;816:23;842:6;:17;849:9;842:17;;;;;;;;;;;;;;;;;816:43;;875:5;:11;;;;;;;;;;;;870:423;;915:10;902:5;:10;;;:23;;;;;;;;;;;;;;;;;;953:4;939:5;:11;;;:18;;;;;;;;;;;;;;;;;;991:11;971:5;:17;;:31;;;;1057:11;;1042:12;:26;1016:5;:23;;:52;;;;1096:28;1082:5;:11;;;:42;;;;;;;;;;;;;;;;;;;;;;;;1160:1;1138:5;:19;;:23;;;;870:423;;;1215:28;1200:43;;;;;;;;:5;:11;;;;;;;;;;;;:43;;;;;;;;;1192:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;870:423;1325:9;1302:5;:19;;;:32;;;;;;;;;;;1350:96;1371:9;1382:5;:19;;;1403:5;:17;;;1422:5;:23;;;1350:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;735:718;;;:::o;343:158:2:-;194:5:1;;;;;;;;;;;180:19;;:10;:19;;;159:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;232:15:2;416:5;:25;;408:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;489:5;475:11;:19;;;;343:158;:::o;95:28:1:-;;;;;;;;;;;;;:::o;1621:694:0:-;1692:23;1718:6;:17;1725:9;1718:17;;;;;;;;;;;;;;;;;1692:43;;1769:4;1754:19;;:5;:11;;;;;;;;;;;;:19;;;1746:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1832:28;1817:43;;;;;;;;:5;:11;;;;;;;;;;;;:43;;;;;;;;;1809:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:5;:17;;;1907:34;1931:8;1914:26;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1914:26:0;;;1907:34;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1907:34:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1907:34:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1907:34:0;;;;;;;;;;;;;;;;:55;1899:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2028:5;:23;;;2012:12;:39;;2004:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2102:8;2085:5;:14;;:25;;;;2134:18;2120:5;:11;;;:32;;;;;;;;;;;;;;;;;;;;;;;;2164:12;2182:5;;;;;;;;;;;:10;;2199:5;:19;;;2182:41;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2163:60:0;;;2241:7;2233:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2285:23;2298:9;2285:23;;;;;;;;;;;;;;;;;;;;;;;;1621:694;;;;:::o;2415:546::-;2469:23;2495:6;:17;2502:9;2495:17;;;;;;;;;;;;;;;;;2469:43;;2546:4;2531:19;;:5;:11;;;;;;;;;;;;:19;;;2523:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2609:28;2594:43;;;;;;;;:5;:11;;;;;;;;;;;;:43;;;;;;;;;2586:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2700:5;:23;;;2685:12;:38;2677:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2773:19;2759:5;:11;;;:33;;;;;;;;;;;;;;;;;;;;;;;;2804:12;2822:5;:10;;;;;;;;;;;;:15;;2844:5;:19;;;2822:46;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2803:65:0;;;2886:7;2878:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:24;2944:9;2930:24;;;;;;;;;;;;;;;;;;;;;;;;2415:546;;;:::o

Swarm Source

bzzr://f997047520644312d9acf9755eef4ab3a00e09993a7415cf5bee2f2ef6e4b678

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  ]
[ 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.