Contract 0x5921dee8556c4593eefcfad3ca5e2f618606483b

 
Txn Hash
Block
From
To
Value [Txn Fee]
0x19e05828fc1cadd16b7da0a8e94b8f923a4aca7e4fc2adb76ae5f8886fc8cb0a65923842021-04-15 16:49:3421 mins agoAnyswap: Deployer 4 IN  Anyswap: anyMTLX Token0 BNB0.00027962355
0xc46dbcc5032c864d9cab3f1eb46a85d4d190061a9997d75c84ee8e91f24c0bf465873712021-04-15 12:38:344 hrs 32 mins ago0xe8ad45914a80f4ddc4c188437f7ded9ea6303874 IN  Anyswap: anyMTLX Token0 BNB0.000223255
0xa3ae26b68444019498e122260c0f54b141e4a0165814a503ed5d66443b2025a265866462021-04-15 12:02:195 hrs 9 mins ago0xaa1678f060d4738a92e114f0cb2a3753c2a1b271 IN  Anyswap: anyMTLX Token0 BNB0.000223255
0x8c4a76a45bfb98b63a652cca5db3f3c1f91fbbabf752335d9daa4b17b4dd951265862032021-04-15 11:40:105 hrs 31 mins ago0x8e7935f88b08ffa9cbb2c0dedffb454bd2480312 IN  Anyswap: anyMTLX Token0 BNB0.000223255
0x6458dc4ed10f357ee3bbbb872745395e1ff69069dfe139ef51c4d18c6d5dc66b65852582021-04-15 10:52:556 hrs 18 mins ago0x3912d7ea8140e16dac355892653f3512c3cf3749 IN  Anyswap: anyMTLX Token0 BNB0.000223255
0x5edf9707d5f57547e23370f34b5aa78cae8bf7ecb82521422d0c90318b41a7e465849492021-04-15 10:37:286 hrs 34 mins ago0xbe73db85baa8b82bc18d410f53b30db9e401b80e IN  Anyswap: anyMTLX Token0 BNB0.000223255
0xdfd53a3b6fb41fcf6ac74b0e1f30fac22371fcb5d677eab79cac699eee5a28cc65848782021-04-15 10:33:556 hrs 37 mins ago0xbda74df20fe9d705c6b8bbee4f262aae0063442b IN  Anyswap: anyMTLX Token0 BNB0.000223255
0x76bd892662282480761dcb00f8760bb9bf46a9e265a3eec5bee2f5b9a7a60c9765847232021-04-15 10:26:106 hrs 45 mins ago0xc352b437fc7f156200ac053a0376ee04bfc8542c IN  Anyswap: anyMTLX Token0 BNB0.00019237
0xd80e98fe8f7c5f6ceca8c91304bc7bfbf3ce32d9ad8ad8c85b71cd5183e0cb7465834162021-04-15 9:20:497 hrs 50 mins ago0xffa1fefa58b9b961a02063449981c7a59b4dec45 IN  Anyswap: anyMTLX Token0 BNB0.00018234
0x234dca3aaab709cfb81d7bd8eace744aabbb2f891c7f820ec1dd9cf4f8edf9f165831442021-04-15 9:07:138 hrs 4 mins ago0x31fb704fb1cf4ae83ebe55b51b6be96da78031eb IN  Anyswap: anyMTLX Token0 BNB0.000146875
0xd7a66380f617d21abade5efa59e670c1f9feb7c9d5d5910ece9cf197fefc29c765830702021-04-15 9:03:318 hrs 8 mins ago0xc352b437fc7f156200ac053a0376ee04bfc8542c IN  Anyswap: anyMTLX Token0 BNB0.00019237
0x3fb873b9ec8359f7d88a7097dc19f0d35b2f0fafeed2d7dd469150c6998a36ad65829422021-04-15 8:57:078 hrs 14 mins ago0xc352b437fc7f156200ac053a0376ee04bfc8542c IN  Anyswap: anyMTLX Token0 BNB0.00019237
0x9b79e75094195f2ee44725a0e83cfc5a034fbe5699f01b2f9113a6ae652af61565828572021-04-15 8:52:528 hrs 18 mins ago0xc352b437fc7f156200ac053a0376ee04bfc8542c IN  Anyswap: anyMTLX Token0 BNB0.00019243
0x1756e76a8b8a47e5d1acc1286a825f501cbaaff0b4065253f36dfbd234a3711d65827402021-04-15 8:47:018 hrs 24 mins ago0xc352b437fc7f156200ac053a0376ee04bfc8542c IN  Anyswap: anyMTLX Token0 BNB0.00019237
0xd80802515136d16eb1c1185bc41e25dafaebc22e86aed5281286e7ec2b8fc37265808792021-04-15 7:13:589 hrs 57 mins ago0xc352b437fc7f156200ac053a0376ee04bfc8542c IN  Anyswap: anyMTLX Token0 BNB0.00019237
0xe1e19ecb0b32472b976cd19d3e155050e0b6de22116c0ab5cffb3ddc0477dd0965800602021-04-15 6:33:0110 hrs 38 mins ago0x5660d9924020f98300c6fd05e081a1f07ea4259b IN  Anyswap: anyMTLX Token0 BNB0.000223255
0xac0530d14321eb7845df305980cdbab10ad61820e712ad16560cf1bd289e3edf65789392021-04-15 5:36:5711 hrs 34 mins ago0x26cf259bb8019be3d327ee67ac40a980e50cfa4f IN  Anyswap: anyMTLX Token0 BNB0.000223255
0x80a56582594928b9496ee6d59d86b695087bfd99997a1405f36878e740e31d2d65787882021-04-15 5:29:2411 hrs 42 mins ago0x89386aa77cc581a8d43f512c0e076c9c3ce3d4ec IN  Anyswap: anyMTLX Token0 BNB0.00018246
0x6bd5c86565abed41076efcbe0888d74b87612f860e8a0576ea62662b477195e565770032021-04-15 4:00:0913 hrs 11 mins ago0xef3468cede65b82de13bdafeb00c085be9ce7fea IN  Anyswap: anyMTLX Token0 BNB0.00010746
0xc60646e1476752f986aac044bb5155ccec8f293f82440a40d3b9bf0ea79cf77c65763502021-04-15 3:27:3013 hrs 44 mins ago0x1e34aa7d8adc2dc1c9c630a1def0cd0294098ac9 IN  Anyswap: anyMTLX Token0 BNB0.000223255
0xef476ee0df4d57d61b3fd46cddafeb4d16ad746e87ee3518f5ef380f59261c1465740492021-04-15 1:31:3815 hrs 39 mins ago0xea2073f0fc82e982ca994b939f549a68fdefcb63 IN  Anyswap: anyMTLX Token0 BNB0.000223255
0xdeba1cb15bcfd9616251a604c411f446d200ebad88a1641fcab81f4bc366046c65729902021-04-15 0:38:4116 hrs 32 mins ago0x8a531fafaeee93bf59695e95c596d26030603cc0 IN  Anyswap: anyMTLX Token0 BNB0.000146815
0xa794ba5f8571defd0f2ab3004b4d64c482c2f8db37fa7093e9600065fc0ac13765725802021-04-15 0:18:1116 hrs 53 mins ago0xff394cd4d1b40614bd13c6004458d68d47953d04 IN  Anyswap: anyMTLX Token0 BNB0.000223255
0x52acb71215a4a7896822c00d334d66cd35b562d05d1ad53024d2175abda3e40d65722942021-04-15 0:03:5317 hrs 7 mins agoAnyswap: Deployer 4 IN  Anyswap: anyMTLX Token0 BNB0.00027968415
0x67147989a0b70d046cb4534a59c35bd7df204851268a7df3b37b91f1fb7e650f65720542021-04-14 23:51:5317 hrs 19 mins agoAnyswap: Deployer 4 IN  Anyswap: anyMTLX Token0 BNB0.00020393415
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xdba90d7c0250fbdc117d489f1031eda37de298a8aa7357e242087e019e73590c54706192021-03-07 11:23:5439 days 5 hrs ago 0x73ef71e8774dfdd7857bf02c15ac2df122dc8c91 Anyswap: anyMTLX Token0 BNB
0xdba90d7c0250fbdc117d489f1031eda37de298a8aa7357e242087e019e73590c54706192021-03-07 11:23:5439 days 5 hrs ago 0x73ef71e8774dfdd7857bf02c15ac2df122dc8c91 Anyswap: anyMTLX Token0 BNB
0xdba90d7c0250fbdc117d489f1031eda37de298a8aa7357e242087e019e73590c54706192021-03-07 11:23:5439 days 5 hrs ago 0x73ef71e8774dfdd7857bf02c15ac2df122dc8c91 Anyswap: anyMTLX Token0 BNB
0x3326b9300a03793c18853011ca79fb4ee8ceeb05096fe6945b84823dbfa65fca54706112021-03-07 11:23:3039 days 5 hrs ago 0x916edf608c0e7aae2e26b283a93fc26f2cd8c715 Anyswap: anyMTLX Token0 BNB
0x3326b9300a03793c18853011ca79fb4ee8ceeb05096fe6945b84823dbfa65fca54706112021-03-07 11:23:3039 days 5 hrs ago 0x916edf608c0e7aae2e26b283a93fc26f2cd8c715 Anyswap: anyMTLX Token0 BNB
0x3326b9300a03793c18853011ca79fb4ee8ceeb05096fe6945b84823dbfa65fca54706112021-03-07 11:23:3039 days 5 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
0x3326b9300a03793c18853011ca79fb4ee8ceeb05096fe6945b84823dbfa65fca54706112021-03-07 11:23:3039 days 5 hrs ago PancakeSwap: Router Anyswap: anyMTLX Token0 BNB
0x3326b9300a03793c18853011ca79fb4ee8ceeb05096fe6945b84823dbfa65fca54706112021-03-07 11:23:3039 days 5 hrs ago 0x916edf608c0e7aae2e26b283a93fc26f2cd8c715 Anyswap: anyMTLX Token0 BNB
0x3326b9300a03793c18853011ca79fb4ee8ceeb05096fe6945b84823dbfa65fca54706112021-03-07 11:23:3039 days 5 hrs ago 0x916edf608c0e7aae2e26b283a93fc26f2cd8c715 Anyswap: anyMTLX Token0 BNB
0x3326b9300a03793c18853011ca79fb4ee8ceeb05096fe6945b84823dbfa65fca54706112021-03-07 11:23:3039 days 5 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
0x3326b9300a03793c18853011ca79fb4ee8ceeb05096fe6945b84823dbfa65fca54706112021-03-07 11:23:3039 days 5 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
0xa17d0d673d8e8501d5ae09ab849e1ed0724edd1d54b14333f53b7ecd34107ff254705272021-03-07 11:19:1839 days 5 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
0xa17d0d673d8e8501d5ae09ab849e1ed0724edd1d54b14333f53b7ecd34107ff254705272021-03-07 11:19:1839 days 5 hrs ago PancakeSwap: Router Anyswap: anyMTLX Token0 BNB
0xb0618de3d4c1b5c6e44a36811b1f7ac313458c8024585c58520495ef3147b84754701342021-03-07 10:59:3939 days 6 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
0xb0618de3d4c1b5c6e44a36811b1f7ac313458c8024585c58520495ef3147b84754701342021-03-07 10:59:3939 days 6 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago 0x916edf608c0e7aae2e26b283a93fc26f2cd8c715 Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago 0x916edf608c0e7aae2e26b283a93fc26f2cd8c715 Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago 0x916edf608c0e7aae2e26b283a93fc26f2cd8c715 Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago PancakeSwap: Router Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago 0x916edf608c0e7aae2e26b283a93fc26f2cd8c715 Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago 0x916edf608c0e7aae2e26b283a93fc26f2cd8c715 Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
0xbb427a0205fbb5ed7fb90d03ce25073d8cbccd97361531b420cb2bede132b07e54695692021-03-07 10:31:2439 days 6 hrs ago PancakeSwap: anyMTLX-BUSD Anyswap: anyMTLX Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x7d6a240cd0976a9fa10abdc8302a7ae07f9fdd89

