Contract 0x1d60109178c48e4a937d8ab71699d8ebb6f7c5de 1

Contract Overview

Magnet DAO Finance: MAG Token
Balance:
0 AVAX

AVAX Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x1e89e40d7dc8809aef89d395f3259f47e78024b6dbf6985dfafa5d42ba2575feApprove280901552023-03-30 11:30:0213 hrs 24 mins ago0x0143fcd4691e2ae0d9e0b7e75ebcf677fd833ae0 IN  Magnet DAO Finance: MAG Token0 AVAX0.0007695335 26.5
0x0ad7d7cfa76ba43cc7b7327ee4df8ae5066565465c3e5aa1488d9844938f85cdApprove280901532023-03-30 11:29:5713 hrs 24 mins ago0x0143fcd4691e2ae0d9e0b7e75ebcf677fd833ae0 IN  Magnet DAO Finance: MAG Token0 AVAX0.0007695335 26.5
0xf43ed619d7ff565cea46c789b5ec8530bf0ef090cf6e202e371d36d3c744373fApprove280591132023-03-29 17:58:461 day 6 hrs ago0xb85feeeea8eec2f262383f16866d8c7883c235d7 IN  Magnet DAO Finance: MAG Token0 AVAX0.000725975 25
0x9110a1a071998420450d6cd4ec02756014c6dee5e881f6865eeeeafa91036363Approve280450282023-03-29 9:54:251 day 15 hrs ago0xbfbb2caa1c56f082c8d51905ee0df1d56805dea4 IN  Magnet DAO Finance: MAG Token0 AVAX0.000803503709 27.669813339
0x40c31a0cdf4d2f2158324369930b848a73347d60d4b2c7ddfb6b14e10f23838bApprove280449872023-03-29 9:53:031 day 15 hrs ago0xbfbb2caa1c56f082c8d51905ee0df1d56805dea4 IN  Magnet DAO Finance: MAG Token0 AVAX0.0007695335 26.5
0xae2edf4914b5074bfba3130a8a5c8f3a77834fe288810d983d4ef69bfd77a873Approve280256832023-03-28 22:41:032 days 2 hrs ago0xcc9de9eba4483b5699a8b0168a83e645513110f8 IN  Magnet DAO Finance: MAG Token0 AVAX0.0007695335 26.5
0x554296579e5d74692d24ec95de2e7013f4185044b2ae0388eed69b51ba5cdc09Approve280256812023-03-28 22:40:592 days 2 hrs ago0xcc9de9eba4483b5699a8b0168a83e645513110f8 IN  Magnet DAO Finance: MAG Token0 AVAX0.0007695335 26.5
0x8b4d3d5d8578dd450335cd55c45342914d6280d887492d378489baeaa5376847Approve280256792023-03-28 22:40:552 days 2 hrs ago0xcc9de9eba4483b5699a8b0168a83e645513110f8 IN  Magnet DAO Finance: MAG Token0 AVAX0.0007695335 26.5
0x9bb399b44ee6c95e4f73651b5fad24e7f5f9b1aec51039329602bbeec80f598fApprove278004442023-03-23 9:25:167 days 15 hrs ago0x949f75f0acdccd70242b89d7ee24a3c387895d8a IN  Magnet DAO Finance: MAG Token0 AVAX0.00081309228
0xaf1597e7dc38019ece41dd879331fdc4e8b098489d0e533a42d3241a2cfa24cfApprove276549322023-03-19 20:33:1911 days 4 hrs ago0xf93fe126f582ef61bd2bfcd206ced29a8aca3c20 IN  Magnet DAO Finance: MAG Token0 AVAX0.000655975 25
0xe5e38fe521ea0afcd3e3b6b1c68810304292b5ac88e1a236ea0857bd1858726aApprove276549252023-03-19 20:33:0311 days 4 hrs ago0xf93fe126f582ef61bd2bfcd206ced29a8aca3c20 IN  Magnet DAO Finance: MAG Token0 AVAX0.000725975 25
0xd0e6b58db5712df9803ccdccccb97e4c02b7480484ad448386e9273efffeaa42Approve276547772023-03-19 20:28:0811 days 4 hrs ago0xf93fe126f582ef61bd2bfcd206ced29a8aca3c20 IN  Magnet DAO Finance: MAG Token0 AVAX0.000655975 25
0x0471697937e6b7119139c9991bcb4c0854be099e857484091ecbf892141d8b89Approve276547712023-03-19 20:27:5611 days 4 hrs ago0xf93fe126f582ef61bd2bfcd206ced29a8aca3c20 IN  Magnet DAO Finance: MAG Token0 AVAX0.000725975 25
0xd8f58fee6cb263d0593bc79c5ed6ddb9c60006d2a9cd62e39cae9b7f8992f94eApprove274613142023-03-15 7:42:5215 days 17 hrs ago0x7a1f36cd575fc2bbe5b3c87f943de8a4bfc7e8d1 IN  Magnet DAO Finance: MAG Token0 AVAX0.00078405327
0x5ca5700a1d090d816fac07bcaad91627e08b2dc87a81d16568f911ba93738e41Approve274534542023-03-15 3:12:4815 days 21 hrs ago0xd7fd4eb8ed371f110fa4c2d2492f0afa0b84c013 IN  Magnet DAO Finance: MAG Token0 AVAX0.00078405327
0x8373d708c50ce88f07b22d7bdd790911a2c68e582cae75c5c4baa3d067c5aec1Approve274477042023-03-14 23:54:2016 days 1 hr ago0xa558139e7ed8e2926ca0abe3c84c9506155e7092 IN  Magnet DAO Finance: MAG Token0 AVAX0.000784053 27
0x38b56101d2699a7521b602022a1eaca17a5669fb384e306e46d73e380f78e8adApprove274474892023-03-14 23:46:5916 days 1 hr ago0xa558139e7ed8e2926ca0abe3c84c9506155e7092 IN  Magnet DAO Finance: MAG Token0 AVAX0.000784053 27
0xe4d5639a3b156dfca68992c06c697356cc97ed81f09cd4b1cdabcf698bc7f957Approve272748212023-03-10 23:12:3420 days 1 hr ago0xf4b785ef2c10d5662a053043e362e7e74e14a206 IN  Magnet DAO Finance: MAG Token0 AVAX0.000725975 25
0x39a2a3d9a5634494b499f7c52b55748f2b71e3ab22658f206d9b84100f1b25c5Approve271808502023-03-08 18:09:2122 days 6 hrs ago0x2b3740e7553fa04b2328d0a8aa3ad92755f3698a IN  Magnet DAO Finance: MAG Token0 AVAX0.000784053 27
0xcb889f05477895671e4e0d2f535a940cec885c3bd47dd2242495ef2378e956a0Approve269865442023-03-03 23:47:1827 days 1 hr ago0xeb54669ac46b44d6a29eedda0daf7d9a8c4f7386 IN  Magnet DAO Finance: MAG Token0 AVAX0.000725975 25
0xc73e7605e92ba56641a300cdfc1a15f99a490dea739b3872101a895bf26ebd65Approve269862512023-03-03 23:37:2027 days 1 hr ago0xeb54669ac46b44d6a29eedda0daf7d9a8c4f7386 IN  Magnet DAO Finance: MAG Token0 AVAX0.000725975 25
0x7be7f1b253968bac2185e721a9f75a6775d331b71a7b2c4eb4cd79d274ca8e08Approve269617582023-03-03 9:44:5527 days 15 hrs ago0x733ab147ef8f4efea84ced248f1afe74fbe21582 IN  Magnet DAO Finance: MAG Token0 AVAX0.00078405327
0xf9cebc07d19e033425e9577e93473d33116e7b71bc9b1835bf637b28e179414aApprove269617552023-03-03 9:44:4927 days 15 hrs ago0x733ab147ef8f4efea84ced248f1afe74fbe21582 IN  Magnet DAO Finance: MAG Token0 AVAX0.00078405327
0xfb83fa1b2b93126c0b127e5ad855ea80deb48cb5f270713aa0a23988c339edf8Approve269616512023-03-03 9:41:1427 days 15 hrs ago0x733ab147ef8f4efea84ced248f1afe74fbe21582 IN  Magnet DAO Finance: MAG Token0 AVAX0.00078405327
0xf10e7dbf358a2772a55e52dec36e1265de1178ff9554c49b1b4b1e95954aaee0Approve268493602023-02-28 16:40:2530 days 8 hrs ago0x82dfec32bd4abfd5386e4917b42fb127dd2d899a IN  Magnet DAO Finance: MAG Token0 AVAX0.000796394575 27.425
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MagERC20Token

