Contract 0x0adee16db65f1f8867ea02aa9875d3f039f11f07 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xfae8593dbc76acf6da9de504f60279be747f55b4082915503032a091ce8fa1fbApprove206219812022-08-18 19:45:2345 days 6 hrs ago0x5d125481f1f346b86f6a59429422713fa48bf502 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000106927805 ETH
0x71fff6ca96efde6eaecdd566f093475c8746a46eb94b3a02aaa3d50608a9f684Approve205714462022-08-18 6:55:2145 days 19 hrs ago0x30452f6b44ea87a1a9dd518feb4f5e292bd91e1f IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000094486368 ETH
0x1ffe88cdd5d47ef90b36ef3cecceb27d47a0cb117158b803c84366fe25160716Approve204541742022-08-17 1:13:2647 days 48 mins ago0x8e88687cabfb21fa7eea14fc445e705d9640b5f6 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000082623946 ETH
0x660e7c84466bbafa637e7837fb80e70cc0a8229df8dcd5594bb10092c40b4218Approve203236042022-08-15 14:57:3748 days 11 hrs ago0x2b21e04509583ebbf2d7ffbe013f6cba6b6ba605 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000080427783 ETH
0x72bb8bdba9c4904ea0962ba3dbfa5cd6c76a3cddddba940112923934695de5f2Approve202793712022-08-15 3:15:4348 days 22 hrs ago0x79ae5adf2f62b9bd3d2455096c75a7af99727231 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000081676198 ETH
0x7f8d0244f4caf4c6c42c7de87cdf378179a245f55c998fd74e02a47fe921445cTransfer202777692022-08-15 2:52:5548 days 23 hrs ago0x9a24448e5887ecb4fc349a4e9f43f417b9bd8495 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000075766056 ETH
0xe89b90974b02969ae8f9f1d9f747dd504155f9543ee84250842846bc5b4aefdcApprove202616912022-08-14 21:09:3949 days 4 hrs ago0x637232d085462e4af029164bdda7f838c7a4e2f9 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.00007888978 ETH
0x8ebe7d35022d494ff3d170b3d32a35dc47e3eba18987f0c93e05a7ec9b98f9a5Approve201357622022-08-13 6:53:2250 days 19 hrs ago0xd31e9a3e1321c89bb6b400eae70a507e49c1f4be IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000097591153 ETH
0x737c456c561936c9b5f1f7a2fdd952c8dab323f190da8b91f2bcceff84c3e443Approve199283812022-08-10 16:43:1853 days 9 hrs ago0x6db099b114755eec4e4caa70f5c404923728ddb0 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000155294292 ETH
0xd7a7fc03cc8233cbd1cfaee6de1186dfe1eac64224643466e47dedd5ca0bf117Approve199181822022-08-10 14:28:3353 days 11 hrs ago0xee1e986590c58c50cf90e7a73d03fcdf5ff7503d IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000107446444 ETH
0x4bbd6988bc418c88ef4cd5ad9bb541dceeffd20f416b2f7ca065f30707b56a37Approve198922462022-08-10 8:57:1753 days 17 hrs ago0x1be64cd8101c148b003f03330f5653e0dc8c24f5 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000076212293 ETH
0xae0760e498d05174d671ce1d7b828591c27bc873ea65b240c2664ffbb891314fApprove198719802022-08-10 3:21:1553 days 22 hrs ago0xd055da76fa4499a35a5e2851d63668f469ff8605 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000084688652 ETH
0xde61e9d51cb6a3c24326c1eb9a2f46b7c3359221456689faff5f149ef93b1b26Approve198472482022-08-09 20:10:0054 days 5 hrs ago0x316720a5d402110978851fcb02cf216eda73b2fa IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000111078137 ETH
0x9f16f4b3234b3ce28147b957550905b6f54bdbe4b27c16d46f73ee57596769ccApprove198449182022-08-09 19:26:3454 days 6 hrs ago0xa535d27afd10b915f75e5151312d40e4e642160e IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000111523162 ETH
0x702650e96a69e126f730ac918b03da5ff2f939f7c1a2d0c9ccca0a1eab7d2ccaApprove198391922022-08-09 17:52:3354 days 8 hrs ago0xfab23321bd4d8a1ef97e2a0354a41f00a22b43a2 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000111111209 ETH
0xc8ed8b53bdb5f1e76b3ad4491daa30fbbdfc413d6096b3ae9662ca9e58024616Approve197856442022-08-09 8:45:2954 days 17 hrs ago0x66d1f600b54b9c2576ba45cfd2090ac8e941db2e IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.00009856174 ETH
0x02d04a212b15270a51eb0266cc016a98b5d2462612f38790823f6262d13d5cd3Approve197482962022-08-08 20:18:5955 days 5 hrs ago0x737ac6eaa3b71ffea9fe166bd996f9122b7db5cb IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000102529526 ETH
0xc83c310bba2d1456fc652d66c5d31e10e9bd9ed331b3acf4069c5b55dd365125Approve197451082022-08-08 19:18:0155 days 6 hrs ago0xba7dfd52abe67bfaff0ecae43a04331e4c87de63 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000099100404 ETH
0xe11928406e54be0bd14df013e7796380c704942924ccd99842d0fd9e3b625862Approve197450472022-08-08 19:17:1755 days 6 hrs ago0x8566eafb8724c387b1941ce1bbc73ff9f42377e4 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000099261249 ETH
0x38474e580ecead2c2d20bb8b8da21992d2863813bd5ebfbf588917f4b9e5671bApprove197447432022-08-08 19:10:3455 days 6 hrs ago0x9c494e7445b8fa7f4c99cac74077159f4aebba8a IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000098702186 ETH
0xb7f964f2dbd833a1f8cc2c10bf097a331917a8db0e79f3be4d460ab9f2b7bd5dApprove197436852022-08-08 18:49:0255 days 7 hrs ago0xd99ba9fcf32ba161e0fe1148f0b65f3804af0a62 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000098463255 ETH
0xecdfb32a9b05d52d7bb79aec7378f574f10db521709c939c28030d022376c860Approve197410362022-08-08 18:02:1655 days 7 hrs ago0x7d6356d93c5a7f9e99a5e3eacf9327685a4c985d IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000098785119 ETH
0x4a6e5e966fa24d95b2bec7a6a4025212031374e8bf215de6ffe2846f3cf4b61aApprove197410032022-08-08 18:01:0455 days 8 hrs ago0x1788cfcae3370cd6034e082356157e6dab83c835 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000098461177 ETH
0x0f612d609a25d685f4400714f492519d8e7a759b9e12667df151ee90bd73dc93Approve197327972022-08-08 16:00:0055 days 10 hrs ago0x9a24448e5887ecb4fc349a4e9f43f417b9bd8495 IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.00007972615 ETH
0xd639b0bb7da269123459a06a439ad0c54259c21f8c2a0bdef02463dc15b7d47cApprove197304242022-08-08 15:32:5255 days 10 hrs ago0x39bd3ba46ccd2778dea48bd4c246acdbed680b6a IN  0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH0.000079725174 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xf55aab7910378b508fc0727155842bafec2c2f49201b22848e3659096b87a0e3280705172022-10-03 0:00:052 hrs 2 mins ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x16d493931b3d7227f377bc4dedaaebbdfebc0040d5f5368dacd6c0fb209b88ea280395122022-10-02 18:00:108 hrs 2 mins ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x24a0a79e92942d0317539b95ea755bf47749eecf2f5758bb346d3aff55af3d65279832722022-10-02 12:00:1414 hrs 2 mins ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xa12b055ebf91c38c25c21117587d10983ef6f451e7dc239ab58bbab2a9faf42c279125142022-10-02 6:00:0520 hrs 2 mins ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xa70cef1031a74e31e70032e0ef81e3d722c871e7f64abecd6dfd4417c78da229278674172022-10-02 0:00:081 day 2 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x796a99dd28e76bb4d558e5d78723a427d9c01a234f62c8d7c9022a2f4906ec53278328562022-10-01 18:00:031 day 8 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x9c1d910ea932d51222ff0d4e877550500dad91ead2df239c0dfc3ea6df94179b277718422022-10-01 12:00:081 day 14 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xa3ceea0e2b9d9ef0f4635dc713fd45c6df992ab37fc8213a9ba3085f3c1e5355277367192022-10-01 8:19:521 day 17 hrs ago 0x4d1d896fd501788d8605f672ad72fc05fe5ab311 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x5e1de0b4ca0da61c90397cc620821caf440fe79e20c4767375a6ea4b279f6562277247052022-10-01 7:00:441 day 19 hrs ago 0x4d1d896fd501788d8605f672ad72fc05fe5ab311 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xa1e69be18b2fe1519e0be83ada0eb80f36b9ce5d5007ec0be5abc687b3b864d0277169112022-10-01 6:00:151 day 20 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xfd516c83944f485500338bf095f8ec28e54fc2129ca3e4d10b4ff299e80f68f0277099842022-10-01 5:04:101 day 20 hrs ago 0x4d1d896fd501788d8605f672ad72fc05fe5ab311 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x9f2409f0539e03257431ea2c25d58ceaf4f15d2fe3e5949ba0d32540158592e6276794562022-10-01 0:00:042 days 2 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xdd2c256f3b79209683023d5f895e55a7b1e61b85aaca3ad30b11e33b64c65070276464512022-09-30 18:00:052 days 8 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x2807055e7808c27c619a6954aa599b853d1214d9a84dba0a14e6e56c229fa7de275917352022-09-30 12:00:062 days 14 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xe3889e62aebf2be7728a062a1ec1c5130c963b16e1c30d80305ffa462fc92c84275387172022-09-30 6:18:002 days 19 hrs ago 0x4d1d896fd501788d8605f672ad72fc05fe5ab311 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x79da7c9e183b10c1b9d62df6cd5ce58487755bd33bcae021f2b3e4b643ca83be275362772022-09-30 6:00:122 days 20 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xe6288f573a7c1b82b56d44acf562200366766e1a04e6154718b6c36bbb23f388274956202022-09-30 0:00:083 days 2 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xc989db15b7a7c8036747a3c20702ee20e5f1ec3718e7d8cf6dbd878f86f83a52274943032022-09-29 23:41:503 days 2 hrs ago 0x4d1d896fd501788d8605f672ad72fc05fe5ab311 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x3b31b8073b3c1a61ecaf9223638512990c60fee8885f09477752a2365dcac040274636992022-09-29 18:00:093 days 8 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xfb02c82e464e79a007e1edc317751fbb720aad2813022ae1c388d329fb9bd911274080042022-09-29 12:00:103 days 14 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0xa975f76dfd8eee801887434ea304403c4b1e1accf44ad21177dda5fcff56aba2273532582022-09-29 6:26:093 days 19 hrs ago 0x4d1d896fd501788d8605f672ad72fc05fe5ab311 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x5ef710ec697c23c82557a04544a813aaa0b394dc2ec1f4f19e7c997d8fbc6e23273530852022-09-29 6:25:173 days 19 hrs ago 0x4d1d896fd501788d8605f672ad72fc05fe5ab311 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x21efa87cd0bf708eca749d884946f468ea128fcfccb20ba1c06c8d93eeb9f93f273483672022-09-29 6:00:063 days 20 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x25806e0b4e56c74eee06a34720f1d16e83582a9bd5b2071930979867bee53b42273021202022-09-29 0:00:074 days 2 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
0x1663faec7f11a6d14362e93ce9fd73b915ee1ea398d983a03a22eba2a76fa2dd272689452022-09-28 18:00:114 days 8 hrs ago 0xcfc40e6fb7c4dfde31433911da0bc70586880190 0x0adee16db65f1f8867ea02aa9875d3f039f11f070 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Bond

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan on 2022-07-21
*/