Contract Name:
Erc20SwapAsset

Compiler Version
v0.5.4+commit.9549d8ff

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2020-10-29
*/

// SPDX-License-Identifier: MIT

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

pragma solidity ^0.5.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.
 */
contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view 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.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: @openzeppelin/contracts/token/ERC20/ERC20.sol

pragma solidity ^0.5.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 {ERC20Mintable}.
 *
 * 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;

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

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view 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 returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public 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 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 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 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 {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _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 {
        require(account != address(0), "ERC20: mint to the zero address");

        _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 {
        require(account != address(0), "ERC20: burn from the zero address");

        _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 is 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 {
        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 Destroys `amount` tokens from `account`.`amount` is then deducted
     * from the caller's allowance.
     *
     * See {_burn} and {_approve}.
     */
    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, "ERC20: burn amount exceeds allowance"));
    }
}

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

pragma solidity ^0.5.0;


/**
 * @dev Optional functions from the ERC20 standard.
 */
contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for `name`, `symbol`, and `decimals`. All three of
     * these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

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

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view 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.
     *
     * 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 returns (uint8) {
        return _decimals;
    }
}

// File: internal/Erc20SwapAsset.sol

pragma solidity ^0.5.0;



contract Erc20SwapAsset is ERC20, ERC20Detailed {
    event LogChangeDCRMOwner(address indexed oldOwner, address indexed newOwner, uint indexed effectiveHeight);
    event LogSwapin(bytes32 indexed txhash, address indexed account, uint amount);
    event LogSwapout(address indexed account, address indexed bindaddr, uint amount);

    address private _oldOwner;
    address private _newOwner;
    uint256 private _newOwnerEffectiveHeight;

    modifier onlyOwner() {
        require(msg.sender == owner(), "only owner");
        _;
    }

    constructor(string memory name, string memory symbol, uint8 decimals) public ERC20Detailed(name, symbol, decimals) {
        _newOwner = msg.sender;
        _newOwnerEffectiveHeight = block.number;
    }

    function owner() public view returns (address) {
        if (block.number >= _newOwnerEffectiveHeight) {
            return _newOwner;
        }
        return _oldOwner;
    }

    function changeDCRMOwner(address newOwner) public onlyOwner returns (bool) {
        require(newOwner != address(0), "new owner is the zero address");
        _oldOwner = owner();
        _newOwner = newOwner;
        _newOwnerEffectiveHeight = block.number + 13300;
        emit LogChangeDCRMOwner(_oldOwner, _newOwner, _newOwnerEffectiveHeight);
        return true;
    }

    function Swapin(bytes32 txhash, address account, uint256 amount) public onlyOwner returns (bool) {
        _mint(account, amount);
        emit LogSwapin(txhash, account, amount);
        return true;
    }

    function Swapout(uint256 amount, address bindaddr) public returns (bool) {
        require(bindaddr != address(0), "bind address is the zero address");
        _burn(_msgSender(), amount);
        emit LogSwapout(_msgSender(), bindaddr, amount);
        return true;
    }
}

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"bindaddr","type":"address"}],"name":"Swapout","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeDCRMOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"txhash","type":"bytes32"},{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"Swapin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"oldOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"},{"indexed":true,"name":"effectiveHeight","type":"uint256"}],"name":"LogChangeDCRMOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"txhash","type":"bytes32"},{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogSwapin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":true,"name":"bindaddr","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogSwapout","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040523480156200001157600080fd5b50604051620012c1380380620012c1833981018060405260608110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b505060209182015185519194509250849184918491620000f1916003918601906200013e565b508151620001079060049060208501906200013e565b506005805460ff90921660ff19909216919091179055505060068054600160a060020a0319163317905550504360075550620001e3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018157805160ff1916838001178555620001b1565b82800160010185558215620001b1579182015b82811115620001b157825182559160200191906001019062000194565b50620001bf929150620001c3565b5090565b620001e091905b80821115620001bf5760008155600101620001ca565b90565b6110ce80620001f36000396000f3fe608060405234801561001057600080fd5b5060043610610112576000357c01000000000000000000000000000000000000000000000000000000009004806370a08231116100b4578063a9059cbb11610083578063a9059cbb14610318578063b524f3a514610344578063dd62ed3e1461036a578063ec126c771461039857610112565b806370a082311461029a5780638da5cb5b146102c057806395d89b41146102e4578063a457c2d7146102ec57610112565b806323b872dd116100f057806323b872dd146101ee578063313ce567146102245780633950935114610242578063628d6cba1461026e57610112565b806306fdde0314610117578063095ea7b31461019457806318160ddd146101d4575b600080fd5b61011f6103ca565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610159578181015183820152602001610141565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c0600480360360408110156101aa57600080fd5b50600160a060020a038135169060200135610461565b604080519115158252519081900360200190f35b6101dc61047e565b60408051918252519081900360200190f35b6101c06004803603606081101561020457600080fd5b50600160a060020a03813581169160208101359091169060400135610484565b61022c610512565b6040805160ff9092168252519081900360200190f35b6101c06004803603604081101561025857600080fd5b50600160a060020a03813516906020013561051b565b6101c06004803603604081101561028457600080fd5b5080359060200135600160a060020a031661056f565b6101dc600480360360208110156102b057600080fd5b5035600160a060020a031661063d565b6102c8610658565b60408051600160a060020a039092168252519081900360200190f35b61011f61068b565b6101c06004803603604081101561030257600080fd5b50600160a060020a0381351690602001356106ec565b6101c06004803603604081101561032e57600080fd5b50600160a060020a03813516906020013561075b565b6101c06004803603602081101561035a57600080fd5b5035600160a060020a031661076f565b6101dc6004803603604081101561038057600080fd5b50600160a060020a03813581169160200135166108de565b6101c0600480360360608110156103ae57600080fd5b50803590600160a060020a036020820135169060400135610909565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104565780601f1061042b57610100808354040283529160200191610456565b820191906000526020600020905b81548152906001019060200180831161043957829003601f168201915b505050505090505b90565b600061047561046e6109c6565b84846109ca565b50600192915050565b60025490565b6000610491848484610ac0565b6105088461049d6109c6565b6105038560606040519081016040528060288152602001610fec60289139600160a060020a038a166000908152600160205260408120906104dc6109c6565b600160a060020a03168152602081019190915260400160002054919063ffffffff610c2716565b6109ca565b5060019392505050565b60055460ff1690565b60006104756105286109c6565b8461050385600160006105396109c6565b600160a060020a03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610cc116565b6000600160a060020a03821615156105d1576040805160e560020a62461bcd02815260206004820181905260248201527f62696e64206164647265737320697320746865207a65726f2061646472657373604482015290519081900360640190fd5b6105e26105dc6109c6565b84610d25565b81600160a060020a03166105f46109c6565b600160a060020a03167f6b616089d04950dc06c45c6dd787d657980543f89651aec47924752c7d16c888856040518082815260200191505060405180910390a350600192915050565b600160a060020a031660009081526020819052604090205490565b60075460009043106106765750600654600160a060020a031661045e565b506005546101009004600160a060020a031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104565780601f1061042b57610100808354040283529160200191610456565b60006104756106f96109c6565b84610503856060604051908101604052806025815260200161107e60259139600160006107246109c6565b600160a060020a03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610c2716565b60006104756107686109c6565b8484610ac0565b6000610779610658565b600160a060020a031633146107d8576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c79206f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0382161515610838576040805160e560020a62461bcd02815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015290519081900360640190fd5b610840610658565b6005805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a03938416810291909117918290556006805473ffffffffffffffffffffffffffffffffffffffff19168685161790819055436133f40160078190556040519094918216939290920416907fe1968d4263a733e2597ef67ea6ad267343bba5f8bf0f99d85190e06b05d824d990600090a4506001919050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000610913610658565b600160a060020a03163314610972576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c79206f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b61097c8383610e27565b604080518381529051600160a060020a0385169186917f05d0634fe981be85c22e2942a880821b70095d84e152c3ea3c17a4e4250d9d619181900360200190a35060019392505050565b3390565b600160a060020a0383161515610a145760405160e560020a62461bcd02815260040180806020018281038252602481526020018061105a6024913960400191505060405180910390fd5b600160a060020a0382161515610a5e5760405160e560020a62461bcd028152600401808060200182810382526022815260200180610fa46022913960400191505060405180910390fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a0383161515610b0a5760405160e560020a62461bcd0281526004018080602001828103825260258152602001806110356025913960400191505060405180910390fd5b600160a060020a0382161515610b545760405160e560020a62461bcd028152600401808060200182810382526023815260200180610f5f6023913960400191505060405180910390fd5b610b988160606040519081016040528060268152602001610fc660269139600160a060020a038616600090815260208190526040902054919063ffffffff610c2716565b600160a060020a038085166000908152602081905260408082209390935590841681522054610bcd908263ffffffff610cc116565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610cb95760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c7e578181015183820152602001610c66565b50505050905090810190601f168015610cab5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610d1e576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600160a060020a0382161515610d6f5760405160e560020a62461bcd0281526004018080602001828103825260218152602001806110146021913960400191505060405180910390fd5b610db38160606040519081016040528060228152602001610f8260229139600160a060020a038516600090815260208190526040902054919063ffffffff610c2716565b600160a060020a038316600090815260208190526040902055600254610ddf908263ffffffff610f1c16565b600255604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600160a060020a0382161515610e87576040805160e560020a62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610e9a908263ffffffff610cc116565b600255600160a060020a038216600090815260208190526040902054610ec6908263ffffffff610cc116565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000610d1e83836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c2756fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa165627a7a72305820234b399b35865aaac832036989cb94a7120a57e12ac0a41939f2a63c57e328ba0029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000a414e5920544553542033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004414e593300000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

