ETH Price: $2,552.52 (-2.95%)
Gas: 1 Gwei

Contract

0xb9385880558A319feD0A79f0F7874D87A52176f4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Burn Funds197195942024-04-23 17:30:47110 days ago1713893447IN
0xb9385880...7A52176f4
0 ETH0.0009376614.06873368
Burn Funds116258962021-01-10 8:08:121309 days ago1610266092IN
0xb9385880...7A52176f4
0 ETH0.0025767862.00000269
Burn Funds115899862021-01-04 19:50:191315 days ago1609789819IN
0xb9385880...7A52176f4
0 ETH0.0033110
Burn Funds115898972021-01-04 19:27:331315 days ago1609788453IN
0xb9385880...7A52176f4
0 ETH0.0038492692.61722976
Burn Funds115898172021-01-04 19:09:111315 days ago1609787351IN
0xb9385880...7A52176f4
0 ETH0.00469639113
Burn Funds115897182021-01-04 18:47:591315 days ago1609786079IN
0xb9385880...7A52176f4
0 ETH0.00469503113
Burn Funds115893552021-01-04 17:29:101315 days ago1609781350IN
0xb9385880...7A52176f4
0 ETH0.00419766101.00000145
Burn Funds115891092021-01-04 16:34:481315 days ago1609778088IN
0xb9385880...7A52176f4
0 ETH0.00773034186.00000145
Burn Funds115890412021-01-04 16:19:111315 days ago1609777151IN
0xb9385880...7A52176f4
0 ETH0.00870854154.00000145
Burn Funds115887222021-01-04 15:14:001315 days ago1609773240IN
0xb9385880...7A52176f4
0 ETH0.00452599108.9
Burn Funds115887152021-01-04 15:12:201315 days ago1609773140IN
0xb9385880...7A52176f4
0 ETH0.00780397273
Burn Funds115887152021-01-04 15:12:201315 days ago1609773140IN
0xb9385880...7A52176f4
0 ETH0.0071465250
Burn Funds115884282021-01-04 14:11:061315 days ago1609769466IN
0xb9385880...7A52176f4
0 ETH0.0071568172.2000016
Burn Funds115883422021-01-04 13:50:571315 days ago1609768257IN
0xb9385880...7A52176f4
0 ETH0.00477813115
Burn Funds115881782021-01-04 13:17:011315 days ago1609766221IN
0xb9385880...7A52176f4
0 ETH0.01184488285
Burn Funds115881102021-01-04 12:59:351315 days ago1609765175IN
0xb9385880...7A52176f4
0 ETH0.0109721264
Burn Funds115877392021-01-04 11:37:491315 days ago1609760269IN
0xb9385880...7A52176f4
0 ETH0.01217737293
Burn Funds115876922021-01-04 11:24:231315 days ago1609759463IN
0xb9385880...7A52176f4
0 ETH0.00547136191.4
Burn Funds115876922021-01-04 11:24:231315 days ago1609759463IN
0xb9385880...7A52176f4
0 ETH0.00598305144
Burn Funds115871512021-01-04 9:23:441315 days ago1609752224IN
0xb9385880...7A52176f4
0 ETH0.01039325250
Burn Funds115867822021-01-04 7:57:061315 days ago1609747026IN
0xb9385880...7A52176f4
0 ETH0.01961679472
Burn Funds115865862021-01-04 7:16:251315 days ago1609744585IN
0xb9385880...7A52176f4
0 ETH0.0207805500
Burn Funds115862952021-01-04 6:06:321315 days ago1609740392IN
0xb9385880...7A52176f4
0 ETH0.01441999255
Burn Funds115861852021-01-04 5:45:301315 days ago1609739130IN
0xb9385880...7A52176f4
0 ETH0.00960059231
Burn Funds115861692021-01-04 5:40:581315 days ago1609738858IN
0xb9385880...7A52176f4
0 ETH0.00972527234
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EngSwap

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-06-24
*/

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol

pragma solidity ^0.5.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see {ERC20Detailed}.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: @openzeppelin/contracts/math/SafeMath.sol

pragma solidity ^0.5.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     *
     * _Available since v2.4.0._
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// File: contracts/EngSwap.sol

pragma solidity ^0.5.0;



/**
 Contract to approve the transfer of ENG (Enigma ERC20 tokens) to a burn address,
 emitting an event containing the intended recipient's Secret Network address
 for the purpose of minting native coins on the Secret Network.
 */
contract EngSwap {
    using SafeMath for uint256;

    /// ENG contract address
    IERC20 public token;
    /// Links the tx hash to the burn event
    uint256 public burnNonce;
    /// total amount of ENG burnt
    uint256 public totalBurnt;
    /// address tokens are transferred to by the burn event
    address burningAddress = 0x000000000000000000000000000000000000dEaD;

    constructor(IERC20 _token) public {
        token = _token;
    }

    /// Burn event log
    event LogBurn(
        address _from,
        bytes _to,
        uint256 _amount,
        uint256 _nonce
    );

    modifier canDeliver(address _sender, uint256 _amount) {
        require(
            token.balanceOf(_sender) >= _amount,
            'Insufficient ERC20 token balance for delivery.'
        );
        _;
    }

    modifier availableNonce() {
        require(
            burnNonce + 1 > burnNonce,
            'No available nonces.'
        );
        _;
    }

    /*
    * Burn funds and emit a LogBurn event for emission on the Secret Network
    *
    * @param _recipient: The intended recipient's Secret Network address.
    * @param _amount: The amount of ENG tokens to be itemized.
    */
    function burnFunds(bytes memory _recipient, uint256 _amount)
    public availableNonce
    canDeliver(msg.sender, _amount)
     {
        /// Increment the lock nonce
        burnNonce = burnNonce.add(1);
        /// Add to burnt total
        totalBurnt = totalBurnt.add(_amount);
        /// Transfer to burn address
        require(token.transferFrom(msg.sender, burningAddress, _amount), "Unable to transfer to the burning address");
        emit LogBurn(
            msg.sender,
            _recipient,
            _amount,
            burnNonce
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"bytes","name":"_to","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"LogBurn","type":"event"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_recipient","type":"bytes"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burnFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalBurnt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405261dead600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005357600080fd5b506040516108123803806108128339818101604052602081101561007657600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061073b806100d76000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063474d6dea14610051578063966ff6501461006f578063edcc1b6f1461008d578063fc0c546a14610152575b600080fd5b61005961019c565b6040518082815260200191505060405180910390f35b6100776101a2565b6040518082815260200191505060405180910390f35b610150600480360360408110156100a357600080fd5b81019080803590602001906401000000008111156100c057600080fd5b8201836020820111156100d257600080fd5b803590602001918460018302840111640100000000831117156100f457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291905050506101a8565b005b61015a610602565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60015481565b60025481565b600154600180540111610223576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4e6f20617661696c61626c65206e6f6e6365732e00000000000000000000000081525060200191505060405180910390fd5b3381806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156102c457600080fd5b505afa1580156102d8573d6000803e3d6000fd5b505050506040513d60208110156102ee57600080fd5b81019080805190602001909291905050501015610356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806106d9602e913960400191505060405180910390fd5b61036b6001805461062790919063ffffffff16565b6001819055506103868360025461062790919063ffffffff16565b6002819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561048a57600080fd5b505af115801561049e573d6000803e3d6000fd5b505050506040513d60208110156104b457600080fd5b810190808051906020019092919050505061051a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806106b06029913960400191505060405180910390fd5b7f22592b4048f2c2551a49a6eb7a488c3596cb162d706872532025d19d04cdf393338585600154604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156105bf5780820151818401526020810190506105a4565b50505050905090810190601f1680156105ec5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808284019050838110156106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe556e61626c6520746f207472616e7366657220746f20746865206275726e696e672061646472657373496e73756666696369656e7420455243323020746f6b656e2062616c616e636520666f722064656c69766572792ea265627a7a7231582080df1adb1cb5e6a583194799baad5e7fd3d2de9820ae253fcbef9462302e587664736f6c63430005100032000000000000000000000000f0ee6b27b759c9893ce4f094b49ad28fd15a23e4

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063474d6dea14610051578063966ff6501461006f578063edcc1b6f1461008d578063fc0c546a14610152575b600080fd5b61005961019c565b6040518082815260200191505060405180910390f35b6100776101a2565b6040518082815260200191505060405180910390f35b610150600480360360408110156100a357600080fd5b81019080803590602001906401000000008111156100c057600080fd5b8201836020820111156100d257600080fd5b803590602001918460018302840111640100000000831117156100f457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001909291905050506101a8565b005b61015a610602565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60015481565b60025481565b600154600180540111610223576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4e6f20617661696c61626c65206e6f6e6365732e00000000000000000000000081525060200191505060405180910390fd5b3381806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156102c457600080fd5b505afa1580156102d8573d6000803e3d6000fd5b505050506040513d60208110156102ee57600080fd5b81019080805190602001909291905050501015610356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806106d9602e913960400191505060405180910390fd5b61036b6001805461062790919063ffffffff16565b6001819055506103868360025461062790919063ffffffff16565b6002819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561048a57600080fd5b505af115801561049e573d6000803e3d6000fd5b505050506040513d60208110156104b457600080fd5b810190808051906020019092919050505061051a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806106b06029913960400191505060405180910390fd5b7f22592b4048f2c2551a49a6eb7a488c3596cb162d706872532025d19d04cdf393338585600154604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156105bf5780820151818401526020810190506105a4565b50505050905090810190601f1680156105ec5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808284019050838110156106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe556e61626c6520746f207472616e7366657220746f20746865206275726e696e672061646472657373496e73756666696369656e7420455243323020746f6b656e2062616c616e636520666f722064656c69766572792ea265627a7a7231582080df1adb1cb5e6a583194799baad5e7fd3d2de9820ae253fcbef9462302e587664736f6c63430005100032

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

000000000000000000000000f0ee6b27b759c9893ce4f094b49ad28fd15a23e4

-----Decoded View---------------
Arg [0] : _token (address): 0xf0Ee6b27b759C9893Ce4f094b49ad28fd15A23e4

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f0ee6b27b759c9893ce4f094b49ad28fd15a23e4


Deployed Bytecode Sourcemap

8692:1828:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8692:1828:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8852:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8918:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9934:583;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9934:583:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9934:583:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9934:583:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9934:583:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9934:583:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8781:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8852:24;;;;:::o;8918:25::-;;;;:::o;9934:583::-;9609:9;;9605:1;9593:9;;:13;:25;9571:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10038:10;10050:7;9425;9397:5;;;;;;;;;;;:15;;;9413:7;9397:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9397:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9397:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9397:24:0;;;;;;;;;;;;;;;;:35;;9375:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10126:16;10140:1;10126:9;;:13;;:16;;;;:::i;:::-;10114:9;:28;;;;10198:23;10213:7;10198:10;;:14;;:23;;;;:::i;:::-;10185:10;:36;;;;10278:5;;;;;;;;;;;:18;;;10297:10;10309:14;;;;;;;;;;;10325:7;10278:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10278:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10278:55:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10278:55:0;;;;;;;;;;;;;;;;10270:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10395:114;10417:10;10442;10467:7;10489:9;;10395:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10395:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9677:1;;9934:583;;:::o;8781:19::-;;;;;;;;;;;;;:::o;3793:181::-;3851:7;3871:9;3887:1;3883;:5;3871:17;;3912:1;3907;:6;;3899:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3965:1;3958:8;;;3793:181;;;;:::o

Swarm Source

bzzr://80df1adb1cb5e6a583194799baad5e7fd3d2de9820ae253fcbef9462302e5876

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.