ETH Price: $3,098.76 (-0.40%)
Gas: 2 Gwei

Token

Flash Token (FLASH)
 

Overview

Max Total Supply

18,760,114.938592846415611284 FLASH

Holders

2,023 ( -0.047%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 FLASH

Value
$0.00
0x66b1ddfde750fbf68d81cedb4417e5359d3a79d8
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Flash Token contract has migrated to 0x20398ad62bb2d930646d45a6d4292baa0b860c1f.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
FlashToken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-12-22
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;

// A library for performing overflow-safe math, courtesy of DappHub: https://github.com/dapphub/ds-math/blob/d0ef6d6a5f/src/math.sol
// Modified to include only the essentials
library SafeMath {
    function add(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x + y) >= x, "MATH:ADD_OVERFLOW");
    }

    function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x - y) <= x, "MATH:SUB_UNDERFLOW");
    }
}


interface IERC20 {
    function totalSupply() external view returns (uint256);

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

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

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

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

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

interface IFlashMinter {
    function executeOnFlashMint(bytes calldata data) external;
}

// Lightweight token modelled after UNI-LP:
// https://github.com/Uniswap/uniswap-v2-core/blob/v1.0.1/contracts/UniswapV2ERC20.sol
// Adds:
//   - An exposed `mint()` with minting role
//   - An exposed `burn()`
//   - ERC-3009 (`transferWithAuthorization()`)
//   - flashMint() - allows to flashMint an arbitrary amount of FLASH, with the
//     condition that it is burned before the end of the transaction.
contract FlashToken is IERC20 {
    using SafeMath for uint256;

    // bytes32 private constant EIP712DOMAIN_HASH =
    // keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)")
    bytes32 private constant EIP712DOMAIN_HASH = 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f;

    // bytes32 private constant NAME_HASH = keccak256("FLASH")
    bytes32 private constant NAME_HASH = 0x345b72c36b14f1cee01efb8ac4b299dc7b8d873e28b4796034548a3d371a4d2f;

    // bytes32 private constant VERSION_HASH = keccak256("1")
    bytes32 private constant VERSION_HASH = 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6;

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

    // bytes32 public constant TRANSFER_WITH_AUTHORIZATION_TYPEHASH =
    // keccak256("TransferWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)");
    bytes32 public constant TRANSFER_WITH_AUTHORIZATION_TYPEHASH = 0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267;

    string public constant name = "Flash Token";
    string public constant symbol = "FLASH";
    uint8 public constant decimals = 18;

    uint256 public override totalSupply;
    uint256 public flashSupply;

    mapping(address => bool) public minters;

    mapping(address => uint256) public override balanceOf;
    mapping(address => mapping(address => uint256)) public override allowance;

    // ERC-2612, ERC-3009 state
    mapping(address => uint256) public nonces;
    mapping(address => mapping(bytes32 => bool)) public authorizationState;

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event AuthorizationUsed(address indexed authorizer, bytes32 indexed nonce);

    modifier onlyMinter {
        require(minters[msg.sender] == true, "FlashToken:: NOT_MINTER");
        _;
    }

    constructor(address flashProtocol, address flashClaim) public {
        minters[flashProtocol] = true;
        minters[flashClaim] = true;
    }

    function _validateSignedData(
        address signer,
        bytes32 encodeData,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) internal view {
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", getDomainSeparator(), encodeData));
        address recoveredAddress = ecrecover(digest, v, r, s);
        // Explicitly disallow authorizations for address(0) as ecrecover returns address(0) on malformed messages
        require(recoveredAddress != address(0) && recoveredAddress == signer, "FlashToken:: INVALID_SIGNATURE");
    }

    function _mint(address to, uint256 value) internal {
        totalSupply = totalSupply.add(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint256 value) internal {
        // Balance is implicitly checked with SafeMath's underflow protection
        balanceOf[from] = balanceOf[from].sub(value);
        totalSupply = totalSupply.sub(value);
        emit Transfer(from, address(0), value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) private {
        require(to != address(this) && to != address(0), "FlashToken:: RECEIVER_IS_TOKEN_OR_ZERO");

        // Balance is implicitly checked with SafeMath's underflow protection
        balanceOf[from] = balanceOf[from].sub(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(from, to, value);
    }

    function getChainId() public pure returns (uint256 chainId) {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            chainId := chainid()
        }
    }

    function getDomainSeparator() public view returns (bytes32) {
        return keccak256(abi.encode(EIP712DOMAIN_HASH, NAME_HASH, VERSION_HASH, getChainId(), address(this)));
    }

    function mint(address to, uint256 value) external onlyMinter returns (bool) {
        _mint(to, value);
        return true;
    }

    function burn(uint256 value) external returns (bool) {
        _burn(msg.sender, value);
        return true;
    }

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

    function transfer(address to, uint256 value) external override returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external override returns (bool) {
        uint256 fromAllowance = allowance[from][msg.sender];
        if (fromAllowance != uint256(-1)) {
            // Allowance is implicitly checked with SafeMath's underflow protection
            allowance[from][msg.sender] = fromAllowance.sub(value);
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external {
        require(deadline >= block.timestamp, "FlashToken:: AUTH_EXPIRED");

        bytes32 encodeData = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner], deadline));
        nonces[owner] = nonces[owner].add(1);
        _validateSignedData(owner, encodeData, v, r, s);

        _approve(owner, spender, value);
    }

    function transferWithAuthorization(
        address from,
        address to,
        uint256 value,
        uint256 validAfter,
        uint256 validBefore,
        bytes32 nonce,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external {
        require(block.timestamp > validAfter, "FlashToken:: AUTH_NOT_YET_VALID");
        require(block.timestamp < validBefore, "FlashToken:: AUTH_EXPIRED");
        require(!authorizationState[from][nonce], "FlashToken:: AUTH_ALREADY_USED");

        bytes32 encodeData = keccak256(abi.encode(TRANSFER_WITH_AUTHORIZATION_TYPEHASH, from, to, value, validAfter, validBefore, nonce));
        _validateSignedData(from, encodeData, v, r, s);

        authorizationState[from][nonce] = true;
        emit AuthorizationUsed(from, nonce);

        _transfer(from, to, value);
    }

    function flashMint(uint256 value, bytes calldata data) external {
        flashSupply = flashSupply.add(value);
        require(flashSupply <= type(uint112).max, "FlashToken:: SUPPLY_LIMIT_EXCEED");
        balanceOf[msg.sender] = balanceOf[msg.sender].add(value);
        emit Transfer(address(0), msg.sender, value);

        IFlashMinter(msg.sender).executeOnFlashMint(data);

        require(balanceOf[msg.sender] >= value, "FlashToken:: TRANSFER_EXCEED_BALANCE");
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(value);
        flashSupply = flashSupply.sub(value);
        emit Transfer(msg.sender, address(0), value);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"flashProtocol","type":"address"},{"internalType":"address","name":"flashClaim","type":"address"}],"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":"authorizer","type":"address"},{"indexed":true,"internalType":"bytes32","name":"nonce","type":"bytes32"}],"name":"AuthorizationUsed","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":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_WITH_AUTHORIZATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"authorizationState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"flashMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flashSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getDomainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","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":"value","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":"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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"validAfter","type":"uint256"},{"internalType":"uint256","name":"validBefore","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"transferWithAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516112753803806112758339818101604052604081101561003357600080fd5b5080516020918201516001600160a01b039182166000908152600290935260408084208054600160ff199182168117909255939092168452832080549092161790556111f090819061008590396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063d505accf1161007c578063d505accf146103d4578063dd62ed3e14610425578063e3ee160e14610453578063e94a0102146104b2578063ed24911d146104de578063f46eccc4146104e657610142565b806370a082311461034c5780637ecebe001461037257806395d89b4114610398578063a0cc6a68146103a0578063a9059cbb146103a857610142565b8063313ce5671161010a578063313ce5671461025c5780633408e4701461027a57806340c10f191461028257806342966c68146102ae578063522c8067146102cb578063582daafe1461034457610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e57806330adf81f14610254575b600080fd5b61014f61050c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b038135169060200135610533565b604080519115158252519081900360200190f35b61020c61054a565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b03813581169160208101359091169060400135610550565b61020c6105c2565b6102646105e6565b6040805160ff9092168252519081900360200190f35b61020c6105eb565b6101f06004803603604081101561029857600080fd5b506001600160a01b0381351690602001356105ef565b6101f0600480360360208110156102c457600080fd5b5035610662565b610342600480360360408110156102e157600080fd5b8135919081019060408101602082013564010000000081111561030357600080fd5b82018360208201111561031557600080fd5b8035906020019184600183028401116401000000008311171561033757600080fd5b509092509050610676565b005b61020c610875565b61020c6004803603602081101561036257600080fd5b50356001600160a01b031661087b565b61020c6004803603602081101561038857600080fd5b50356001600160a01b031661088d565b61014f61089f565b61020c6108c0565b6101f0600480360360408110156103be57600080fd5b506001600160a01b0381351690602001356108e4565b610342600480360360e08110156103ea57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356108f1565b61020c6004803603604081101561043b57600080fd5b506001600160a01b0381358116916020013516610a12565b610342600480360361012081101561046a57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135610a2f565b6101f0600480360360408110156104c857600080fd5b506001600160a01b038135169060200135610c3f565b61020c610c5f565b6101f0600480360360208110156104fc57600080fd5b50356001600160a01b0316610d1d565b6040518060400160405280600b81526020016a233630b9b4102a37b5b2b760a91b81525081565b6000610540338484610d32565b5060015b92915050565b60005481565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146105ac576105878184610d94565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6105b7858585610de1565b506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b4690565b3360009081526002602052604081205460ff161515600114610658576040805162461bcd60e51b815260206004820152601760248201527f466c617368546f6b656e3a3a204e4f545f4d494e544552000000000000000000604482015290519081900360640190fd5b6105408383610ed9565b600061066e3383610f51565b506001919050565b6001546106839084610fd1565b60018190556dffffffffffffffffffffffffffff10156106ea576040805162461bcd60e51b815260206004820181905260248201527f466c617368546f6b656e3a3a20535550504c595f4c494d49545f455843454544604482015290519081900360640190fd5b336000908152600360205260409020546107049084610fd1565b33600081815260036020908152604080832094909455835187815293519293919260008051602061119b8339815191529281900390910190a36040516319f5fdd760e01b81526020600482019081526024820183905233916319f5fdd79185918591908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505033600090815260036020526040902054851115915061081090505760405162461bcd60e51b81526004018080602001828103825260248152602001806111776024913960400191505060405180910390fd5b3360009081526003602052604090205461082a9084610d94565b336000908152600360205260409020556001546108479084610d94565b600155604080518481529051600091339160008051602061119b8339815191529181900360200190a3505050565b60015481565b60036020526000908152604090205481565b60056020526000908152604090205481565b6040518060400160405280600581526020016408c9882a6960db1b81525081565b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b6000610540338484610de1565b42841015610942576040805162461bcd60e51b8152602060048201526019602482015278119b185cda151bdad95b8e8e881055551217d1561412549151603a1b604482015290519081900360640190fd5b6001600160a01b0380881660008181526005602081815260408084205481517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808301879052968d166060880152608087018c905260a0870181905260c08088018c90528251808903909101815260e0909701909152855195820195909520939092529052906109d7906001610fd1565b6001600160a01b0389166000908152600560205260409020556109fd888286868661101d565b610a08888888610d32565b5050505050505050565b600460209081526000928352604080842090915290825290205481565b854211610a83576040805162461bcd60e51b815260206004820152601f60248201527f466c617368546f6b656e3a3a20415554485f4e4f545f5945545f56414c494400604482015290519081900360640190fd5b844210610ad3576040805162461bcd60e51b8152602060048201526019602482015278119b185cda151bdad95b8e8e881055551217d1561412549151603a1b604482015290519081900360640190fd5b6001600160a01b038916600090815260066020908152604080832087845290915290205460ff1615610b4c576040805162461bcd60e51b815260206004820152601e60248201527f466c617368546f6b656e3a3a20415554485f414c52454144595f555345440000604482015290519081900360640190fd5b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22676020808301919091526001600160a01b03808d16838501528b166060830152608082018a905260a0820189905260c0820188905260e0808301889052835180840390910181526101009092019092528051910120610bd28a8286868661101d565b6001600160a01b038a166000818152600660209081526040808320898452909152808220805460ff19166001179055518792917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a3610c338a8a8a610de1565b50505050505050505050565b600660209081526000928352604080842090915290825290205460ff1681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f345b72c36b14f1cee01efb8ac4b299dc7b8d873e28b4796034548a3d371a4d2f7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6610ccc6105eb565b3060405160200180868152602001858152602001848152602001838152602001826001600160a01b031681526020019550505050505060405160208183030381529060405280519060200120905090565b60026020526000908152604090205460ff1681565b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b80820382811115610544576040805162461bcd60e51b81526020600482015260126024820152714d4154483a5355425f554e444552464c4f5760701b604482015290519081900360640190fd5b6001600160a01b0382163014801590610e0257506001600160a01b03821615155b610e3d5760405162461bcd60e51b81526004018080602001828103825260268152602001806111516026913960400191505060405180910390fd5b6001600160a01b038316600090815260036020526040902054610e609082610d94565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610e8f9082610fd1565b6001600160a01b03808416600081815260036020908152604091829020949094558051858152905191939287169260008051602061119b83398151915292918290030190a3505050565b600054610ee69082610fd1565b60009081556001600160a01b038316815260036020526040902054610f0b9082610fd1565b6001600160a01b038316600081815260036020908152604080832094909455835185815293519293919260008051602061119b8339815191529281900390910190a35050565b6001600160a01b038216600090815260036020526040902054610f749082610d94565b6001600160a01b03831660009081526003602052604081209190915554610f9b9082610d94565b60009081556040805183815290516001600160a01b0385169160008051602061119b833981519152919081900360200190a35050565b80820182811015610544576040805162461bcd60e51b81526020600482015260116024820152704d4154483a4144445f4f564552464c4f5760781b604482015290519081900360640190fd5b6000611027610c5f565b85604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156110c0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906110f65750866001600160a01b0316816001600160a01b0316145b611147576040805162461bcd60e51b815260206004820152601e60248201527f466c617368546f6b656e3a3a20494e56414c49445f5349474e41545552450000604482015290519081900360640190fd5b5050505050505056fe466c617368546f6b656e3a3a2052454345495645525f49535f544f4b454e5f4f525f5a45524f466c617368546f6b656e3a3a205452414e534645525f4558434545445f42414c414e4345ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204d8a9375ce9500e4c7d00d52f89a8f91865ac5f1ab3ee7fde3bd555bd069f59e64736f6c634300060c0033000000000000000000000000ec02f813404656e2a2aed5baeed41d785324e8d00000000000000000000000004a15d47087433f44d931a0dcc4161ea6d98633a8

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063d505accf1161007c578063d505accf146103d4578063dd62ed3e14610425578063e3ee160e14610453578063e94a0102146104b2578063ed24911d146104de578063f46eccc4146104e657610142565b806370a082311461034c5780637ecebe001461037257806395d89b4114610398578063a0cc6a68146103a0578063a9059cbb146103a857610142565b8063313ce5671161010a578063313ce5671461025c5780633408e4701461027a57806340c10f191461028257806342966c68146102ae578063522c8067146102cb578063582daafe1461034457610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e57806330adf81f14610254575b600080fd5b61014f61050c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b038135169060200135610533565b604080519115158252519081900360200190f35b61020c61054a565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b03813581169160208101359091169060400135610550565b61020c6105c2565b6102646105e6565b6040805160ff9092168252519081900360200190f35b61020c6105eb565b6101f06004803603604081101561029857600080fd5b506001600160a01b0381351690602001356105ef565b6101f0600480360360208110156102c457600080fd5b5035610662565b610342600480360360408110156102e157600080fd5b8135919081019060408101602082013564010000000081111561030357600080fd5b82018360208201111561031557600080fd5b8035906020019184600183028401116401000000008311171561033757600080fd5b509092509050610676565b005b61020c610875565b61020c6004803603602081101561036257600080fd5b50356001600160a01b031661087b565b61020c6004803603602081101561038857600080fd5b50356001600160a01b031661088d565b61014f61089f565b61020c6108c0565b6101f0600480360360408110156103be57600080fd5b506001600160a01b0381351690602001356108e4565b610342600480360360e08110156103ea57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356108f1565b61020c6004803603604081101561043b57600080fd5b506001600160a01b0381358116916020013516610a12565b610342600480360361012081101561046a57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135610a2f565b6101f0600480360360408110156104c857600080fd5b506001600160a01b038135169060200135610c3f565b61020c610c5f565b6101f0600480360360208110156104fc57600080fd5b50356001600160a01b0316610d1d565b6040518060400160405280600b81526020016a233630b9b4102a37b5b2b760a91b81525081565b6000610540338484610d32565b5060015b92915050565b60005481565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146105ac576105878184610d94565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6105b7858585610de1565b506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b4690565b3360009081526002602052604081205460ff161515600114610658576040805162461bcd60e51b815260206004820152601760248201527f466c617368546f6b656e3a3a204e4f545f4d494e544552000000000000000000604482015290519081900360640190fd5b6105408383610ed9565b600061066e3383610f51565b506001919050565b6001546106839084610fd1565b60018190556dffffffffffffffffffffffffffff10156106ea576040805162461bcd60e51b815260206004820181905260248201527f466c617368546f6b656e3a3a20535550504c595f4c494d49545f455843454544604482015290519081900360640190fd5b336000908152600360205260409020546107049084610fd1565b33600081815260036020908152604080832094909455835187815293519293919260008051602061119b8339815191529281900390910190a36040516319f5fdd760e01b81526020600482019081526024820183905233916319f5fdd79185918591908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505033600090815260036020526040902054851115915061081090505760405162461bcd60e51b81526004018080602001828103825260248152602001806111776024913960400191505060405180910390fd5b3360009081526003602052604090205461082a9084610d94565b336000908152600360205260409020556001546108479084610d94565b600155604080518481529051600091339160008051602061119b8339815191529181900360200190a3505050565b60015481565b60036020526000908152604090205481565b60056020526000908152604090205481565b6040518060400160405280600581526020016408c9882a6960db1b81525081565b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b6000610540338484610de1565b42841015610942576040805162461bcd60e51b8152602060048201526019602482015278119b185cda151bdad95b8e8e881055551217d1561412549151603a1b604482015290519081900360640190fd5b6001600160a01b0380881660008181526005602081815260408084205481517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808301879052968d166060880152608087018c905260a0870181905260c08088018c90528251808903909101815260e0909701909152855195820195909520939092529052906109d7906001610fd1565b6001600160a01b0389166000908152600560205260409020556109fd888286868661101d565b610a08888888610d32565b5050505050505050565b600460209081526000928352604080842090915290825290205481565b854211610a83576040805162461bcd60e51b815260206004820152601f60248201527f466c617368546f6b656e3a3a20415554485f4e4f545f5945545f56414c494400604482015290519081900360640190fd5b844210610ad3576040805162461bcd60e51b8152602060048201526019602482015278119b185cda151bdad95b8e8e881055551217d1561412549151603a1b604482015290519081900360640190fd5b6001600160a01b038916600090815260066020908152604080832087845290915290205460ff1615610b4c576040805162461bcd60e51b815260206004820152601e60248201527f466c617368546f6b656e3a3a20415554485f414c52454144595f555345440000604482015290519081900360640190fd5b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22676020808301919091526001600160a01b03808d16838501528b166060830152608082018a905260a0820189905260c0820188905260e0808301889052835180840390910181526101009092019092528051910120610bd28a8286868661101d565b6001600160a01b038a166000818152600660209081526040808320898452909152808220805460ff19166001179055518792917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a3610c338a8a8a610de1565b50505050505050505050565b600660209081526000928352604080842090915290825290205460ff1681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f345b72c36b14f1cee01efb8ac4b299dc7b8d873e28b4796034548a3d371a4d2f7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6610ccc6105eb565b3060405160200180868152602001858152602001848152602001838152602001826001600160a01b031681526020019550505050505060405160208183030381529060405280519060200120905090565b60026020526000908152604090205460ff1681565b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b80820382811115610544576040805162461bcd60e51b81526020600482015260126024820152714d4154483a5355425f554e444552464c4f5760701b604482015290519081900360640190fd5b6001600160a01b0382163014801590610e0257506001600160a01b03821615155b610e3d5760405162461bcd60e51b81526004018080602001828103825260268152602001806111516026913960400191505060405180910390fd5b6001600160a01b038316600090815260036020526040902054610e609082610d94565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610e8f9082610fd1565b6001600160a01b03808416600081815260036020908152604091829020949094558051858152905191939287169260008051602061119b83398151915292918290030190a3505050565b600054610ee69082610fd1565b60009081556001600160a01b038316815260036020526040902054610f0b9082610fd1565b6001600160a01b038316600081815260036020908152604080832094909455835185815293519293919260008051602061119b8339815191529281900390910190a35050565b6001600160a01b038216600090815260036020526040902054610f749082610d94565b6001600160a01b03831660009081526003602052604081209190915554610f9b9082610d94565b60009081556040805183815290516001600160a01b0385169160008051602061119b833981519152919081900360200190a35050565b80820182811015610544576040805162461bcd60e51b81526020600482015260116024820152704d4154483a4144445f4f564552464c4f5760781b604482015290519081900360640190fd5b6000611027610c5f565b85604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156110c0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906110f65750866001600160a01b0316816001600160a01b0316145b611147576040805162461bcd60e51b815260206004820152601e60248201527f466c617368546f6b656e3a3a20494e56414c49445f5349474e41545552450000604482015290519081900360640190fd5b5050505050505056fe466c617368546f6b656e3a3a2052454345495645525f49535f544f4b454e5f4f525f5a45524f466c617368546f6b656e3a3a205452414e534645525f4558434545445f42414c414e4345ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204d8a9375ce9500e4c7d00d52f89a8f91865ac5f1ab3ee7fde3bd555bd069f59e64736f6c634300060c0033

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

000000000000000000000000ec02f813404656e2a2aed5baeed41d785324e8d00000000000000000000000004a15d47087433f44d931a0dcc4161ea6d98633a8

-----Decoded View---------------
Arg [0] : flashProtocol (address): 0xEc02f813404656E2A2AEd5BaeEd41D785324E8D0
Arg [1] : flashClaim (address): 0x4a15d47087433F44D931A0dcC4161EA6d98633a8

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ec02f813404656e2a2aed5baeed41d785324e8d0
Arg [1] : 0000000000000000000000004a15d47087433f44d931a0dcc4161ea6d98633a8


Deployed Bytecode Sourcemap

1620:7679:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2944:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6431:159;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6431:159:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3084:35;;;:::i;:::-;;;;;;;;;;;;;;;;6757:469;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6757:469:0;;;;;;;;;;;;;;;;;:::i;2478:108::-;;;:::i;3040:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5778:190;;;:::i;6164:133::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6164:133:0;;;;;;;;:::i;6305:118::-;;;;;;;;;;;;;;;;-1:-1:-1;6305:118:0;;:::i;8644:652::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8644:652:0;;-1:-1:-1;8644:652:0;-1:-1:-1;8644:652:0;:::i;:::-;;3126:26;;;:::i;3209:53::-;;;;;;;;;;;;;;;;-1:-1:-1;3209:53:0;-1:-1:-1;;;;;3209:53:0;;:::i;3384:41::-;;;;;;;;;;;;;;;;-1:-1:-1;3384:41:0;-1:-1:-1;;;;;3384:41:0;;:::i;2994:39::-;;;:::i;2806:129::-;;;:::i;6598:151::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6598:151:0;;;;;;;;:::i;7234:544::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7234:544:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3269:73::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3269:73:0;;;;;;;;;;:::i;7786:850::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7786:850:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3432:70::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3432:70:0;;;;;;;;:::i;5976:180::-;;;:::i;3161:39::-;;;;;;;;;;;;;;;;-1:-1:-1;3161:39:0;-1:-1:-1;;;;;3161:39:0;;:::i;2944:43::-;;;;;;;;;;;;;;-1:-1:-1;;;2944:43:0;;;;:::o;6431:159::-;6507:4;6524:36;6533:10;6545:7;6554:5;6524:8;:36::i;:::-;-1:-1:-1;6578:4:0;6431:159;;;;;:::o;3084:35::-;;;;:::o;6757:469::-;-1:-1:-1;;;;;6922:15:0;;6881:4;6922:15;;;:9;:15;;;;;;;;6938:10;6922:27;;;;;;;;-1:-1:-1;;6964:28:0;;6960:200;;7124:24;:13;7142:5;7124:17;:24::i;:::-;-1:-1:-1;;;;;7094:15:0;;;;;;:9;:15;;;;;;;;7110:10;7094:27;;;;;;;:54;6960:200;7170:26;7180:4;7186:2;7190:5;7170:9;:26::i;:::-;-1:-1:-1;7214:4:0;;6757:469;-1:-1:-1;;;;6757:469:0:o;2478:108::-;2520:66;2478:108;:::o;3040:35::-;3073:2;3040:35;:::o;5778:190::-;5941:9;;5915:46::o;6164:133::-;3803:10;6234:4;3795:19;;;:7;:19;;;;;;;;:27;;:19;:27;3787:63;;;;;-1:-1:-1;;;3787:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6251:16:::1;6257:2;6261:5;6251;:16::i;6305:118::-:0;6352:4;6369:24;6375:10;6387:5;6369;:24::i;:::-;-1:-1:-1;6411:4:0;6305:118;;;:::o;8644:652::-;8733:11;;:22;;8749:5;8733:15;:22::i;:::-;8719:11;:36;;;8789:17;-1:-1:-1;8774:32:0;8766:77;;;;;-1:-1:-1;;;8766:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8888:10;8878:21;;;;:9;:21;;;;;;:32;;8904:5;8878:25;:32::i;:::-;8864:10;8854:21;;;;:9;:21;;;;;;;;:56;;;;8926:39;;;;;;;8864:10;;8854:21;;-1:-1:-1;;;;;;;;;;;8926:39:0;;;;;;;;;8978:49;;-1:-1:-1;;;8978:49:0;;;;;;;;;;;;;;;8991:10;;8978:43;;9022:4;;;;8978:49;;;;;9022:4;;;;8978:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9058:10:0;9048:21;;;;:9;:21;;;;;;:30;-1:-1:-1;9048:30:0;;-1:-1:-1;9040:79:0;;-1:-1:-1;9040:79:0;;;-1:-1:-1;;;9040:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9164:10;9154:21;;;;:9;:21;;;;;;:32;;9180:5;9154:25;:32::i;:::-;9140:10;9130:21;;;;:9;:21;;;;;:56;9211:11;;:22;;9227:5;9211:15;:22::i;:::-;9197:11;:36;9249:39;;;;;;;;9278:1;;9258:10;;-1:-1:-1;;;;;;;;;;;9249:39:0;;;;;;;;8644:652;;;:::o;3126:26::-;;;;:::o;3209:53::-;;;;;;;;;;;;;:::o;3384:41::-;;;;;;;;;;;;;:::o;2994:39::-;;;;;;;;;;;;;;-1:-1:-1;;;2994:39:0;;;;:::o;2806:129::-;2869:66;2806:129;:::o;6598:151::-;6670:4;6687:32;6697:10;6709:2;6713:5;6687:9;:32::i;7234:544::-;7456:15;7444:8;:27;;7436:65;;;;;-1:-1:-1;;;7436:65:0;;;;;;;;;;;;-1:-1:-1;;;7436:65:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7596:13:0;;;7514:18;7596:13;;;:6;:13;;;;;;;;;7545:75;;2520:66;7545:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7535:86;;;;;;;;;7648:13;;;;;;7535:86;7648:20;;7666:1;7648:17;:20::i;:::-;-1:-1:-1;;;;;7632:13:0;;;;;;:6;:13;;;;;:36;7679:47;7639:5;7706:10;7718:1;7721;7724;7679:19;:47::i;:::-;7739:31;7748:5;7755:7;7764:5;7739:8;:31::i;:::-;7234:544;;;;;;;;:::o;3269:73::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;7786:850::-;8083:10;8065:15;:28;8057:72;;;;;-1:-1:-1;;;8057:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8166:11;8148:15;:29;8140:67;;;;;-1:-1:-1;;;8140:67:0;;;;;;;;;;;;-1:-1:-1;;;8140:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;8227:24:0;;;;;;:18;:24;;;;;;;;:31;;;;;;;;;;;8226:32;8218:75;;;;;-1:-1:-1;;;8218:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8337:97;;;2869:66;8337:97;;;;;;;;-1:-1:-1;;;;;8337:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8327:108;;;;;8446:46;8386:4;8327:108;8484:1;8487;8490;8446:19;:46::i;:::-;-1:-1:-1;;;;;8505:24:0;;;;;;:18;:24;;;;;;;;:31;;;;;;;;;:38;;-1:-1:-1;;8505:38:0;8539:4;8505:38;;;8559:30;8530:5;;8505:24;8559:30;;;8602:26;8612:4;8618:2;8622:5;8602:9;:26::i;:::-;7786:850;;;;;;;;;;:::o;3432:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5976:180::-;6027:7;1894:66;2070;2248;6119:12;:10;:12::i;:::-;6141:4;6064:83;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6064:83:0;;;;;;;;;;;;;;;;;;;;;;;;6054:94;;;;;;6047:101;;5976:180;:::o;3161:39::-;;;;;;;;;;;;;;;:::o;5117:206::-;-1:-1:-1;;;;;5235:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;5284:31;;;;;;;;;;;;;;;;;5117:206;;;:::o;404:135::-;497:5;;;492:16;;;;484:47;;;;;-1:-1:-1;;;484:47:0;;;;;;;;;;;;-1:-1:-1;;;484:47:0;;;;;;;;;;;;;;5331:439;-1:-1:-1;;;;;5452:19:0;;5466:4;5452:19;;;;:39;;-1:-1:-1;;;;;;5475:16:0;;;;5452:39;5444:90;;;;-1:-1:-1;;;5444:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5644:15:0;;;;;;:9;:15;;;;;;:26;;5664:5;5644:19;:26::i;:::-;-1:-1:-1;;;;;5626:15:0;;;;;;;:9;:15;;;;;;:44;;;;5697:13;;;;;;;:24;;5715:5;5697:17;:24::i;:::-;-1:-1:-1;;;;;5681:13:0;;;;;;;:9;:13;;;;;;;;;:40;;;;5737:25;;;;;;;5681:13;;5737:25;;;;-1:-1:-1;;;;;;;;;;;5737:25:0;;;;;;;;5331:439;;;:::o;4606:204::-;4682:11;;:22;;4698:5;4682:15;:22::i;:::-;4668:11;:36;;;-1:-1:-1;;;;;4731:13:0;;;;:9;:13;;;;;;:24;;4749:5;4731:17;:24::i;:::-;-1:-1:-1;;;;;4715:13:0;;;;;;:9;:13;;;;;;;;:40;;;;4771:31;;;;;;;4715:13;;;;-1:-1:-1;;;;;;;;;;;4771:31:0;;;;;;;;;4606:204;;:::o;4818:291::-;-1:-1:-1;;;;;4979:15:0;;;;;;:9;:15;;;;;;:26;;4999:5;4979:19;:26::i;:::-;-1:-1:-1;;;;;4961:15:0;;;;;;:9;:15;;;;;:44;;;;5030:11;:22;;5046:5;5030:15;:22::i;:::-;5016:11;:36;;;5068:33;;;;;;;;-1:-1:-1;;;;;5068:33:0;;;-1:-1:-1;;;;;;;;;;;5068:33:0;;;;;;;;;4818:291;;:::o;262:134::-;355:5;;;350:16;;;;342:46;;;;;-1:-1:-1;;;342:46:0;;;;;;;;;;;;-1:-1:-1;;;342:46:0;;;;;;;;;;;;;;4033:565;4206:14;4262:20;:18;:20::i;:::-;4284:10;4233:62;;;;;;-1:-1:-1;;;4233:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4223:73;;;;;;4206:90;;4307:24;4334:26;4344:6;4352:1;4355;4358;4334:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4334:26:0;;-1:-1:-1;;4334:26:0;;;-1:-1:-1;;;;;;;4495:30:0;;;;;;:60;;;4549:6;-1:-1:-1;;;;;4529:26:0;:16;-1:-1:-1;;;;;4529:26:0;;4495:60;4487:103;;;;;-1:-1:-1;;;4487:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4033:565;;;;;;;:::o

Swarm Source

ipfs://4d8a9375ce9500e4c7d00d52f89a8f91865ac5f1ab3ee7fde3bd555bd069f59e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.