19640:1848:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19640:1848:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18627:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;18627:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12171:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12171:152:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;11192:91;;;:::i;:::-;;;;;;;;;;;;;;;;12795:304;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12795:304:0;;;;;;;;;;;;;;;;;:::i;19479:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13508:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13508:210:0;;;;;;;;:::i;21208:277::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21208:277:0;;;;;;-1:-1:-1;;;;;21208:277:0;;:::i;11346:110::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11346:110:0;-1:-1:-1;;;;;11346:110:0;;:::i;20412:181::-;;;:::i;:::-;;;;-1:-1:-1;;;;;20412:181:0;;;;;;;;;;;;;;18829:87;;;:::i;14221:261::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14221:261:0;;;;;;;;:::i;11669:158::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11669:158:0;;;;;;;;:::i;20601:381::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20601:381:0;-1:-1:-1;;;;;20601:381:0;;:::i;11890:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11890:134:0;;;;;;;;;;:::i;20990:210::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20990:210:0;;;-1:-1:-1;;;;;20990:210:0;;;;;;;;;;:::i;18627:83::-;18697:5;18690:12;;;;;;;;-1:-1:-1;;18690:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18664:13;;18690:12;;18697:5;;18690:12;;18697:5;18690:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18627:83;;:::o;12171:152::-;12237:4;12254:39;12263:12;:10;:12::i;:::-;12277:7;12286:6;12254:8;:39::i;:::-;-1:-1:-1;12311:4:0;12171:152;;;;:::o;11192:91::-;11263:12;;11192:91;:::o;12795:304::-;12884:4;12901:36;12911:6;12919:9;12930:6;12901:9;:36::i;:::-;12948:121;12957:6;12965:12;:10;:12::i;:::-;12979:89;13017:6;12979:89;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12979:19:0;;;;;;:11;:19;;;;;;12999:12;:10;:12::i;:::-;-1:-1:-1;;;;;12979:33:0;;;;;;;;;;;;-1:-1:-1;12979:33:0;;;:89;;:37;:89;:::i;:::-;12948:8;:121::i;:::-;-1:-1:-1;13087:4:0;12795:304;;;;;:::o;19479:83::-;19545:9;;;;19479:83;:::o;13508:210::-;13588:4;13605:83;13614:12;:10;:12::i;:::-;13628:7;13637:50;13676:10;13637:11;:25;13649:12;:10;:12::i;:::-;-1:-1:-1;;;;;13637:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;13637:25:0;;;:34;;;;;;;;;;;:50;:38;:50;:::i;21208:277::-;21275:4;-1:-1:-1;;;;;21300:22:0;;;;21292:67;;;;;-1:-1:-1;;;;;21292:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21370:27;21376:12;:10;:12::i;:::-;21390:6;21370:5;:27::i;:::-;21438:8;-1:-1:-1;;;;;21413:42:0;21424:12;:10;:12::i;:::-;-1:-1:-1;;;;;21413:42:0;;21448:6;21413:42;;;;;;;;;;;;;;;;;;-1:-1:-1;21473:4:0;21208:277;;;;:::o;11346:110::-;-1:-1:-1;;;;;11430:18:0;11403:7;11430:18;;;;;;;;;;;;11346:110::o;20412:181::-;20490:24;;20450:7;;20474:12;:40;20470:89;;-1:-1:-1;20538:9:0;;-1:-1:-1;;;;;20538:9:0;20531:16;;20470:89;-1:-1:-1;20576:9:0;;;;;-1:-1:-1;;;;;20576:9:0;;20412:181::o;18829:87::-;18901:7;18894:14;;;;;;;;-1:-1:-1;;18894:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18868:13;;18894:14;;18901:7;;18894:14;;18901:7;18894:14;;;;;;;;;;;;;;;;;;;;;;;;14221:261;14306:4;14323:129;14332:12;:10;:12::i;:::-;14346:7;14355:96;14394:15;14355:96;;;;;;;;;;;;;;;;;;:11;:25;14367:12;:10;:12::i;:::-;-1:-1:-1;;;;;14355:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;14355:25:0;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;11669:158::-;11738:4;11755:42;11765:12;:10;:12::i;:::-;11779:9;11790:6;11755:9;:42::i;20601:381::-;20670:4;20148:7;:5;:7::i;:::-;-1:-1:-1;;;;;20134:21:0;:10;:21;20126:44;;;;;-1:-1:-1;;;;;20126:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20695:22:0;;;;20687:64;;;;;-1:-1:-1;;;;;20687:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20774:7;:5;:7::i;:::-;20762:9;:19;;-1:-1:-1;;20762:19:0;;-1:-1:-1;;;;;20762:19:0;;;;;;;;;;;;;20792:9;:20;;-1:-1:-1;;20792:20:0;;;;;;;;;20850:12;20865:5;20850:20;20823:24;:47;;;20886:66;;20850:20;;20916:9;;;;20905;;;;;;20886:66;;-1:-1:-1;;20886:66:0;-1:-1:-1;20970:4:0;20601:381;;;:::o;11890:134::-;-1:-1:-1;;;;;11989:18:0;;;11962:7;11989:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11890:134::o;20990:210::-;21081:4;20148:7;:5;:7::i;:::-;-1:-1:-1;;;;;20134:21:0;:10;:21;20126:44;;;;;-1:-1:-1;;;;;20126:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21098:22;21104:7;21113:6;21098:5;:22::i;:::-;21136:34;;;;;;;;-1:-1:-1;;;;;21136:34:0;;;21146:6;;21136:34;;;;;;;;;-1:-1:-1;21188:4:0;20990:210;;;;;:::o;893:98::-;973:10;893:98;:::o;17152:338::-;-1:-1:-1;;;;;17246:19:0;;;;17238:68;;;;-1:-1:-1;;;;;17238:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17325:21:0;;;;17317:68;;;;-1:-1:-1;;;;;17317:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17398:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17450:32;;;;;;;;;;;;;;;;;17152:338;;;:::o;14972:471::-;-1:-1:-1;;;;;15070:20:0;;;;15062:70;;;;-1:-1:-1;;;;;15062:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15151:23:0;;;;15143:71;;;;-1:-1:-1;;;;;15143:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15247;15269:6;15247:71;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15247:17:0;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;15227:17:0;;;:9;:17;;;;;;;;;;;:91;;;;15352:20;;;;;;;:32;;15377:6;15352:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;15329:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;15400:35;;;;;;;15329:20;;15400:35;;;;;;;;;;;;;14972:471;;;:::o;5953:192::-;6039:7;6075:12;6067:6;;;;6059:29;;;;-1:-1:-1;;;;;6059:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6059:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6111:5:0;;;5953:192::o;5024:181::-;5082:7;5114:5;;;5138:6;;;;5130:46;;;;;-1:-1:-1;;;;;5130:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5196:1;5024:181;-1:-1:-1;;;5024:181:0:o;16364:348::-;-1:-1:-1;;;;;16440:21:0;;;;16432:67;;;;-1:-1:-1;;;;;16432:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16533:68;16556:6;16533:68;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16533:18:0;;:9;:18;;;;;;;;;;;;:68;;:22;:68;:::i;:::-;-1:-1:-1;;;;;16512:18:0;;:9;:18;;;;;;;;;;:89;16627:12;;:24;;16644:6;16627:24;:16;:24;:::i;:::-;16612:12;:39;16667:37;;;;;;;;16693:1;;-1:-1:-1;;;;;16667:37:0;;;;;;;;;;;;16364:348;;:::o;15724:308::-;-1:-1:-1;;;;;15800:21:0;;;;15792:65;;;;;-1:-1:-1;;;;;15792:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15885:12;;:24;;15902:6;15885:24;:16;:24;:::i;:::-;15870:12;:39;-1:-1:-1;;;;;15941:18:0;;:9;:18;;;;;;;;;;;:30;;15964:6;15941:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;15920:18:0;;:9;:18;;;;;;;;;;;:51;;;;15987:37;;;;;;;15920:18;;:9;;15987:37;;;;;;;;;;15724:308;;:::o;5480:136::-;5538:7;5565:43;5569:1;5572;5565:43;;;;;;;;;;;;;;;;;;:3;:43::i

Swarm Source

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