// SPDX-License-Identifier: MIT
// File: @openzeppelin/contracts/utils/Context.sol


pragma solidity >=0.6.0 <0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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


pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
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.6.0 <0.8.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, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b > a) return (false, 0);
        return (true, a - b);
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, 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 (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }

    /**
     * @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) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }

    /**
     * @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) {
        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, reverting 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) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting 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) {
        require(b > 0, "SafeMath: modulo by zero");
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        return a - b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryDiv}.
     *
     * 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, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * 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, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        return a % b;
    }
}

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


pragma solidity >=0.6.0 <0.8.0;




/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for {name} and {symbol}, initializes {decimals} with
     * a default value of 18.
     *
     * To select a different value for {decimals}, use {_setupDecimals}.
     *
     * All three of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_) public {
        _name = name_;
        _symbol = symbol_;
        _decimals = 18;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is
     * called.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual returns (uint8) {
        return _decimals;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Sets {decimals} to a value other than the default one of 18.
     *
     * WARNING: This function should only be called from the constructor. Most
     * applications that interact with token contracts will not expect
     * {decimals} to ever change, and may work incorrectly if it does.
     */
    function _setupDecimals(uint8 decimals_) internal virtual {
        _decimals = decimals_;
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

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


pragma solidity >=0.6.0 <0.8.0;



/**
 * @dev Extension of {ERC20} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract ERC20Burnable is Context, ERC20 {
    using SafeMath for uint256;

    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, deducting from the caller's
     * allowance.
     *
     * See {ERC20-_burn} and {ERC20-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        uint256 decreasedAllowance = allowance(account, _msgSender()).sub(amount, "ERC20: burn amount exceeds allowance");

        _approve(account, _msgSender(), decreasedAllowance);
        _burn(account, amount);
    }
}

// File: @openzeppelin/contracts/GSN/Context.sol


pragma solidity >=0.6.0 <0.8.0;

// File: @openzeppelin/contracts/access/Ownable.sol


pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/owner/Operator.sol


pragma solidity 0.6.12;



contract Operator is Context, Ownable {
    address private _operator;

    event OperatorTransferred(address indexed previousOperator, address indexed newOperator);

    constructor() internal {
        _operator = _msgSender();
        emit OperatorTransferred(address(0), _operator);
    }

    function operator() public view returns (address) {
        return _operator;
    }

    modifier onlyOperator() {
        require(_operator == msg.sender, "operator: caller is not the operator");
        _;
    }

    function isOperator() public view returns (bool) {
        return _msgSender() == _operator;
    }

    function transferOperator(address newOperator_) public onlyOwner {
        _transferOperator(newOperator_);
    }

    function _transferOperator(address newOperator_) internal {
        require(newOperator_ != address(0), "operator: zero address given for new operator");
        emit OperatorTransferred(address(0), newOperator_);
        _operator = newOperator_;
    }
}

// File: contracts/Bond.sol


pragma solidity 0.6.12;



contract Bond is ERC20Burnable, Operator {

    constructor(string memory _name, string memory _symbol) public ERC20(_name, _symbol) {}

    /**
     * @notice Operator mints bonds to a recipient
     * @param recipient_ The address of recipient
     * @param amount_ The amount of bonds to mint to
     * @return whether the process has been done
     */
    function mint(address recipient_, uint256 amount_) public onlyOperator returns (bool) {
        uint256 balanceBefore = balanceOf(recipient_);
        _mint(recipient_, amount_);
        uint256 balanceAfter = balanceOf(recipient_);

        return balanceAfter > balanceBefore;
    }

    function burn(uint256 amount) public override {
        super.burn(amount);
    }

    function burnFrom(address account, uint256 amount) public override onlyOperator {
        super.burnFrom(account, amount);
    }
}

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOperator","type":"address"},{"indexed":true,"internalType":"address","name":"newOperator","type":"address"}],"name":"OperatorTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOperator_","type":"address"}],"name":"transferOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040516200167338038062001673833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604052505082518391508290620001b8906003906020850190620002a2565b508051620001ce906004906020840190620002a2565b50506005805460ff19166012179055506000620001ea6200029e565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200024a6200029e565b600680546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed908290a350506200033e565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e557805160ff191683800117855562000315565b8280016001018555821562000315579182015b8281111562000315578251825591602001919060010190620002f8565b506200032392915062000327565b5090565b5b8082111562000323576000815560010162000328565b611325806200034e6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063570ca735116100ad57806395d89b411161007157806395d89b4114610387578063a457c2d71461038f578063a9059cbb146103bb578063dd62ed3e146103e7578063f2fde38b146104155761012c565b8063570ca7351461030157806370a0823114610325578063715018a61461034b57806379cc6790146103535780638da5cb5b1461037f5761012c565b8063313ce567116100f4578063313ce56714610266578063395093511461028457806340c10f19146102b057806342966c68146102dc5780634456eda2146102f95761012c565b806306fdde0314610131578063095ea7b3146101ae57806318160ddd146101ee57806323b872dd1461020857806329605e771461023e575b600080fd5b61013961043b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b0381351690602001356104d1565b604080519115158252519081900360200190f35b6101f66104ee565b60408051918252519081900360200190f35b6101da6004803603606081101561021e57600080fd5b506001600160a01b038135811691602081013590911690604001356104f4565b6102646004803603602081101561025457600080fd5b50356001600160a01b031661057b565b005b61026e6105fb565b6040805160ff9092168252519081900360200190f35b6101da6004803603604081101561029a57600080fd5b506001600160a01b038135169060200135610604565b6101da600480360360408110156102c657600080fd5b506001600160a01b038135169060200135610652565b610264600480360360208110156102f257600080fd5b50356106cc565b6101da6106d5565b6103096106fb565b604080516001600160a01b039092168252519081900360200190f35b6101f66004803603602081101561033b57600080fd5b50356001600160a01b031661070a565b610264610725565b6102646004803603604081101561036957600080fd5b506001600160a01b0381351690602001356107e9565b610309610840565b610139610854565b6101da600480360360408110156103a557600080fd5b506001600160a01b0381351690602001356108b5565b6101da600480360360408110156103d157600080fd5b506001600160a01b03813516906020013561091d565b6101f6600480360360408110156103fd57600080fd5b506001600160a01b0381358116916020013516610931565b6102646004803603602081101561042b57600080fd5b50356001600160a01b031661095c565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104c75780601f1061049c576101008083540402835291602001916104c7565b820191906000526020600020905b8154815290600101906020018083116104aa57829003601f168201915b5050505050905090565b60006104e56104de610a7c565b8484610a80565b50600192915050565b60025490565b6000610501848484610b6c565b6105718461050d610a7c565b61056c856040518060600160405280602881526020016111f1602891396001600160a01b038a1660009081526001602052604081209061054b610a7c565b6001600160a01b031681526020810191909152604001600020549190610cc7565b610a80565b5060019392505050565b610583610a7c565b6001600160a01b0316610594610840565b6001600160a01b0316146105ef576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6105f881610d5e565b50565b60055460ff1690565b60006104e5610611610a7c565b8461056c8560016000610622610a7c565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610dfb565b6006546000906001600160a01b0316331461069e5760405162461bcd60e51b815260040180806020018281038252602481526020018061123d6024913960400191505060405180910390fd5b60006106a98461070a565b90506106b58484610e5c565b60006106c08561070a565b91909111949350505050565b6105f881610f4c565b6006546000906001600160a01b03166106ec610a7c565b6001600160a01b031614905090565b6006546001600160a01b031690565b6001600160a01b031660009081526020819052604090205490565b61072d610a7c565b6001600160a01b031661073e610840565b6001600160a01b031614610799576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6006546001600160a01b031633146108325760405162461bcd60e51b815260040180806020018281038252602481526020018061123d6024913960400191505060405180910390fd5b61083c8282610f5d565b5050565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104c75780601f1061049c576101008083540402835291602001916104c7565b60006104e56108c2610a7c565b8461056c856040518060600160405280602581526020016112cb60259139600160006108ec610a7c565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610cc7565b60006104e561092a610a7c565b8484610b6c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610964610a7c565b6001600160a01b0316610975610840565b6001600160a01b0316146109d0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610a155760405162461bcd60e51b81526004018080602001828103825260268152602001806111566026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b6001600160a01b038316610ac55760405162461bcd60e51b81526004018080602001828103825260248152602001806112a76024913960400191505060405180910390fd5b6001600160a01b038216610b0a5760405162461bcd60e51b815260040180806020018281038252602281526020018061117c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610bb15760405162461bcd60e51b81526004018080602001828103825260258152602001806112826025913960400191505060405180910390fd5b6001600160a01b038216610bf65760405162461bcd60e51b81526004018080602001828103825260238152602001806111116023913960400191505060405180910390fd5b610c01838383610fb2565b610c3e8160405180606001604052806026815260200161119e602691396001600160a01b0386166000908152602081905260409020549190610cc7565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610c6d9082610dfb565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610d565760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d1b578181015183820152602001610d03565b50505050905090810190601f168015610d485780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038116610da35760405162461bcd60e51b815260040180806020018281038252602d8152602001806111c4602d913960400191505060405180910390fd5b6040516001600160a01b038216906000907f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed908290a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610e55576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610eb7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610ec360008383610fb2565b600254610ed09082610dfb565b6002556001600160a01b038216600090815260208190526040902054610ef69082610dfb565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6105f8610f57610a7c565b82610fb7565b6000610f948260405180606001604052806024815260200161121960249139610f8d86610f88610a7c565b610931565b9190610cc7565b9050610fa883610fa2610a7c565b83610a80565b610fb28383610fb7565b505050565b6001600160a01b038216610ffc5760405162461bcd60e51b81526004018080602001828103825260218152602001806112616021913960400191505060405180910390fd5b61100882600083610fb2565b61104581604051806060016040528060228152602001611134602291396001600160a01b0385166000908152602081905260409020549190610cc7565b6001600160a01b03831660009081526020819052604090205560025461106b90826110b3565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008282111561110a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63656f70657261746f723a207a65726f206164647265737320676976656e20666f72206e6577206f70657261746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e63656f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657261746f7245524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205cae57cf6e4ded69f03a007c8223814ba8babbb34797aca7b27ba32ae350463864736f6c634300060c0033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004624554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046245544800000000000000000000000000000000000000000000000000000000

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

