Contract 0xe0e514c71282b6f4e823703a39374cf58dc3ea4f

 
Txn Hash
Block
From
To
Value [Txn Fee]
0xe7bf89dbfe96f23a87bfe469532e590f536fe1a269d07fda18b0bcc51ae08e6283190712021-06-15 13:12:056 mins ago0x51ca31fc7efb55db794378695ef3506aba0883d2 IN  Belt Finance: BELT Token0 BNB0.00022203
0xfd045a3b4c897d9e879060f707265edcdb60e17ac5a510b0ead2373505dc9e0f83189842021-06-15 13:07:3510 mins ago0x6aa46d0072e6974e59439b34b23cf831d0d46d10 IN  Belt Finance: BELT Token0 BNB0.00022203
0xdf923bd9f39995dbb9af805d9c5170234fcc536403df9e34293493fe172022f183188452021-06-15 13:00:3817 mins ago0x0acb7cfde04eecfeac6e390d892ae3c0cc0a44d8 IN  Belt Finance: BELT Token0 BNB0.00022203
0x1e1549410b9cc6c6c9dec2fb0f6cfeeaa55ada3c839f3751f94563c7667f612783187582021-06-15 12:56:1722 mins ago0x87998613a42aab121333698c826bddcc0e5cb2b5 IN  Belt Finance: BELT Token0 BNB0.00044406
0x571dab1ec31f86ffa708797238e39c3b3af883bc4f3ece8b373179b594ed406b83187262021-06-15 12:54:4123 mins ago0x87998613a42aab121333698c826bddcc0e5cb2b5 IN  Belt Finance: BELT Token0 BNB0.00012603
0x4ef14c62d3b6f09f13a57a6ed4ebaacee576c9d42dfea87f6406d1a1348410bc83187232021-06-15 12:54:3223 mins ago0x87998613a42aab121333698c826bddcc0e5cb2b5 IN  Belt Finance: BELT Token0 BNB0.00022203
0x25e664b0222ea0d4499f1514fcbb9ef77c910c0d085072887890de8dd543f9a183186182021-06-15 12:49:1729 mins ago0x79e5bb6298dff76ce717341a096b05fb81f913f2 IN  Belt Finance: BELT Token0 BNB0.00022203
0xeffcba6089fd6ca47c263b4645cfae78fff41229c4d6e304dd0cd7a1bc8d55a983185332021-06-15 12:45:0233 mins ago0x9f7368d1659fcac4b545e435bfda13984c6c8bb1 IN  Belt Finance: BELT Token0 BNB0.000399654
0x756c7f36bdc2a512d4b1d3cafc3765c7483c3e2e3bd862dc718cfdcac62cde7c83181902021-06-15 12:26:2652 mins ago0x45fd077d2cba3e3ea55894bcd6795743c7f5a472 IN  Belt Finance: BELT Token0 BNB0.00022203
0x230229cf341fe1d1c3937437468d8327703c2d0528e165215ee13ff6966f2b5383176162021-06-15 11:57:111 hr 21 mins ago0x8a1a99722f7b1b3e211b052b5e1c78549766fac7 IN  Belt Finance: BELT Token0 BNB0.00022203
0x9b503deba7cbe47ccf2a710ac5b03be4f2ac2727eb17fd75c8dd3da66b439f1e83170982021-06-15 11:31:081 hr 47 mins ago0x80256be790c0ad18966785b3ecd1d22d9d3a9b8a IN  Belt Finance: BELT Token0 BNB0.000266436
0xee6193cba28fe72fb06a6bea29387239579853dd3bc9d747e57b1a057eb38aa183162992021-06-15 10:51:042 hrs 27 mins ago0x0c3ab7120fc62b16cc56db73a812bf8de19a4fb2 IN  Belt Finance: BELT Token0 BNB0.000266436
0x04b79634b7a749af2cda82f69e054bb274331d0181cf334ff587b914e74e130f83160012021-06-15 10:34:292 hrs 43 mins ago0x3cdf515ca7ee4761678e20b54d4a5c4ca687b08d IN  Belt Finance: BELT Token0 BNB0.00022203
0xcc72be069ff4f6a419e1c720a49665768bad6d15b1d482898d2ecb1152f1c18883157872021-06-15 10:23:472 hrs 54 mins ago0xf062dab3a92c7883f11221f56149eb0d7292a096 IN  Belt Finance: BELT Token0 BNB0.000072555
0x9f42058a0d15fea0823fbf3a5c32f585bb86434048c7b341d0a54e1781869a8583155352021-06-15 10:10:053 hrs 8 mins ago0x124d9bf2fecbc16b54ec4accdb14d44c2144f012 IN  Belt Finance: BELT Token0 BNB0.00051119
0xd723c653db30786176824ed421935fc706f02dd15f1320e21fc7213b7979536483152102021-06-15 9:53:153 hrs 25 mins ago0x288d08f8705a9fc2e6d0d11b0acaa91492ff6dfa IN  Belt Finance: BELT Token0 BNB0.000266436
0xfe10eb92c34c80950866cb6b29caad4f8409410c34c150298bac6be7a7b4614083151162021-06-15 9:48:333 hrs 29 mins ago0x704d188b52d357f1a964be95a083c8fd7a2d477a IN  Belt Finance: BELT Token0 BNB0.000180655
0x091da5a9b89ff162519404e16b9070ff0f754a80898f220afccb8eec70d397a983150642021-06-15 9:45:453 hrs 32 mins ago0xf3e36ad56aa85abdacc18c02d19509ae4f7d5899 IN  Belt Finance: BELT Token0 BNB0.000357833
0x3b9dbd2f359a9472b9765ac52a5dd3b1ddd35ddd4609731d82546614ff9f619e83147362021-06-15 9:29:163 hrs 49 mins ago0x895cff8e6264214701616d2117840dfaa2cbcada IN  Belt Finance: BELT Token0 BNB0.00022203
0x4e7b8f5d2865969e06d5cd06724728c5ebc349e913390336e6ce6e5c791262e483144592021-06-15 9:15:064 hrs 3 mins ago0x124d9bf2fecbc16b54ec4accdb14d44c2144f012 IN  Belt Finance: BELT Token0 BNB0.00036131
0xb25838e8366f6ce04a46bd8bf91f79bebdf584437b87cf69ddc4bfdcbd212f7b83144372021-06-15 9:14:004 hrs 4 mins ago0x57f8dbcb80a623dce4e09a37b68a5952ef930767 IN  Belt Finance: BELT Token0 BNB0.00021119
0x63fb95a09347f20b4c041436ec727073b16ccfadce7230568f89c2765854b12583144372021-06-15 9:14:004 hrs 4 mins ago0xd5494c2f4d3e20e6e26ee48104ec8f2d5cc74a05 IN  Belt Finance: BELT Token0 BNB0.00021143
0x29da804916f95a35b6668a6f762106afb27f37b2a98ce4de84c660d84d05e1f783144372021-06-15 9:14:004 hrs 4 mins ago0x41199332e1a300424873e96e267d1c9dbdeef7e9 IN  Belt Finance: BELT Token0 BNB0.00021131
0x7495d88e249ab04b0e1401c585aefd62c1feafd5fd0bdf7f17ec4d4a385f566883144292021-06-15 9:13:314 hrs 4 mins ago0x9efe5d1afc8c874a7ce9369ff597ef7ca54fb050 IN  Belt Finance: BELT Token0 BNB0.00022203
0x15267216375d09010d5515ba48c00d4fcfcfcbae62d11d1cb27f1557621ce26283142482021-06-15 9:04:284 hrs 14 mins ago0xdd5f8a651c03960d641d7c8bf4e0d220bac3d118 IN  Belt Finance: BELT Token0 BNB0.00012603
[ Download CSV Export 

OVERVIEW

Belt.fi is an AMM protocol that incorporates multi-strategy yield optimizing on Binance Smart Chain (BSC) with low fees/slippage that also provides aggregation through vault compounding, lending and yield generation for maximum returns.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x5bfb010d7a7784cb4dfd214967e502fe4df466475d89863da832606137f6500154708782021-03-07 11:36:51100 days 1 hr ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x5bfb010d7a7784cb4dfd214967e502fe4df466475d89863da832606137f6500154708782021-03-07 11:36:51100 days 1 hr ago PancakeSwap: Router Belt Finance: BELT Token0 BNB
0x67e17efbb11bda6cadccc022eeefdea069e74f4db7af4a874e76be9b3f50657654695552021-03-07 10:30:42100 days 2 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x67e17efbb11bda6cadccc022eeefdea069e74f4db7af4a874e76be9b3f50657654695552021-03-07 10:30:42100 days 2 hrs ago PancakeSwap: Router Belt Finance: BELT Token0 BNB
0x4b2bc1deabf0e4258013c0175ca90480841e16a2f93aa5cfae657bffc5901e5054695382021-03-07 10:29:51100 days 2 hrs ago 0x0c5362f7c80ff3124843df2510b9e7368e237ea6 Belt Finance: BELT Token0 BNB
0x46a9280d4aea2c81358bfed54f699de8214c3f81fca0bffc6aec3739ab168eb154694302021-03-07 10:24:27100 days 2 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x46a9280d4aea2c81358bfed54f699de8214c3f81fca0bffc6aec3739ab168eb154694302021-03-07 10:24:27100 days 2 hrs ago PancakeSwap: Router Belt Finance: BELT Token0 BNB
0x1b4297bb8d809e1356017c4fcc22fdf083693f04ecf267bfc20596a308308c6454694162021-03-07 10:23:45100 days 2 hrs ago PancakeSwap: Router Belt Finance: BELT Token0 BNB
0x1b4297bb8d809e1356017c4fcc22fdf083693f04ecf267bfc20596a308308c6454694162021-03-07 10:23:45100 days 2 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x1b4297bb8d809e1356017c4fcc22fdf083693f04ecf267bfc20596a308308c6454694162021-03-07 10:23:45100 days 2 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x1b4297bb8d809e1356017c4fcc22fdf083693f04ecf267bfc20596a308308c6454694162021-03-07 10:23:45100 days 2 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x4cf41744f405b5c35da35bc5933501a9f87bb770a8f459152d12956f0b9befa654687772021-03-07 9:51:48100 days 3 hrs ago PancakeSwap: Router Belt Finance: BELT Token0 BNB
0x4cf41744f405b5c35da35bc5933501a9f87bb770a8f459152d12956f0b9befa654687772021-03-07 9:51:48100 days 3 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x4cf41744f405b5c35da35bc5933501a9f87bb770a8f459152d12956f0b9befa654687772021-03-07 9:51:48100 days 3 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x4cf41744f405b5c35da35bc5933501a9f87bb770a8f459152d12956f0b9befa654687772021-03-07 9:51:48100 days 3 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x12f1d28cf385f13626de39c183fb07ea6a8b153aafb754ca3d53e1853a0e396b54687442021-03-07 9:50:09100 days 3 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0x12f1d28cf385f13626de39c183fb07ea6a8b153aafb754ca3d53e1853a0e396b54687442021-03-07 9:50:09100 days 3 hrs ago PancakeSwap: Router Belt Finance: BELT Token0 BNB
0xfda2558f242925f25aa58c71a849da72bc0ae1874a58d32d661b84343582738054686972021-03-07 9:47:48100 days 3 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
0xfda2558f242925f25aa58c71a849da72bc0ae1874a58d32d661b84343582738054686972021-03-07 9:47:48100 days 3 hrs ago PancakeSwap: Router Belt Finance: BELT Token0 BNB
0xaa916e302ab78816a26a9b78f70ebcc7093cf4b4d380827a3b25101636fb270e54686712021-03-07 9:46:30100 days 3 hrs ago PancakeSwap: BELT-BUSD Belt Finance: BELT Token0 BNB
0xaa916e302ab78816a26a9b78f70ebcc7093cf4b4d380827a3b25101636fb270e54686712021-03-07 9:46:30100 days 3 hrs ago PancakeSwap: BELT-BUSD Belt Finance: BELT Token0 BNB
0xaa916e302ab78816a26a9b78f70ebcc7093cf4b4d380827a3b25101636fb270e54686712021-03-07 9:46:30100 days 3 hrs ago PancakeSwap: BELT-BUSD Belt Finance: BELT Token0 BNB
0x263a4cabb7ee27aed554877e35f79ed6faf8124e3b6e13f797d01220f12e91a454685992021-03-07 9:42:54100 days 3 hrs ago PancakeSwap: BELT-BUSD Belt Finance: BELT Token0 BNB
0x263a4cabb7ee27aed554877e35f79ed6faf8124e3b6e13f797d01220f12e91a454685992021-03-07 9:42:54100 days 3 hrs ago 0xd2399256e97d6815070866c23aa9038ee6aaf385 Belt Finance: BELT Token0 BNB
0x263a4cabb7ee27aed554877e35f79ed6faf8124e3b6e13f797d01220f12e91a454685992021-03-07 9:42:54100 days 3 hrs ago PancakeSwap: BELT 2 Belt Finance: BELT Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BELT

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-02-28
*/

pragma solidity ^0.6.12;

// import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
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;
    }
}

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.
     */
    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.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        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.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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
    );
}

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 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. 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 returns (uint8) {
        return _decimals;
    }

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

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view 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 {
        _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 {
        _decimals = decimals_;
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Buttling 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 {}
}

// import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol";
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 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;
    }
}