Compiler Version
v0.7.5+commit.eb77ed08

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at snowtrace.io on 2022-01-02
*/

// File: contracts/lib/SafeMath.sol

// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.7.5;

//u32
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function add32(uint32 a, uint32 b) internal pure returns (uint32) {
        uint32 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function sub32(uint32 a, uint32 b) internal pure returns (uint32) {
        return sub32(a, b, "SafeMath: subtraction overflow");
    }

    function sub32(
        uint32 a,
        uint32 b,
        string memory errorMessage
    ) internal pure returns (uint32) {
        require(b <= a, errorMessage);
        uint32 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    function mul32(uint32 a, uint32 b) internal pure returns (uint32) {
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

    function sqrrt(uint256 a) internal pure returns (uint256 c) {
        if (a > 3) {
            c = a;
            uint256 b = add(div(a, 2), 1);
            while (b < c) {
                c = b;
                b = div(add(div(a, b), b), 2);
            }
        } else if (a != 0) {
            c = 1;
        }
    }

    /*
     * Expects percentage to be trailed by 00,
     */
    function percentageAmount(uint256 total_, uint8 percentage_)
        internal
        pure
        returns (uint256 percentAmount_)
    {
        return div(mul(total_, percentage_), 1000);
    }

    /*
     * Expects percentage to be trailed by 00,
     */
    function substractPercentage(uint256 total_, uint8 percentageToSub_)
        internal
        pure
        returns (uint256 result_)
    {
        return sub(total_, div(mul(total_, percentageToSub_), 1000));
    }

    function percentageOfTotal(uint256 part_, uint256 total_)
        internal
        pure
        returns (uint256 percent_)
    {
        return div(mul(part_, 100), total_);
    }

    /**
     * Taken from Hypersonic https://github.com/M2629/HyperSonic/blob/main/Math.sol
     * @dev Returns the average of two numbers. The result is rounded towards
     * zero.
     */
    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        // (a + b) / 2 can overflow, so we distribute
        return (a / 2) + (b / 2) + (((a % 2) + (b % 2)) / 2);
    }

    function quadraticPricing(uint256 payment_, uint256 multiplier_)
        internal
        pure
        returns (uint256)
    {
        return sqrrt(mul(multiplier_, payment_));
    }

    function bondingCurve(uint256 supply_, uint256 multiplier_)
        internal
        pure
        returns (uint256)
    {
        return mul(multiplier_, supply_);
    }
}

// File: contracts/lib/Counters.sol

pragma solidity 0.7.5;


library Counters {
    using SafeMath for uint256;

    struct Counter {
        uint256 _value; // default: 0
    }

    function current(Counter storage counter) internal view returns (uint256) {
        return counter._value;
    }

    function increment(Counter storage counter) internal {
        counter._value += 1;
    }

    function decrement(Counter storage counter) internal {
        counter._value = counter._value.sub(1);
    }
}

// File: contracts/lib/ERC20.sol

pragma solidity 0.7.5;


interface IERC20 {
    function decimals() external view returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract ERC20 is IERC20 {
    using SafeMath for uint256;

    // TODO comment actual hash value.
    bytes32 private constant ERC20TOKEN_ERC1820_INTERFACE_ID =
        keccak256("ERC20Token");

    mapping(address => uint256) internal _balances;

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

    uint256 internal _totalSupply;

    string internal _name;

    string internal _symbol;

    uint8 internal _decimals;

    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_
    ) {
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            msg.sender,
            _allowances[sender][msg.sender].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].add(addedValue)
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowances[msg.sender][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

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

    function _mint(address account_, uint256 ammount_) internal virtual {
        require(account_ != address(0), "ERC20: mint to the zero address");
        _beforeTokenTransfer(address(this), account_, ammount_);
        _totalSupply = _totalSupply.add(ammount_);
        _balances[account_] = _balances[account_].add(ammount_);
        emit Transfer(address(this), account_, ammount_);
    }

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

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

    function _beforeTokenTransfer(
        address from_,
        address to_,
        uint256 amount_
    ) internal virtual {}
}

// File: contracts/lib/ERC20Permit.sol

pragma solidity 0.7.5;



interface IERC2612Permit {
    function permit(
        address owner,
        address spender,
        uint256 amount,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    function nonces(address owner) external view returns (uint256);
}

abstract contract ERC20Permit is ERC20, IERC2612Permit {
    using Counters for Counters.Counter;

    mapping(address => Counters.Counter) private _nonces;

    // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public constant PERMIT_TYPEHASH =
        0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;

    bytes32 public DOMAIN_SEPARATOR;

    constructor() {
        uint256 chainID;
        assembly {
            chainID := chainid()
        }

        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256(
                    "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
                ),
                keccak256(bytes(name())),
                keccak256(bytes("1")), // Version
                chainID,
                address(this)
            )
        );
    }

    function permit(
        address owner,
        address spender,
        uint256 amount,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual override {
        require(block.timestamp <= deadline, "Permit: expired deadline");

        bytes32 hashStruct = keccak256(
            abi.encode(
                PERMIT_TYPEHASH,
                owner,
                spender,
                amount,
                _nonces[owner].current(),
                deadline
            )
        );

        bytes32 _hash = keccak256(
            abi.encodePacked(uint16(0x1901), DOMAIN_SEPARATOR, hashStruct)
        );

        address signer = ecrecover(_hash, v, r, s);
        require(
            signer != address(0) && signer == owner,
            "ZeroSwapPermit: Invalid signature"
        );

        _nonces[owner].increment();
        _approve(owner, spender, amount);
    }

    function nonces(address owner) public view override returns (uint256) {
        return _nonces[owner].current();
    }
}

// File: contracts/lib/Ownable.sol

pragma solidity 0.7.5;

interface IOwnable {
    function policy() external view returns (address);

    function renounceManagement() external;

    function pushManagement(address newOwner_) external;

    function pullManagement() external;
}

contract Ownable is IOwnable {
    address internal _owner;
    address internal _newOwner;

    event OwnershipPushed(
        address indexed previousOwner,
        address indexed newOwner
    );
    event OwnershipPulled(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _owner = msg.sender;
        emit OwnershipPushed(address(0), _owner);
    }

    function policy() public view override returns (address) {
        return _owner;
    }

    modifier onlyManager() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function renounceManagement() public virtual override onlyManager {
        emit OwnershipPushed(_owner, address(0));
        _owner = address(0);
    }

    function pushManagement(address newOwner_)
        public
        virtual
        override
        onlyManager
    {
        require(
            newOwner_ != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipPushed(_owner, newOwner_);
        _newOwner = newOwner_;
    }

    function pullManagement() public virtual override {
        require(msg.sender == _newOwner, "Ownable: must be new owner to pull");
        emit OwnershipPulled(_owner, _newOwner);
        _owner = _newOwner;
    }
}

// File: contracts/MagERC20.sol

pragma solidity 0.7.5;






contract VaultOwned is Ownable {
    address internal _vault;

    function setVault(address vault_) external onlyManager returns (bool) {
        _vault = vault_;

        return true;
    }

    function vault() public view returns (address) {
        return _vault;
    }

    modifier onlyVault() {
        require(_vault == msg.sender, "VaultOwned: caller is not the Vault");
        _;
    }
}

contract MagERC20Token is ERC20Permit, VaultOwned {
    using SafeMath for uint256;

    constructor() ERC20("Magnet", "MAG", 9) {}

    function mint(address account_, uint256 amount_) external onlyVault {
        _mint(account_, amount_);
    }

    function burn(uint256 amount) public virtual {
        _burn(msg.sender, amount);
    }

    function burnFrom(address account_, uint256 amount_) public virtual {
        _burnFrom(account_, amount_);
    }

    function _burnFrom(address account_, uint256 amount_) public virtual {
        uint256 decreasedAllowance_ = allowance(account_, msg.sender).sub(
            amount_,
            "ERC20: burn amount exceeds allowance"
        );

        _approve(account_, msg.sender, decreasedAllowance_);
        _burn(account_, amount_);
    }
}

Contract ABI

[{"inputs":[],"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":"OwnershipPulled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipPushed","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":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"_burnFrom","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account_","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":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"policy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pullManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner_","type":"address"}],"name":"pushManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"vault_","type":"address"}],"name":"setVault","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b5060405180604001604052806006815260200165135859db995d60d21b815250604051806040016040528060038152602001624d414760e81b815250600982600390805190602001906200006792919062000228565b5081516200007d90600490602085019062000228565b506005805460ff191660ff92909216919091179055504690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620000c16200018e565b805160209182012060408051808201825260018152603160f81b90840152805180840194909452838101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606084015260808301939093523060a0808401919091528351808403909101815260c0909201928390528151910120600755600880546001600160a01b0319163317908190556001600160a01b0316906000907fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba908290a3620002d4565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156200021e5780601f10620001f2576101008083540402835291602001916200021e565b820191906000526020600020905b8154815290600101906020018083116200020057829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002605760008555620002ab565b82601f106200027b57805160ff1916838001178555620002ab565b82800160010185558215620002ab579182015b82811115620002ab5782518255916020019190600101906200028e565b50620002b9929150620002bd565b5090565b5b80821115620002b95760008155600101620002be565b61156880620002e46000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806346f68ee9116100de57806395d89b4111610097578063a9059cbb11610071578063a9059cbb14610482578063d505accf146104ae578063dd62ed3e146104ff578063fbfa77cf1461052d57610173565b806395d89b4114610422578063a22b35ce1461042a578063a457c2d71461045657610173565b806346f68ee9146103565780635a96ac0a1461037c5780636817031b1461038457806370a08231146103aa57806379cc6790146103d05780637ecebe00146103fc57610173565b806330adf81f1161013057806330adf81f146102b3578063313ce567146102bb5780633644e515146102d957806339509351146102e157806340c10f191461030d57806342966c681461033957610173565b80630505c8c91461017857806306fdde031461019c578063089208d814610219578063095ea7b31461022357806318160ddd1461026357806323b872dd1461027d575b600080fd5b610180610535565b604080516001600160a01b039092168252519081900360200190f35b6101a4610544565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101de5781810151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102216105da565b005b61024f6004803603604081101561023957600080fd5b506001600160a01b038135169060200135610683565b604080519115158252519081900360200190f35b61026b610699565b60408051918252519081900360200190f35b61024f6004803603606081101561029357600080fd5b506001600160a01b0381358116916020810135909116906040013561069f565b61026b610708565b6102c361072c565b6040805160ff9092168252519081900360200190f35b61026b610735565b61024f600480360360408110156102f757600080fd5b506001600160a01b03813516906020013561073b565b6102216004803603604081101561032357600080fd5b506001600160a01b038135169060200135610771565b6102216004803603602081101561034f57600080fd5b50356107c8565b6102216004803603602081101561036c57600080fd5b50356001600160a01b03166107d5565b6102216108d5565b61024f6004803603602081101561039a57600080fd5b50356001600160a01b0316610981565b61026b600480360360208110156103c057600080fd5b50356001600160a01b0316610a08565b610221600480360360408110156103e657600080fd5b506001600160a01b038135169060200135610a23565b61026b6004803603602081101561041257600080fd5b50356001600160a01b0316610a2d565b6101a4610a54565b6102216004803603604081101561044057600080fd5b506001600160a01b038135169060200135610ab5565b61024f6004803603604081101561046c57600080fd5b506001600160a01b038135169060200135610b01565b61024f6004803603604081101561049857600080fd5b506001600160a01b038135169060200135610b50565b610221600480360360e08110156104c457600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610b5d565b61026b6004803603604081101561051557600080fd5b506001600160a01b0381358116916020013516610d8a565b610180610db5565b6008546001600160a01b031690565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b6008546001600160a01b03163314610639576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6008546040516000916001600160a01b0316907fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba908390a3600880546001600160a01b0319169055565b6000610690338484610dc4565b50600192915050565b60025490565b60006106ac848484610eb0565b6106fe84336106f985604051806060016040528060288152602001611435602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061100b565b610dc4565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60055460ff1690565b60075481565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106909185906106f990866110a2565b600a546001600160a01b031633146107ba5760405162461bcd60e51b815260040180806020018281038252602381526020018061145d6023913960400191505060405180910390fd5b6107c48282611103565b5050565b6107d233826111f3565b50565b6008546001600160a01b03163314610834576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166108795760405162461bcd60e51b81526004018080602001828103825260268152602001806113846026913960400191505060405180910390fd5b6008546040516001600160a01b038084169216907fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba90600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6009546001600160a01b0316331461091e5760405162461bcd60e51b81526004018080602001828103825260228152602001806113f26022913960400191505060405180910390fd5b6009546008546040516001600160a01b0392831692909116907faa151555690c956fc3ea32f106bb9f119b5237a061eaa8557cff3e51e3792c8d90600090a3600954600880546001600160a01b0319166001600160a01b03909216919091179055565b6008546000906001600160a01b031633146109e3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b50600a80546001600160a01b0383166001600160a01b03199091161790556001919050565b6001600160a01b031660009081526020819052604090205490565b6107c48282610ab5565b6001600160a01b0381166000908152600660205260408120610a4e906112ef565b92915050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105d05780601f106105a5576101008083540402835291602001916105d0565b6000610ae58260405180606001604052806024815260200161148060249139610ade8633610d8a565b919061100b565b9050610af2833383610dc4565b610afc83836111f3565b505050565b600061069033846106f98560405180606001604052806025815260200161150e602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061100b565b6000610690338484610eb0565b83421115610bb2576040805162461bcd60e51b815260206004820152601860248201527f5065726d69743a206578706972656420646561646c696e650000000000000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990899089908990610bfb906112ef565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e08201835280519084012060075461190160f01b610100840152610102830152610122808301829052835180840390910181526101428301808552815191860191909120600091829052610162840180865281905260ff8a166101828501526101a284018990526101c28401889052935191955092936001926101e280820193601f1981019281900390910190855afa158015610ce1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610d175750896001600160a01b0316816001600160a01b0316145b610d525760405162461bcd60e51b81526004018080602001828103825260218152602001806114146021913960400191505060405180910390fd5b6001600160a01b038a166000908152600660205260409020610d73906112f3565b610d7e8a8a8a610dc4565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600a546001600160a01b031690565b6001600160a01b038316610e095760405162461bcd60e51b81526004018080602001828103825260248152602001806114ea6024913960400191505060405180910390fd5b6001600160a01b038216610e4e5760405162461bcd60e51b81526004018080602001828103825260228152602001806113aa6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610ef55760405162461bcd60e51b81526004018080602001828103825260258152602001806114c56025913960400191505060405180910390fd5b6001600160a01b038216610f3a5760405162461bcd60e51b815260040180806020018281038252602381526020018061133f6023913960400191505060405180910390fd5b610f45838383610afc565b610f82816040518060600160405280602681526020016113cc602691396001600160a01b038616600090815260208190526040902054919061100b565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610fb190826110a2565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561109a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561105f578181015183820152602001611047565b50505050905090810190601f16801561108c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156110fc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03821661115e576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611169308383610afc565b60025461117690826110a2565b6002556001600160a01b03821660009081526020819052604090205461119c90826110a2565b6001600160a01b038316600081815260208181526040918290209390935580518481529051919230927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166112385760405162461bcd60e51b81526004018080602001828103825260218152602001806114a46021913960400191505060405180910390fd5b61124482600083610afc565b61128181604051806060016040528060228152602001611362602291396001600160a01b038516600090815260208190526040902054919061100b565b6001600160a01b0383166000908152602081905260409020556002546112a790826112fc565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b5490565b80546001019055565b60006110fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061100b56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654f776e61626c653a206d757374206265206e6577206f776e657220746f2070756c6c5a65726f537761705065726d69743a20496e76616c6964207369676e617475726545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744f776e65643a2063616c6c6572206973206e6f7420746865205661756c7445524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202f9a7a0c334f2b2154028abb67d2bb00bad6082e8398007557331cb8d51c5aea64736f6c63430007050033

Deployed ByteCode Sourcemap

15521:822:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14078:89;;;:::i;:::-;;;;-1:-1:-1;;;;;14078:89:0;;;;;;;;;;;;;;6522:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14302:155;;;:::i;:::-;;7532:208;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7532:208:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6808:100;;;:::i;:::-;;;;;;;;;;;;;;;;7748:450;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7748:450:0;;;;;;;;;;;;;;;;;:::i;11568:117::-;;;:::i;6708:92::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11694:31;;;:::i;8206:296::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8206:296:0;;;;;;;;:::i;15663:111::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15663:111:0;;;;;;;;:::i;15782:89::-;;;;;;;;;;;;;;;;-1:-1:-1;15782:89:0;;:::i;14465:332::-;;;;;;;;;;;;;;;;-1:-1:-1;14465:332:0;-1:-1:-1;;;;;14465:332:0;;:::i;14805:218::-;;;:::i;15171:128::-;;;;;;;;;;;;;;;;-1:-1:-1;15171:128:0;-1:-1:-1;;;;;15171:128:0;;:::i;6916:177::-;;;;;;;;;;;;;;;;-1:-1:-1;6916:177:0;-1:-1:-1;;;;;6916:177:0;;:::i;15879:115::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15879:115:0;;;;;;;;:::i;13220:120::-;;;;;;;;;;;;;;;;-1:-1:-1;13220:120:0;-1:-1:-1;;;;;13220:120:0;;:::i;6613:87::-;;;:::i;16002:338::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16002:338:0;;;;;;;;:::i;8510:396::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8510:396:0;;;;;;;;:::i;7101:214::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7101:214:0;;;;;;;;:::i;12253:959::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12253:959:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7323:201::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7323:201:0;;;;;;;;;;:::i;15307:79::-;;;:::i;14078:89::-;14153:6;;-1:-1:-1;;;;;14153:6:0;14078:89;:::o;6522:83::-;6592:5;6585:12;;;;;;;;-1:-1:-1;;6585:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6559:13;;6585:12;;6592:5;;6585:12;;6592:5;6585:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6522:83;:::o;14302:155::-;14217:6;;-1:-1:-1;;;;;14217:6:0;14227:10;14217:20;14209:65;;;;;-1:-1:-1;;;14209:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14400:6:::1;::::0;14384:35:::1;::::0;14416:1:::1;::::0;-1:-1:-1;;;;;14400:6:0::1;::::0;14384:35:::1;::::0;14416:1;;14384:35:::1;14430:6;:19:::0;;-1:-1:-1;;;;;;14430:19:0::1;::::0;;14302:155::o;7532:208::-;7651:4;7673:37;7682:10;7694:7;7703:6;7673:8;:37::i;:::-;-1:-1:-1;7728:4:0;7532:208;;;;:::o;6808:100::-;6888:12;;6808:100;:::o;7748:450::-;7888:4;7905:36;7915:6;7923:9;7934:6;7905:9;:36::i;:::-;7952:216;7975:6;7996:10;8021:136;8075:6;8021:136;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8021:19:0;;;;;;:11;:19;;;;;;;;8041:10;8021:31;;;;;;;;;:136;:35;:136::i;:::-;7952:8;:216::i;:::-;-1:-1:-1;8186:4:0;7748:450;;;;;:::o;11568:117::-;11619:66;11568:117;:::o;6708:92::-;6783:9;;;;6708:92;:::o;11694:31::-;;;;:::o;8206:296::-;8366:10;8321:4;8413:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8413:32:0;;;;;;;;;;8321:4;;8343:129;;8391:7;;8413:48;;8450:10;8413:36;:48::i;15663:111::-;15434:6;;-1:-1:-1;;;;;15434:6:0;15444:10;15434:20;15426:68;;;;-1:-1:-1;;;15426:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15742:24:::1;15748:8;15758:7;15742:5;:24::i;:::-;15663:111:::0;;:::o;15782:89::-;15838:25;15844:10;15856:6;15838:5;:25::i;:::-;15782:89;:::o;14465:332::-;14217:6;;-1:-1:-1;;;;;14217:6:0;14227:10;14217:20;14209:65;;;;;-1:-1:-1;;;14209:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14618:23:0;::::1;14596:111;;;;-1:-1:-1::0;;;14596:111:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14739:6;::::0;14723:34:::1;::::0;-1:-1:-1;;;;;14723:34:0;;::::1;::::0;14739:6:::1;::::0;14723:34:::1;::::0;14739:6:::1;::::0;14723:34:::1;14768:9;:21:::0;;-1:-1:-1;;;;;;14768:21:0::1;-1:-1:-1::0;;;;;14768:21:0;;;::::1;::::0;;;::::1;::::0;;14465:332::o;14805:218::-;14888:9;;-1:-1:-1;;;;;14888:9:0;14874:10;:23;14866:70;;;;-1:-1:-1;;;14866:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14976:9;;14968:6;;14952:34;;-1:-1:-1;;;;;14976:9:0;;;;14968:6;;;;14952:34;;14976:9;;14952:34;15006:9;;14997:6;:18;;-1:-1:-1;;;;;;14997:18:0;-1:-1:-1;;;;;15006:9:0;;;14997:18;;;;;;14805:218::o;15171:128::-;14217:6;;15235:4;;-1:-1:-1;;;;;14217:6:0;14227:10;14217:20;14209:65;;;;;-1:-1:-1;;;14209:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15252:6:0::1;:15:::0;;-1:-1:-1;;;;;15252:15:0;::::1;-1:-1:-1::0;;;;;;15252:15:0;;::::1;;::::0;;;15171:128;;;:::o;6916:177::-;-1:-1:-1;;;;;7067:18:0;7035:7;7067:18;;;;;;;;;;;;6916:177::o;15879:115::-;15958:28;15968:8;15978:7;15958:9;:28::i;13220:120::-;-1:-1:-1;;;;;13308:14:0;;13281:7;13308:14;;;:7;:14;;;;;:24;;:22;:24::i;:::-;13301:31;13220:120;-1:-1:-1;;13220:120:0:o;6613:87::-;6685:7;6678:14;;;;;;;;-1:-1:-1;;6678:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6652:13;;6678:14;;6685:7;;6678:14;;6685:7;6678:14;;;;;;;;;;;;;;;;;;;;;;;;16002:338;16082:27;16112:121;16162:7;16112:121;;;;;;;;;;;;;;;;;:31;16122:8;16132:10;16112:9;:31::i;:::-;:35;:121;:35;:121::i;:::-;16082:151;;16246:51;16255:8;16265:10;16277:19;16246:8;:51::i;:::-;16308:24;16314:8;16324:7;16308:5;:24::i;:::-;16002:338;;;:::o;8510:396::-;8630:4;8652:224;8675:10;8700:7;8722:143;8777:15;8722:143;;;;;;;;;;;;;;;;;8734:10;8722:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8722:32:0;;;;;;;;;;;:143;:36;:143::i;7101:214::-;7223:4;7245:40;7255:10;7267:9;7278:6;7245:9;:40::i;12253:959::-;12498:8;12479:15;:27;;12471:64;;;;;-1:-1:-1;;;12471:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12731:14:0;;12548:18;12731:14;;;:7;:14;;;;;11619:66;;12656:5;;12680:7;;12706:6;;12731:24;;:22;:24::i;:::-;12593:204;;;;;;;;;;;-1:-1:-1;;;;;12593:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12569:239;;;;;;12894:16;;-1:-1:-1;;;12861:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12837:97;;;;;;;;;-1:-1:-1;12964:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12569:239;;-1:-1:-1;12837:97:0;;12964:25;;;;;;;-1:-1:-1;;12964:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12964:25:0;;-1:-1:-1;;12964:25:0;;;-1:-1:-1;;;;;;;13022:20:0;;;;;;:39;;;13056:5;-1:-1:-1;;;;;13046:15:0;:6;-1:-1:-1;;;;;13046:15:0;;13022:39;13000:122;;;;-1:-1:-1;;;13000:122:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13135:14:0;;;;;;:7;:14;;;;;:26;;:24;:26::i;:::-;13172:32;13181:5;13188:7;13197:6;13172:8;:32::i;:::-;12253:959;;;;;;;;;;:::o;7323:201::-;-1:-1:-1;;;;;7489:18:0;;;7457:7;7489:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7323:201::o;15307:79::-;15372:6;;-1:-1:-1;;;;;15372:6:0;15307:79;:::o;10399:380::-;-1:-1:-1;;;;;10535:19:0;;10527:68;;;;-1:-1:-1;;;10527:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10614:21:0;;10606:68;;;;-1:-1:-1;;;10606:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10687:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10739:32;;;;;;;;;;;;;;;;;10399:380;;;:::o;8914:610::-;-1:-1:-1;;;;;9054:20:0;;9046:70;;;;-1:-1:-1;;;9046:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9135:23:0;;9127:71;;;;-1:-1:-1;;;9127:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9211:47;9232:6;9240:9;9251:6;9211:20;:47::i;:::-;9291:108;9327:6;9291:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9291:17:0;;:9;:17;;;;;;;;;;;;:108;:21;:108::i;:::-;-1:-1:-1;;;;;9271:17:0;;;:9;:17;;;;;;;;;;;:128;;;;9433:20;;;;;;;:32;;9458:6;9433:24;:32::i;:::-;-1:-1:-1;;;;;9410:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;9481:35;;;;;;;9410:20;;9481:35;;;;;;;;;;;;;8914:610;;;:::o;663:226::-;783:7;819:12;811:6;;;;803:29;;;;-1:-1:-1;;;803:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;855:5:0;;;663:226::o;143:181::-;201:7;233:5;;;257:6;;;;249:46;;;;;-1:-1:-1;;;249:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;315:1;143:181;-1:-1:-1;;;143:181:0:o;9532:396::-;-1:-1:-1;;;;;9619:22:0;;9611:66;;;;;-1:-1:-1;;;9611:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9688:55;9717:4;9724:8;9734;9688:20;:55::i;:::-;9769:12;;:26;;9786:8;9769:16;:26::i;:::-;9754:12;:41;-1:-1:-1;;;;;9828:19:0;;:9;:19;;;;;;;;;;;:33;;9852:8;9828:23;:33::i;:::-;-1:-1:-1;;;;;9806:19:0;;:9;:19;;;;;;;;;;;;:55;;;;9877:43;;;;;;;9806:19;;9894:4;;9877:43;;;;;;;;;;9532:396;;:::o;9936:455::-;-1:-1:-1;;;;;10020:21:0;;10012:67;;;;-1:-1:-1;;;10012:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10092:49;10113:7;10130:1;10134:6;10092:20;:49::i;:::-;10175:105;10212:6;10175:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10175:18:0;;:9;:18;;;;;;;;;;;;:105;:22;:105::i;:::-;-1:-1:-1;;;;;10154:18:0;;:9;:18;;;;;;;;;;:126;10306:12;;:24;;10323:6;10306:16;:24::i;:::-;10291:12;:39;10346:37;;;;;;;;10372:1;;-1:-1:-1;;;;;10346:37:0;;;;;;;;;;;;9936:455;;:::o;4579:114::-;4671:14;;4579:114::o;4701:91::-;4765:19;;4783:1;4765:19;;;4701:91::o;519:136::-;577:7;604:43;608:1;611;604:43;;;;;;;;;;;;;;;;;:3;:43::i

Swarm Source

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