000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004624554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046245544800000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): bETH
Arg [1] : _symbol (string): bETH

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [3] : 6245544800000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 6245544800000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

27136:892:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13458:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15604:169;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15604:169:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;14557:108;;;:::i;:::-;;;;;;;;;;;;;;;;16255:321;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16255:321:0;;;;;;;;;;;;;;;;;:::i;26685:115::-;;;;;;;;;;;;;;;;-1:-1:-1;26685:115:0;-1:-1:-1;;;;;26685:115:0;;:::i;:::-;;14401:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16985:218;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16985:218:0;;;;;;;;:::i;27506:290::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;27506:290:0;;;;;;;;:::i;27804:83::-;;;;;;;;;;;;;;;;-1:-1:-1;27804:83:0;;:::i;26577:100::-;;;:::i;26349:85::-;;;:::i;:::-;;;;-1:-1:-1;;;;;26349:85:0;;;;;;;;;;;;;;14728:127;;;;;;;;;;;;;;;;-1:-1:-1;14728:127:0;-1:-1:-1;;;;;14728:127:0;;:::i;25413:148::-;;;:::i;27895:130::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;27895:130:0;;;;;;;;:::i;24762:87::-;;;:::i;13668:95::-;;;:::i;17706:269::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17706:269:0;;;;;;;;:::i;15068:175::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15068:175:0;;;;;;;;:::i;15306:151::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15306:151:0;;;;;;;;;;:::i;25716:244::-;;;;;;;;;;;;;;;;-1:-1:-1;25716:244:0;-1:-1:-1;;;;;25716:244:0;;:::i;13458:91::-;13536:5;13529:12;;;;;;;;-1:-1:-1;;13529:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13503:13;;13529:12;;13536:5;;13529:12;;13536:5;13529:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13458:91;:::o;15604:169::-;15687:4;15704:39;15713:12;:10;:12::i;:::-;15727:7;15736:6;15704:8;:39::i;:::-;-1:-1:-1;15761:4:0;15604:169;;;;:::o;14557:108::-;14645:12;;14557:108;:::o;16255:321::-;16361:4;16378:36;16388:6;16396:9;16407:6;16378:9;:36::i;:::-;16425:121;16434:6;16442:12;:10;:12::i;:::-;16456:89;16494:6;16456:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16456:19:0;;;;;;:11;:19;;;;;;16476:12;:10;:12::i;:::-;-1:-1:-1;;;;;16456:33:0;;;;;;;;;;;;-1:-1:-1;16456:33:0;;;:89;:37;:89::i;:::-;16425:8;:121::i;:::-;-1:-1:-1;16564:4:0;16255:321;;;;;:::o;26685:115::-;24993:12;:10;:12::i;:::-;-1:-1:-1;;;;;24982:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;24982:23:0;;24974:68;;;;;-1:-1:-1;;;24974:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26761:31:::1;26779:12;26761:17;:31::i;:::-;26685:115:::0;:::o;14401:91::-;14475:9;;;;14401:91;:::o;16985:218::-;17073:4;17090:83;17099:12;:10;:12::i;:::-;17113:7;17122:50;17161:10;17122:11;:25;17134:12;:10;:12::i;:::-;-1:-1:-1;;;;;17122:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;17122:25:0;;;:34;;;;;;;;;;;:38;:50::i;27506:290::-;26485:9;;27586:4;;-1:-1:-1;;;;;26485:9:0;26498:10;26485:23;26477:72;;;;-1:-1:-1;;;26477:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27603:21:::1;27627;27637:10;27627:9;:21::i;:::-;27603:45;;27659:26;27665:10;27677:7;27659:5;:26::i;:::-;27696:20;27719:21;27729:10;27719:9;:21::i;:::-;27760:28:::0;;;::::1;::::0;27506:290;-1:-1:-1;;;;27506:290:0:o;27804:83::-;27861:18;27872:6;27861:10;:18::i;26577:100::-;26660:9;;26620:4;;-1:-1:-1;;;;;26660:9:0;26644:12;:10;:12::i;:::-;-1:-1:-1;;;;;26644:25:0;;26637:32;;26577:100;:::o;26349:85::-;26417:9;;-1:-1:-1;;;;;26417:9:0;26349:85;:::o;14728:127::-;-1:-1:-1;;;;;14829:18:0;14802:7;14829:18;;;;;;;;;;;;14728:127::o;25413:148::-;24993:12;:10;:12::i;:::-;-1:-1:-1;;;;;24982:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;24982:23:0;;24974:68;;;;;-1:-1:-1;;;24974:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25504:6:::1;::::0;25483:40:::1;::::0;25520:1:::1;::::0;25504:6:::1;::::0;::::1;-1:-1:-1::0;;;;;25504:6:0::1;::::0;25483:40:::1;::::0;25520:1;;25483:40:::1;25534:6;:19:::0;;-1:-1:-1;;;;;;25534:19:0::1;::::0;;25413:148::o;27895:130::-;26485:9;;-1:-1:-1;;;;;26485:9:0;26498:10;26485:23;26477:72;;;;-1:-1:-1;;;26477:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27986:31:::1;28001:7;28010:6;27986:14;:31::i;:::-;27895:130:::0;;:::o;24762:87::-;24835:6;;;;;-1:-1:-1;;;;;24835:6:0;;24762:87::o;13668:95::-;13748:7;13741:14;;;;;;;;-1:-1:-1;;13741:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13715:13;;13741:14;;13748:7;;13741:14;;13748:7;13741:14;;;;;;;;;;;;;;;;;;;;;;;;17706:269;17799:4;17816:129;17825:12;:10;:12::i;:::-;17839:7;17848:96;17887:15;17848:96;;;;;;;;;;;;;;;;;:11;:25;17860:12;:10;:12::i;:::-;-1:-1:-1;;;;;17848:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;17848:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;15068:175::-;15154:4;15171:42;15181:12;:10;:12::i;:::-;15195:9;15206:6;15171:9;:42::i;15306:151::-;-1:-1:-1;;;;;15422:18:0;;;15395:7;15422:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;15306:151::o;25716:244::-;24993:12;:10;:12::i;:::-;-1:-1:-1;;;;;24982:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;24982:23:0;;24974:68;;;;;-1:-1:-1;;;24974:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25805:22:0;::::1;25797:73;;;;-1:-1:-1::0;;;25797:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25907:6;::::0;25886:38:::1;::::0;-1:-1:-1;;;;;25886:38:0;;::::1;::::0;25907:6:::1;::::0;::::1;;::::0;25886:38:::1;::::0;;;::::1;25935:6;:17:::0;;-1:-1:-1;;;;;25935:17:0;;::::1;;;-1:-1:-1::0;;;;;;25935:17:0;;::::1;::::0;;;::::1;::::0;;25716:244::o;667:106::-;755:10;667:106;:::o;20853:346::-;-1:-1:-1;;;;;20955:19:0;;20947:68;;;;-1:-1:-1;;;20947:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21034:21:0;;21026:68;;;;-1:-1:-1;;;21026:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21107:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;21159:32;;;;;;;;;;;;;;;;;20853:346;;;:::o;18465:539::-;-1:-1:-1;;;;;18571:20:0;;18563:70;;;;-1:-1:-1;;;18563:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18652:23:0;;18644:71;;;;-1:-1:-1;;;18644:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18728:47;18749:6;18757:9;18768:6;18728:20;:47::i;:::-;18808:71;18830:6;18808:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18808:17:0;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;18788:17:0;;;:9;:17;;;;;;;;;;;:91;;;;18913:20;;;;;;;:32;;18938:6;18913:24;:32::i;:::-;-1:-1:-1;;;;;18890:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;18961:35;;;;;;;18890:20;;18961:35;;;;;;;;;;;;;18465:539;;;:::o;9452:166::-;9538:7;9574:12;9566:6;;;;9558:29;;;;-1:-1:-1;;;9558:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9605:5:0;;;9452:166::o;26808:257::-;-1:-1:-1;;;;;26885:26:0;;26877:84;;;;-1:-1:-1;;;26877:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26977:45;;-1:-1:-1;;;;;26977:45:0;;;27005:1;;26977:45;;27005:1;;26977:45;27033:9;:24;;-1:-1:-1;;;;;;27033:24:0;-1:-1:-1;;;;;27033:24:0;;;;;;;;;;26808:257::o;6625:179::-;6683:7;6715:5;;;6739:6;;;;6731:46;;;;;-1:-1:-1;;;6731:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6795:1;6625:179;-1:-1:-1;;;6625:179:0:o;19286:378::-;-1:-1:-1;;;;;19370:21:0;;19362:65;;;;;-1:-1:-1;;;19362:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19440:49;19469:1;19473:7;19482:6;19440:20;:49::i;:::-;19517:12;;:24;;19534:6;19517:16;:24::i;:::-;19502:12;:39;-1:-1:-1;;;;;19573:18:0;;:9;:18;;;;;;;;;;;:30;;19596:6;19573:22;:30::i;:::-;-1:-1:-1;;;;;19552:18:0;;:9;:18;;;;;;;;;;;:51;;;;19619:37;;;;;;;19552:18;;:9;;19619:37;;;;;;;;;;19286:378;;:::o;22852:91::-;22908:27;22914:12;:10;:12::i;:::-;22928:6;22908:5;:27::i;23262:295::-;23339:26;23368:84;23405:6;23368:84;;;;;;;;;;;;;;;;;:32;23378:7;23387:12;:10;:12::i;:::-;23368:9;:32::i;:::-;:36;:84;:36;:84::i;:::-;23339:113;;23465:51;23474:7;23483:12;:10;:12::i;:::-;23497:18;23465:8;:51::i;:::-;23527:22;23533:7;23542:6;23527:5;:22::i;:::-;23262:295;;;:::o;19997:418::-;-1:-1:-1;;;;;20081:21:0;;20073:67;;;;-1:-1:-1;;;20073:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20153:49;20174:7;20191:1;20195:6;20153:20;:49::i;:::-;20236:68;20259:6;20236:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20236:18:0;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;20215:18:0;;:9;:18;;;;;;;;;;:89;20330:12;;:24;;20347:6;20330:16;:24::i;:::-;20315:12;:39;20370:37;;;;;;;;20396:1;;-1:-1:-1;;;;;20370:37:0;;;;;;;;;;;;19997:418;;:::o;7087:158::-;7145:7;7178:1;7173;:6;;7165:49;;;;;-1:-1:-1;;;7165:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7232:5:0;;;7087:158::o

Metadata Hash

5cae57cf6e4ded69f03a007c8223814ba8babbb34797aca7b27ba32ae3504638
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.