contract BELT is ERC20, Ownable {

    uint public initialSupply;
    uint public initialSupplyRemaining;
    address public initialSupplyClaimer;
    uint public startBlockMining;
    uint public BELTPerBlock = 1178000000000000000;
    address public burnAddress = 0x000000000000000000000000000000000000dEaD;

    constructor(string memory name_, string memory symbol_, uint initialSupply_, address initialSupplyClaimer_, uint startBlockMining_) ERC20(name_, symbol_) public {
        initialSupply = initialSupply_;
        initialSupplyRemaining = initialSupply;
        initialSupplyClaimer = initialSupplyClaimer_;
        startBlockMining = startBlockMining_;
    }

    function claimInitialSupply(uint _amount) public {
        require(msg.sender==initialSupplyClaimer, "msg.sener has no authority");
        require(initialSupplyRemaining >= _amount, "_amount exceed an allowance");

        initialSupplyRemaining = initialSupplyRemaining - _amount;
        _mint(initialSupplyClaimer, _amount);
    }

    function getCirculatingSupply() public view returns (uint) {
        uint circulatingSupply = initialSupply - initialSupplyRemaining;

        if(block.number > startBlockMining){
            circulatingSupply = circulatingSupply + (block.number - startBlockMining) * BELTPerBlock;
        }

        if(circulatingSupply >= balanceOf(burnAddress)){
            circulatingSupply = circulatingSupply - balanceOf(burnAddress);
        }

        return circulatingSupply;
    }

    function mint(address _to, uint256 _amount) public onlyOwner {
        _mint(_to, _amount);
    }
}

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"initialSupply_","type":"uint256"},{"internalType":"address","name":"initialSupplyClaimer_","type":"address"},{"internalType":"uint256","name":"startBlockMining_","type":"uint256"}],"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":"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":[],"name":"BELTPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":[],"name":"burnAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"claimInitialSupply","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":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"initialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialSupplyClaimer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialSupplyRemaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"startBlockMining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405267105918c239690000600a55600b80546001600160a01b03191661dead1790553480156200003157600080fd5b50604051620012db380380620012db833981810160405260a08110156200005757600080fd5b81019080805160405193929190846401000000008211156200007857600080fd5b9083019060208201858111156200008e57600080fd5b8251640100000000811182820188101715620000a957600080fd5b82525081516020918201929091019080838360005b83811015620000d8578181015183820152602001620000be565b50505050905090810190601f168015620001065780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012a57600080fd5b9083019060208201858111156200014057600080fd5b82516401000000008111828201881017156200015b57600080fd5b82525081516020918201929091019080838360005b838110156200018a57818101518382015260200162000170565b50505050905090810190601f168015620001b85780820380516001836020036101000a031916815260200191505b50604090815260208281015191830151606090930151875192955092935086918691620001eb91600391850190620002ae565b50805162000201906004906020840190620002ae565b50506005805460ff191660121790555060006200021d620002aa565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006839055600792909255600880546001600160a01b0319166001600160a01b0392909216919091179055600955506200034a9050565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002f157805160ff191683800117855562000321565b8280016001018555821562000321579182015b828111156200032157825182559160200191906001019062000304565b506200032f92915062000333565b5090565b5b808211156200032f576000815560010162000334565b610f81806200035a6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80635933b459116100c3578063a457c2d71161007c578063a457c2d714610376578063a459fc0b146103a2578063a9059cbb146103aa578063bfe4c3a3146103d6578063dd62ed3e146103de578063f2fde38b1461040c5761014d565b80635933b459146102f757806370a082311461031457806370d5ae051461033a578063715018a61461035e5780638da5cb5b1461036657806395d89b411461036e5761014d565b80632b112e49116101155780632b112e49146102675780632fdf851d1461026f578063313ce56714610277578063378dc3dc14610295578063395093511461029d57806340c10f19146102c95761014d565b806306fdde0314610152578063095ea7b3146101cf57806318160ddd1461020f5780631cf850461461022957806323b872dd14610231575b600080fd5b61015a610432565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b0381351690602001356104c8565b604080519115158252519081900360200190f35b6102176104e5565b60408051918252519081900360200190f35b6102176104eb565b6101fb6004803603606081101561024757600080fd5b506001600160a01b038135811691602081013590911690604001356104f1565b610217610578565b6102176105d1565b61027f6105d7565b6040805160ff9092168252519081900360200190f35b6102176105e0565b6101fb600480360360408110156102b357600080fd5b506001600160a01b0381351690602001356105e6565b6102f5600480360360408110156102df57600080fd5b506001600160a01b038135169060200135610634565b005b6102f56004803603602081101561030d57600080fd5b50356106b1565b6102176004803603602081101561032a57600080fd5b50356001600160a01b0316610789565b6103426107a4565b604080516001600160a01b039092168252519081900360200190f35b6102f56107b3565b610342610872565b61015a610886565b6101fb6004803603604081101561038c57600080fd5b506001600160a01b0381351690602001356108e7565b61034261094f565b6101fb600480360360408110156103c057600080fd5b506001600160a01b03813516906020013561095e565b610217610972565b610217600480360360408110156103f457600080fd5b506001600160a01b0381358116916020013516610978565b6102f56004803603602081101561042257600080fd5b50356001600160a01b03166109a3565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104be5780601f10610493576101008083540402835291602001916104be565b820191906000526020600020905b8154815290600101906020018083116104a157829003601f168201915b5050505050905090565b60006104dc6104d5610abe565b8484610ac2565b50600192915050565b60025490565b600a5481565b60006104fe848484610bae565b61056e8461050a610abe565b61056985604051806060016040528060288152602001610edb602891396001600160a01b038a16600090815260016020526040812090610548610abe565b6001600160a01b031681526020810191909152604001600020549190610c7f565b610ac2565b5060019392505050565b60008060075460065403905060095443111561059957600a54600954430302015b600b546105ae906001600160a01b0316610789565b81106105cc57600b546105c9906001600160a01b0316610789565b90035b905090565b60095481565b60055460ff1690565b60065481565b60006104dc6105f3610abe565b846105698560016000610604610abe565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610d16565b61063c610abe565b60055461010090046001600160a01b039081169116146106a3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6106ad8282610d77565b5050565b6008546001600160a01b03163314610710576040805162461bcd60e51b815260206004820152601a60248201527f6d73672e73656e657220686173206e6f20617574686f72697479000000000000604482015290519081900360640190fd5b806007541015610767576040805162461bcd60e51b815260206004820152601b60248201527f5f616d6f756e742065786365656420616e20616c6c6f77616e63650000000000604482015290519081900360640190fd5b600780548290039055600854610786906001600160a01b031682610d77565b50565b6001600160a01b031660009081526020819052604090205490565b600b546001600160a01b031681565b6107bb610abe565b60055461010090046001600160a01b03908116911614610822576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104be5780601f10610493576101008083540402835291602001916104be565b60006104dc6108f4610abe565b8461056985604051806060016040528060258152602001610f27602591396001600061091e610abe565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610c7f565b6008546001600160a01b031681565b60006104dc61096b610abe565b8484610bae565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6109ab610abe565b60055461010090046001600160a01b03908116911614610a12576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610a575760405162461bcd60e51b8152600401808060200182810382526026815260200180610e6d6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b6001600160a01b038316610b075760405162461bcd60e51b8152600401808060200182810382526024815260200180610f036024913960400191505060405180910390fd5b6001600160a01b038216610b4c5760405162461bcd60e51b8152600401808060200182810382526022815260200180610e936022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b610bb9838383610e67565b610bf681604051806060016040528060268152602001610eb5602691396001600160a01b0386166000908152602081905260409020549190610c7f565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610c259082610d16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610d0e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cd3578181015183820152602001610cbb565b50505050905090810190601f168015610d005780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610d70576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610dd2576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610dde60008383610e67565b600254610deb9082610d16565b6002556001600160a01b038216600090815260208190526040902054610e119082610d16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b50505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206b19dad6060c11c3a1cbc04db1401fb681267345dbc85d3a230a583ab974a4df64736f6c634300060c003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000002a5a058fc295ed0000000000000000000000000000008b840832bc67fca19c33946a13ada2d03338874d000000000000000000000000000000000000000000000000000000000054d5c3000000000000000000000000000000000000000000000000000000000000000a42454c5420546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000442454c5400000000000000000000000000000000000000000000000000000000

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

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000002a5a058fc295ed0000000000000000000000000000008b840832bc67fca19c33946a13ada2d03338874d000000000000000000000000000000000000000000000000000000000054d5c3000000000000000000000000000000000000000000000000000000000000000a42454c5420546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000442454c5400000000000000000000000000000000000000000000000000000000

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 000000000000000000000000000000000000000000002a5a058fc295ed000000
Arg [3] : 0000000000000000000000008b840832bc67fca19c33946a13ada2d03338874d
Arg [4] : 000000000000000000000000000000000000000000000000000000000054d5c3
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [6] : 42454c5420546f6b656e00000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 42454c5400000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

20076:1639:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8959:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11120:194;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11120:194:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;10034:100;;;:::i;:::-;;;;;;;;;;;;;;;;20267:46;;;:::i;11796:454::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11796:454:0;;;;;;;;;;;;;;;;;:::i;21117:488::-;;;:::i;20232:28::-;;;:::i;9886:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20117:25;;;:::i;12659:288::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12659:288:0;;;;;;;;:::i;21613:99::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;21613:99:0;;;;;;;;:::i;:::-;;20769:340;;;;;;;;;;;;;;;;-1:-1:-1;20769:340:0;;:::i;10197:119::-;;;;;;;;;;;;;;;;-1:-1:-1;10197:119:0;-1:-1:-1;;;;;10197:119:0;;:::i;20320:71::-;;;:::i;:::-;;;;-1:-1:-1;;;;;20320:71:0;;;;;;;;;;;;;;19483:148;;;:::i;18841:79::-;;;:::i;9161:87::-;;;:::i;13450:388::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13450:388:0;;;;;;;;:::i;20190:35::-;;;:::i;10529:200::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10529:200:0;;;;;;;;:::i;20149:34::-;;;:::i;10792:181::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10792:181:0;;;;;;;;;;:::i;19786:281::-;;;;;;;;;;;;;;;;-1:-1:-1;19786:281:0;-1:-1:-1;;;;;19786:281:0;;:::i;8959:83::-;9029:5;9022:12;;;;;;;;-1:-1:-1;;9022:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8996:13;;9022:12;;9029:5;;9022:12;;9029:5;9022:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8959:83;:::o;11120:194::-;11223:4;11245:39;11254:12;:10;:12::i;:::-;11268:7;11277:6;11245:8;:39::i;:::-;-1:-1:-1;11302:4:0;11120:194;;;;:::o;10034:100::-;10114:12;;10034:100;:::o;20267:46::-;;;;:::o;11796:454::-;11936:4;11953:36;11963:6;11971:9;11982:6;11953:9;:36::i;:::-;12000:220;12023:6;12044:12;:10;:12::i;:::-;12071:138;12127:6;12071:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12071:19:0;;;;;;:11;:19;;;;;;12091:12;:10;:12::i;:::-;-1:-1:-1;;;;;12071:33:0;;;;;;;;;;;;-1:-1:-1;12071:33:0;;;:138;:37;:138::i;:::-;12000:8;:220::i;:::-;-1:-1:-1;12238:4:0;11796:454;;;;;:::o;21117:488::-;21170:4;21187:22;21228;;21212:13;;:38;21187:63;;21281:16;;21266:12;:31;21263:150;;;21389:12;;21369:16;;21354:12;:31;21353:48;21333:68;21263:150;21459:11;;21449:22;;-1:-1:-1;;;;;21459:11:0;21449:9;:22::i;:::-;21428:17;:43;21425:136;;21537:11;;21527:22;;-1:-1:-1;;;;;21537:11:0;21527:9;:22::i;:::-;21507:42;;21425:136;21580:17;-1:-1:-1;21117:488:0;:::o;20232:28::-;;;;:::o;9886:83::-;9952:9;;;;9886:83;:::o;20117:25::-;;;;:::o;12659:288::-;12762:4;12784:133;12807:12;:10;:12::i;:::-;12834:7;12856:50;12895:10;12856:11;:25;12868:12;:10;:12::i;:::-;-1:-1:-1;;;;;12856:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;12856:25:0;;;:34;;;;;;;;;;;:38;:50::i;21613:99::-;19063:12;:10;:12::i;:::-;19053:6;;;;;-1:-1:-1;;;;;19053:6:0;;;:22;;;19045:67;;;;;-1:-1:-1;;;19045:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21685:19:::1;21691:3;21696:7;21685:5;:19::i;:::-;21613:99:::0;;:::o;20769:340::-;20849:20;;-1:-1:-1;;;;;20849:20:0;20837:10;:32;20829:71;;;;;-1:-1:-1;;;20829:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20945:7;20919:22;;:33;;20911:73;;;;;-1:-1:-1;;;20911:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21022:22;;;:32;;;20997:57;;21071:20;;21065:36;;-1:-1:-1;;;;;21071:20:0;21047:7;21065:5;:36::i;:::-;20769:340;:::o;10197:119::-;-1:-1:-1;;;;;10290:18:0;10263:7;10290:18;;;;;;;;;;;;10197:119::o;20320:71::-;;;-1:-1:-1;;;;;20320:71:0;;:::o;19483:148::-;19063:12;:10;:12::i;:::-;19053:6;;;;;-1:-1:-1;;;;;19053:6:0;;;:22;;;19045:67;;;;;-1:-1:-1;;;19045:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19574:6:::1;::::0;19553:40:::1;::::0;19590:1:::1;::::0;19574:6:::1;::::0;::::1;-1:-1:-1::0;;;;;19574:6:0::1;::::0;19553:40:::1;::::0;19590:1;;19553:40:::1;19604:6;:19:::0;;-1:-1:-1;;;;;;19604:19:0::1;::::0;;19483:148::o;18841:79::-;18906:6;;;;;-1:-1:-1;;;;;18906:6:0;;18841:79::o;9161:87::-;9233:7;9226:14;;;;;;;;-1:-1:-1;;9226:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9200:13;;9226:14;;9233:7;;9226:14;;9233:7;9226:14;;;;;;;;;;;;;;;;;;;;;;;;13450:388;13558:4;13580:228;13603:12;:10;:12::i;:::-;13630:7;13652:145;13709:15;13652:145;;;;;;;;;;;;;;;;;:11;:25;13664:12;:10;:12::i;:::-;-1:-1:-1;;;;;13652:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;13652:25:0;;;:34;;;;;;;;;;;:145;:38;:145::i;20190:35::-;;;-1:-1:-1;;;;;20190:35:0;;:::o;10529:200::-;10635:4;10657:42;10667:12;:10;:12::i;:::-;10681:9;10692:6;10657:9;:42::i;20149:34::-;;;;:::o;10792:181::-;-1:-1:-1;;;;;10938:18:0;;;10906:7;10938:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10792:181::o;19786:281::-;19063:12;:10;:12::i;:::-;19053:6;;;;;-1:-1:-1;;;;;19053:6:0;;;:22;;;19045:67;;;;;-1:-1:-1;;;19045:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19889:22:0;::::1;19867:110;;;;-1:-1:-1::0;;;19867:110:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20014:6;::::0;19993:38:::1;::::0;-1:-1:-1;;;;;19993:38:0;;::::1;::::0;20014:6:::1;::::0;::::1;;::::0;19993:38:::1;::::0;;;::::1;20042:6;:17:::0;;-1:-1:-1;;;;;20042:17:0;;::::1;;;-1:-1:-1::0;;;;;;20042:17:0;;::::1;::::0;;;::::1;::::0;;19786:281::o;174:106::-;262:10;174:106;:::o;16659:380::-;-1:-1:-1;;;;;16795:19:0;;16787:68;;;;-1:-1:-1;;;16787:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16874:21:0;;16866:68;;;;-1:-1:-1;;;16866:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16947:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16999:32;;;;;;;;;;;;;;;;;16659:380;;;:::o;14328:445::-;14460:47;14481:6;14489:9;14500:6;14460:20;:47::i;:::-;14540:108;14576:6;14540:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14540:17:0;;:9;:17;;;;;;;;;;;;:108;:21;:108::i;:::-;-1:-1:-1;;;;;14520:17:0;;;:9;:17;;;;;;;;;;;:128;;;;14682:20;;;;;;;:32;;14707:6;14682:24;:32::i;:::-;-1:-1:-1;;;;;14659:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;14730:35;;;;;;;14659:20;;14730:35;;;;;;;;;;;;;14328:445;;;:::o;1694:226::-;1814:7;1850:12;1842:6;;;;1834:29;;;;-1:-1:-1;;;1834:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1886:5:0;;;1694:226::o;791:181::-;849:7;881:5;;;905:6;;;;897:46;;;;;-1:-1:-1;;;897:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;963:1;791:181;-1:-1:-1;;;791:181:0:o;15055:378::-;-1:-1:-1;;;;;15139:21:0;;15131:65;;;;;-1:-1:-1;;;15131:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15209:49;15238:1;15242:7;15251:6;15209:20;:49::i;:::-;15286:12;;:24;;15303:6;15286:16;:24::i;:::-;15271:12;:39;-1:-1:-1;;;;;15342:18:0;;:9;:18;;;;;;;;;;;:30;;15365:6;15342:22;:30::i;:::-;-1:-1:-1;;;;;15321:18:0;;:9;:18;;;;;;;;;;;:51;;;;15388:37;;;;;;;15321:18;;:9;;15388:37;;;;;;;;;;15055:378;;:::o;18065:125::-;;;;:::o

Swarm Source

ipfs://6b19dad6060c11c3a1cbc04db1401fb681267345dbc85d3a230a583ab974a4df
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.