ERC-20
Overview
Max Total Supply
1,000,000,000 RED
Holders
2
Market
Price
$0.00 @ 0.000000 S
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
999,999,999.999999999999998288 REDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x7A3E8C69...47505900F The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Token
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2025-03-26 */ // SPDX-License-Identifier: MIT /** * Token Launched on Sonicjumper Launchpad. * Most Secured Launchpad free of bots, snipers and rugs with rewards for creators. * * web: https://sonicjumper.fun/ * tg: https://t.me/SonicJumper_Portal * x: https://x.com/Sonicjumper_fun */ pragma solidity ^0.8.26; pragma abicoder v2; library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd( uint256 a, uint256 b ) internal pure returns (bool, uint256) { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub( uint256 a, uint256 b ) internal pure returns (bool, uint256) { if (b > a) return (false, 0); return (true, a - b); } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul( uint256 a, uint256 b ) internal pure returns (bool, uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv( uint256 a, uint256 b ) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a / b); } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod( uint256 a, uint256 b ) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a % b); } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) return 0; uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: division by zero"); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: modulo by zero"); return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); return a - b; } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryDiv}. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); return a % b; } } contract Token { bytes32 private constant ROLE_DEPLOYER = keccak256(abi.encodePacked("DEPLOYER")); bytes32 private constant ROLE_SOCIALS = keccak256(abi.encodePacked("SOCIALS")); mapping(address => bytes32) addressRoles; using SafeMath for uint256; address public tokenDeployer; address public locker; address public creator; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private _decimals; address private pair; uint256 migrateBlock; event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); struct TokenCreatedParams { string name; string symbol; address tokenDeployer; string imageURI; string website; string twitter; string telegram; string description; address creator; uint256 initialSupply; } event TokenCreated(TokenCreatedParams params); constructor( string memory _n, string memory _s, address payable _tokenDeployer, address _creator, uint256 _initialSupply ) { _name = _n; _symbol = _s; _decimals = 18; tokenDeployer = _tokenDeployer; addressRoles[_tokenDeployer] = ROLE_DEPLOYER; addressRoles[_creator] = ROLE_SOCIALS; creator = _creator; _approve(_creator, _tokenDeployer, type(uint256).max); _mint(msg.sender, _initialSupply); } function name() public view virtual returns (string memory) { return _name; } function symbol() public view virtual returns (string memory) { return _symbol; } function decimals() public view virtual returns (uint8) { return _decimals; } function totalSupply() public view virtual returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual returns (uint256) { return _balances[account]; } function allowance( address owner, address spender ) public view virtual returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public virtual returns (bool) { _approve(msg.sender, spender, amount); 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 isPresaleStep() public view virtual returns (bool) { return addressRoles[tokenDeployer] == ROLE_DEPLOYER; } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _balances[account] = _balances[account].sub( amount, "ERC20: burn amount exceeds balance" ); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } 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 _setupDecimals(uint8 decimals_) internal virtual { _decimals = decimals_; } function renounceDeployerOwnership() external { require(addressRoles[msg.sender] == ROLE_DEPLOYER, "Bad role"); addressRoles[msg.sender] = bytes32(0); } function setLocker(address _locker) external { require(addressRoles[msg.sender] == ROLE_DEPLOYER, "Bad role"); locker = _locker; } function setPair(address _newPair) external { require(addressRoles[msg.sender] == ROLE_DEPLOYER, "Bad role"); pair = _newPair; } function setMigrateBlock(uint256 _block) external { require(addressRoles[msg.sender] == ROLE_DEPLOYER, "Bad role"); migrateBlock = _block; } function transfer(address recipient, uint256 amount) public returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual returns (bool) { _transfer(sender, recipient, amount); _approve( sender, msg.sender, _allowances[sender][msg.sender].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); 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"); if (addressRoles[tokenDeployer] != bytes32(0)) { require( sender == address(tokenDeployer) || recipient == address(tokenDeployer) || recipient == address(0) || recipient == address(0xdead) || sender == locker || recipient == locker, "ERC20: transfer not allowed" ); } _beforeTransfer(sender, recipient); _balances[sender] = _balances[sender].sub( amount, "ERC20: transfer amount exceeds balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } function _beforeTransfer(address sender, address recipient) private view { _checkMigrateBlock(block.number, migrateBlock, sender, recipient); } function _checkMigrateBlock( uint256 number, uint256 mb, address sender, address recipient ) private view { if (sender != tokenDeployer && recipient != tokenDeployer) { require(number > mb, "Nope"); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"_n","type":"string"},{"internalType":"string","name":"_s","type":"string"},{"internalType":"address payable","name":"_tokenDeployer","type":"address"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_initialSupply","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":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenDeployer","type":"address"},{"internalType":"string","name":"imageURI","type":"string"},{"internalType":"string","name":"website","type":"string"},{"internalType":"string","name":"twitter","type":"string"},{"internalType":"string","name":"telegram","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"uint256","name":"initialSupply","type":"uint256"}],"indexed":false,"internalType":"struct Token.TokenCreatedParams","name":"params","type":"tuple"}],"name":"TokenCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isPresaleStep","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"locker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceDeployerOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_locker","type":"address"}],"name":"setLocker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_block","type":"uint256"}],"name":"setMigrateBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newPair","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenDeployer","outputs":[{"internalType":"address","name":"","type":"address"}],"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"}]
Contract Creation Code
608060405234801561000f575f80fd5b506040516113d03803806113d083398101604081905261002e91610439565b600761003a8682610552565b5060086100478582610552565b506009805460ff19166012179055600180546001600160a01b038581166001600160a01b0319928316811790935560408051672222a82627aca2a960c11b602080830191909152825180830360080181526028830184528051908201205f9687528682528387205566534f4349414c5360c81b60488301528251602f818403018152604f9092018352815191810191909120928716808652908590529320556003805490911690911790556100fe82845f19610112565b610108338261023a565b505050505061062b565b6001600160a01b0383166101795760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166101da5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610170565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166102905760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610170565b60065461029d908261031e565b6006556001600160a01b0382165f908152600460205260409020546102c2908261031e565b6001600160a01b0383165f818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103129085815260200190565b60405180910390a35050565b5f8061032a838561060c565b90508381101561037c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610170565b90505b92915050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126103a8575f80fd5b81516001600160401b038111156103c1576103c1610385565b604051601f8201601f19908116603f011681016001600160401b03811182821017156103ef576103ef610385565b604052818152838201602001851015610406575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610436575f80fd5b50565b5f805f805f60a0868803121561044d575f80fd5b85516001600160401b03811115610462575f80fd5b61046e88828901610399565b602088015190965090506001600160401b0381111561048b575f80fd5b61049788828901610399565b94505060408601516104a881610422565b60608701519093506104b981610422565b80925050608086015190509295509295909350565b600181811c908216806104e257607f821691505b60208210810361050057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561054d57805f5260205f20601f840160051c8101602085101561052b5750805b601f840160051c820191505b8181101561054a575f8155600101610537565b50505b505050565b81516001600160401b0381111561056b5761056b610385565b61057f8161057984546104ce565b84610506565b6020601f8211600181146105b1575f831561059a5750848201515b5f19600385901b1c1916600184901b17845561054a565b5f84815260208120601f198516915b828110156105e057878501518255602094850194600190920191016105c0565b50848210156105fd57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561037f57634e487b7160e01b5f52601160045260245ffd5b610d98806106385f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c80635e6f9ce4116100a9578063a9059cbb1161006e578063a9059cbb14610266578063cdeb9e3414610279578063d7b96d4e146102ca578063dd62ed3e146102dd578063e54d793914610315575f80fd5b80635e6f9ce4146101fd57806370a08231146102105780638187f5161461023857806395d89b411461024b578063a457c2d714610253575f80fd5b806318160ddd116100ef57806318160ddd1461019d57806323b872dd146101af5780632a2dae0a146101c2578063313ce567146101d557806339509351146101ea575f80fd5b806302d05d3f1461012057806306fdde0314610150578063095ea7b314610165578063171060ec14610188575b5f80fd5b600354610133906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61015861031d565b6040516101479190610b48565b610178610173366004610b98565b6103ad565b6040519015158152602001610147565b61019b610196366004610bc0565b6103c3565b005b6006545b604051908152602001610147565b6101786101bd366004610bd9565b610446565b600154610133906001600160a01b031681565b60095460405160ff9091168152602001610147565b6101786101f8366004610b98565b6104ad565b61019b61020b366004610c13565b6104e2565b6101a161021e366004610bc0565b6001600160a01b03165f9081526004602052604090205490565b61019b610246366004610bc0565b61053f565b6101586105bf565b610178610261366004610b98565b6105ce565b610178610274366004610b98565b61061b565b610178604051672222a82627aca2a960c11b60208201525f9060280160408051601f1981840301815291815281516020928301206001546001600160a01b03165f9081529283905291205414919050565b600254610133906001600160a01b031681565b6101a16102eb366004610c2a565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b61019b610627565b60606007805461032c90610c5b565b80601f016020809104026020016040519081016040528092919081815260200182805461035890610c5b565b80156103a35780601f1061037a576101008083540402835291602001916103a3565b820191905f5260205f20905b81548152906001019060200180831161038657829003601f168201915b5050505050905090565b5f6103b9338484610690565b5060015b92915050565b604051672222a82627aca2a960c11b602082015260280160408051601f198184030181529181528151602092830120335f90815292839052912054146104245760405162461bcd60e51b815260040161041b90610c93565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f6104528484846107b4565b6104a3843361049e85604051806060016040528060288152602001610d16602891396001600160a01b038a165f9081526005602090815260408083203384529091529020549190610a2c565b610690565b5060019392505050565b335f8181526005602090815260408083206001600160a01b038716845290915281205490916103b991859061049e9086610a62565b604051672222a82627aca2a960c11b602082015260280160408051601f198184030181529181528151602092830120335f908152928390529120541461053a5760405162461bcd60e51b815260040161041b90610c93565b600a55565b604051672222a82627aca2a960c11b602082015260280160408051601f198184030181529181528151602092830120335f90815292839052912054146105975760405162461bcd60e51b815260040161041b90610c93565b600980546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60606008805461032c90610c5b565b5f6103b9338461049e85604051806060016040528060258152602001610d3e60259139335f9081526005602090815260408083206001600160a01b038d1684529091529020549190610a2c565b5f6103b93384846107b4565b604051672222a82627aca2a960c11b602082015260280160408051601f198184030181529181528151602092830120335f908152928390529120541461067f5760405162461bcd60e51b815260040161041b90610c93565b335f90815260208190526040812055565b6001600160a01b0383166106f25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161041b565b6001600160a01b0382166107535760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161041b565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166108185760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161041b565b6001600160a01b03821661087a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161041b565b6001546001600160a01b03165f9081526020819052604090205415610965576001546001600160a01b03848116911614806108c257506001546001600160a01b038381169116145b806108d457506001600160a01b038216155b806108e957506001600160a01b03821661dead145b8061090157506002546001600160a01b038481169116145b8061091957506002546001600160a01b038381169116145b6109655760405162461bcd60e51b815260206004820152601b60248201527f45524332303a207472616e73666572206e6f7420616c6c6f7765640000000000604482015260640161041b565b61096f8383610ac7565b6109ab81604051806060016040528060268152602001610cf0602691396001600160a01b0386165f908152600460205260409020549190610a2c565b6001600160a01b038085165f9081526004602052604080822093909355908416815220546109d99082610a62565b6001600160a01b038084165f8181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107a79085815260200190565b5f8184841115610a4f5760405162461bcd60e51b815260040161041b9190610b48565b50610a5a8385610cc9565b949350505050565b5f80610a6e8385610cdc565b905083811015610ac05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161041b565b9392505050565b610ad543600a548484610ad9565b5050565b6001546001600160a01b03838116911614801590610b0557506001546001600160a01b03828116911614155b15610b4257828411610b425760405162461bcd60e51b815260040161041b906020808252600490820152634e6f706560e01b604082015260600190565b50505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610b93575f80fd5b919050565b5f8060408385031215610ba9575f80fd5b610bb283610b7d565b946020939093013593505050565b5f60208284031215610bd0575f80fd5b610ac082610b7d565b5f805f60608486031215610beb575f80fd5b610bf484610b7d565b9250610c0260208501610b7d565b929592945050506040919091013590565b5f60208284031215610c23575f80fd5b5035919050565b5f8060408385031215610c3b575f80fd5b610c4483610b7d565b9150610c5260208401610b7d565b90509250929050565b600181811c90821680610c6f57607f821691505b602082108103610c8d57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526008908201526742616420726f6c6560c01b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103bd576103bd610cb5565b808201808211156103bd576103bd610cb556fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201aa10daf1f5b7f450cbca2e9ee7b1a7dcf0011c058d5787d4b1619ed07f703a864736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000038c91bb9eb61763e01f3b822de09700d5d1ecb880000000000000000000000004673bb013fb9d0d2585003b94b837b25f6dfd57d0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000000000000000000000000000000000000000000b536f6e696320546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005534f4e4943000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061011c575f3560e01c80635e6f9ce4116100a9578063a9059cbb1161006e578063a9059cbb14610266578063cdeb9e3414610279578063d7b96d4e146102ca578063dd62ed3e146102dd578063e54d793914610315575f80fd5b80635e6f9ce4146101fd57806370a08231146102105780638187f5161461023857806395d89b411461024b578063a457c2d714610253575f80fd5b806318160ddd116100ef57806318160ddd1461019d57806323b872dd146101af5780632a2dae0a146101c2578063313ce567146101d557806339509351146101ea575f80fd5b806302d05d3f1461012057806306fdde0314610150578063095ea7b314610165578063171060ec14610188575b5f80fd5b600354610133906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61015861031d565b6040516101479190610b48565b610178610173366004610b98565b6103ad565b6040519015158152602001610147565b61019b610196366004610bc0565b6103c3565b005b6006545b604051908152602001610147565b6101786101bd366004610bd9565b610446565b600154610133906001600160a01b031681565b60095460405160ff9091168152602001610147565b6101786101f8366004610b98565b6104ad565b61019b61020b366004610c13565b6104e2565b6101a161021e366004610bc0565b6001600160a01b03165f9081526004602052604090205490565b61019b610246366004610bc0565b61053f565b6101586105bf565b610178610261366004610b98565b6105ce565b610178610274366004610b98565b61061b565b610178604051672222a82627aca2a960c11b60208201525f9060280160408051601f1981840301815291815281516020928301206001546001600160a01b03165f9081529283905291205414919050565b600254610133906001600160a01b031681565b6101a16102eb366004610c2a565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b61019b610627565b60606007805461032c90610c5b565b80601f016020809104026020016040519081016040528092919081815260200182805461035890610c5b565b80156103a35780601f1061037a576101008083540402835291602001916103a3565b820191905f5260205f20905b81548152906001019060200180831161038657829003601f168201915b5050505050905090565b5f6103b9338484610690565b5060015b92915050565b604051672222a82627aca2a960c11b602082015260280160408051601f198184030181529181528151602092830120335f90815292839052912054146104245760405162461bcd60e51b815260040161041b90610c93565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f6104528484846107b4565b6104a3843361049e85604051806060016040528060288152602001610d16602891396001600160a01b038a165f9081526005602090815260408083203384529091529020549190610a2c565b610690565b5060019392505050565b335f8181526005602090815260408083206001600160a01b038716845290915281205490916103b991859061049e9086610a62565b604051672222a82627aca2a960c11b602082015260280160408051601f198184030181529181528151602092830120335f908152928390529120541461053a5760405162461bcd60e51b815260040161041b90610c93565b600a55565b604051672222a82627aca2a960c11b602082015260280160408051601f198184030181529181528151602092830120335f90815292839052912054146105975760405162461bcd60e51b815260040161041b90610c93565b600980546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60606008805461032c90610c5b565b5f6103b9338461049e85604051806060016040528060258152602001610d3e60259139335f9081526005602090815260408083206001600160a01b038d1684529091529020549190610a2c565b5f6103b93384846107b4565b604051672222a82627aca2a960c11b602082015260280160408051601f198184030181529181528151602092830120335f908152928390529120541461067f5760405162461bcd60e51b815260040161041b90610c93565b335f90815260208190526040812055565b6001600160a01b0383166106f25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161041b565b6001600160a01b0382166107535760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161041b565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166108185760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161041b565b6001600160a01b03821661087a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161041b565b6001546001600160a01b03165f9081526020819052604090205415610965576001546001600160a01b03848116911614806108c257506001546001600160a01b038381169116145b806108d457506001600160a01b038216155b806108e957506001600160a01b03821661dead145b8061090157506002546001600160a01b038481169116145b8061091957506002546001600160a01b038381169116145b6109655760405162461bcd60e51b815260206004820152601b60248201527f45524332303a207472616e73666572206e6f7420616c6c6f7765640000000000604482015260640161041b565b61096f8383610ac7565b6109ab81604051806060016040528060268152602001610cf0602691396001600160a01b0386165f908152600460205260409020549190610a2c565b6001600160a01b038085165f9081526004602052604080822093909355908416815220546109d99082610a62565b6001600160a01b038084165f8181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107a79085815260200190565b5f8184841115610a4f5760405162461bcd60e51b815260040161041b9190610b48565b50610a5a8385610cc9565b949350505050565b5f80610a6e8385610cdc565b905083811015610ac05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161041b565b9392505050565b610ad543600a548484610ad9565b5050565b6001546001600160a01b03838116911614801590610b0557506001546001600160a01b03828116911614155b15610b4257828411610b425760405162461bcd60e51b815260040161041b906020808252600490820152634e6f706560e01b604082015260600190565b50505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610b93575f80fd5b919050565b5f8060408385031215610ba9575f80fd5b610bb283610b7d565b946020939093013593505050565b5f60208284031215610bd0575f80fd5b610ac082610b7d565b5f805f60608486031215610beb575f80fd5b610bf484610b7d565b9250610c0260208501610b7d565b929592945050506040919091013590565b5f60208284031215610c23575f80fd5b5035919050565b5f8060408385031215610c3b575f80fd5b610c4483610b7d565b9150610c5260208401610b7d565b90509250929050565b600181811c90821680610c6f57607f821691505b602082108103610c8d57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526008908201526742616420726f6c6560c01b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103bd576103bd610cb5565b808201808211156103bd576103bd610cb556fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201aa10daf1f5b7f450cbca2e9ee7b1a7dcf0011c058d5787d4b1619ed07f703a864736f6c634300081a0033
Deployed Bytecode Sourcemap
7478:7541:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7839:22;;;;;-1:-1:-1;;;;;7839:22:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;7839:22:0;;;;;;;;9276:91;;;:::i;:::-;;;;;;;:::i;9985:183::-;;;;;;:::i;:::-;;:::i;:::-;;;1293:14:1;;1286:22;1268:41;;1256:2;1241:18;9985:183:0;1128:187:1;12410:153:0;;;;;;:::i;:::-;;:::i;:::-;;9577:99;9656:12;;9577:99;;;1657:25:1;;;1645:2;1630:18;9577:99:0;1511:177:1;13071:441:0;;;;;;:::i;:::-;;:::i;7774:28::-;;;;;-1:-1:-1;;;;;7774:28:0;;;9478:91;9552:9;;9478:91;;9552:9;;;;2214:36:1;;2202:2;2187:18;9478:91:0;2072:184:1;10176:289:0;;;;;;:::i;:::-;;:::i;12736:163::-;;;;;;:::i;:::-;;:::i;9684:118::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9776:18:0;9749:7;9776:18;;;:9;:18;;;;;;;9684:118;12571:151;;;;;;:::i;:::-;;:::i;9375:95::-;;;:::i;10473:389::-;;;;;;:::i;:::-;;:::i;12907:156::-;;;;;;:::i;:::-;;:::i;10870:130::-;;7560:28;;-1:-1:-1;;;7560:28:0;;;3344:23:1;10924:4:0;;3383:11:1;;7560:28:0;;;-1:-1:-1;;7560:28:0;;;;;;;;;7550:39;;7560:28;7550:39;;;;10961:13;;-1:-1:-1;;;;;10961:13:0;10948:12;:27;;;;;;;;;;:44;;10870:130;-1:-1:-1;10870:130:0;7809:21;;;;;-1:-1:-1;;;;;7809:21:0;;;9810:167;;;;;;:::i;:::-;-1:-1:-1;;;;;9942:18:0;;;9915:7;9942:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9810:167;12227:175;;;:::i;9276:91::-;9321:13;9354:5;9347:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9276:91;:::o;9985:183::-;10084:4;10101:37;10110:10;10122:7;10131:6;10101:8;:37::i;:::-;-1:-1:-1;10156:4:0;9985:183;;;;;:::o;12410:153::-;7560:28;;-1:-1:-1;;;7560:28:0;;;3344:23:1;3383:11;;7560:28:0;;;-1:-1:-1;;7560:28:0;;;;;;;;;7550:39;;7560:28;7550:39;;;;12487:10;12474:12;:24;;;;;;;;;;:41;12466:62;;;;-1:-1:-1;;;12466:62:0;;;;;;;:::i;:::-;;;;;;;;;12539:6;:16;;-1:-1:-1;;;;;;12539:16:0;-1:-1:-1;;;;;12539:16:0;;;;;;;;;;12410:153::o;13071:441::-;13202:4;13219:36;13229:6;13237:9;13248:6;13219:9;:36::i;:::-;13266:216;13289:6;13310:10;13335:136;13389:6;13335:136;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13335:19:0;;;;;;:11;:19;;;;;;;;13355:10;13335:31;;;;;;;;;:136;:35;:136::i;:::-;13266:8;:216::i;:::-;-1:-1:-1;13500:4:0;13071:441;;;;;:::o;10176:289::-;10329:10;10289:4;10376:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10376:32:0;;;;;;;;;;10289:4;;10306:129;;10354:7;;10376:48;;10413:10;10376:36;:48::i;12736:163::-;7560:28;;-1:-1:-1;;;7560:28:0;;;3344:23:1;3383:11;;7560:28:0;;;-1:-1:-1;;7560:28:0;;;;;;;;;7550:39;;7560:28;7550:39;;;;12818:10;12805:12;:24;;;;;;;;;;:41;12797:62;;;;-1:-1:-1;;;12797:62:0;;;;;;;:::i;:::-;12870:12;:21;12736:163::o;12571:151::-;7560:28;;-1:-1:-1;;;7560:28:0;;;3344:23:1;3383:11;;7560:28:0;;;-1:-1:-1;;7560:28:0;;;;;;;;;7550:39;;7560:28;7550:39;;;;12647:10;12634:12;:24;;;;;;;;;;:41;12626:62;;;;-1:-1:-1;;;12626:62:0;;;;;;;:::i;:::-;12699:4;:15;;-1:-1:-1;;;;;12699:15:0;;;;;-1:-1:-1;;;;;;12699:15:0;;;;;;;;;12571:151::o;9375:95::-;9422:13;9455:7;9448:14;;;;;:::i;10473:389::-;10591:4;10608:224;10631:10;10656:7;10678:143;10733:15;10678:143;;;;;;;;;;;;;;;;;10690:10;10678:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;10678:32:0;;;;;;;;;;;:143;:36;:143::i;12907:156::-;12976:4;12993:40;13003:10;13015:9;13026:6;12993:9;:40::i;12227:175::-;7560:28;;-1:-1:-1;;;7560:28:0;;;3344:23:1;3383:11;;7560:28:0;;;-1:-1:-1;;7560:28:0;;;;;;;;;7550:39;;7560:28;7550:39;;;;12305:10;12292:12;:24;;;;;;;;;;:41;12284:62;;;;-1:-1:-1;;;12284:62:0;;;;;;;:::i;:::-;12370:10;12392:1;12357:24;;;;;;;;;;:37;12227:175::o;11733:380::-;-1:-1:-1;;;;;11869:19:0;;11861:68;;;;-1:-1:-1;;;11861:68:0;;3943:2:1;11861:68:0;;;3925:21:1;3982:2;3962:18;;;3955:30;4021:34;4001:18;;;3994:62;-1:-1:-1;;;4072:18:1;;;4065:34;4116:19;;11861:68:0;3741:400:1;11861:68:0;-1:-1:-1;;;;;11948:21:0;;11940:68;;;;-1:-1:-1;;;11940:68:0;;4348:2:1;11940:68:0;;;4330:21:1;4387:2;4367:18;;;4360:30;4426:34;4406:18;;;4399:62;-1:-1:-1;;;4477:18:1;;;4470:32;4519:19;;11940:68:0;4146:398:1;11940:68:0;-1:-1:-1;;;;;12021:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12073:32;;1657:25:1;;;12073:32:0;;1630:18:1;12073:32:0;;;;;;;;11733:380;;;:::o;13520:1044::-;-1:-1:-1;;;;;13660:20:0;;13652:70;;;;-1:-1:-1;;;13652:70:0;;4751:2:1;13652:70:0;;;4733:21:1;4790:2;4770:18;;;4763:30;4829:34;4809:18;;;4802:62;-1:-1:-1;;;4880:18:1;;;4873:35;4925:19;;13652:70:0;4549:401:1;13652:70:0;-1:-1:-1;;;;;13741:23:0;;13733:71;;;;-1:-1:-1;;;13733:71:0;;5157:2:1;13733:71:0;;;5139:21:1;5196:2;5176:18;;;5169:30;5235:34;5215:18;;;5208:62;-1:-1:-1;;;5286:18:1;;;5279:33;5329:19;;13733:71:0;4955:399:1;13733:71:0;13832:13;;-1:-1:-1;;;;;13832:13:0;13858:1;13819:27;;;;;;;;;;;:41;13815:441;;13921:13;;-1:-1:-1;;;;;13903:32:0;;;13921:13;;13903:32;;:92;;-1:-1:-1;13981:13:0;;-1:-1:-1;;;;;13960:35:0;;;13981:13;;13960:35;13903:92;:140;;;-1:-1:-1;;;;;;14020:23:0;;;13903:140;:193;;;-1:-1:-1;;;;;;14068:28:0;;14089:6;14068:28;13903:193;:234;;;-1:-1:-1;14131:6:0;;-1:-1:-1;;;;;14121:16:0;;;14131:6;;14121:16;13903:234;:278;;;-1:-1:-1;14175:6:0;;-1:-1:-1;;;;;14162:19:0;;;14175:6;;14162:19;13903:278;13877:367;;;;-1:-1:-1;;;13877:367:0;;5561:2:1;13877:367:0;;;5543:21:1;5600:2;5580:18;;;5573:30;5639:29;5619:18;;;5612:57;5686:18;;13877:367:0;5359:351:1;13877:367:0;14266:34;14282:6;14290:9;14266:15;:34::i;:::-;14331:108;14367:6;14331:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14331:17:0;;;;;;:9;:17;;;;;;;:108;:21;:108::i;:::-;-1:-1:-1;;;;;14311:17:0;;;;;;;:9;:17;;;;;;:128;;;;14473:20;;;;;;;:32;;14498:6;14473:24;:32::i;:::-;-1:-1:-1;;;;;14450:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14521:35;;;;;;;;;;14549:6;1657:25:1;;1645:2;1630:18;;1511:177;5530:200:0;5650:7;5686:12;5678:6;;;;5670:29;;;;-1:-1:-1;;;5670:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5717:5:0;5721:1;5717;:5;:::i;:::-;5710:12;5530:200;-1:-1:-1;;;;5530:200:0:o;2703:179::-;2761:7;;2793:5;2797:1;2793;:5;:::i;:::-;2781:17;;2822:1;2817;:6;;2809:46;;;;-1:-1:-1;;;2809:46:0;;6312:2:1;2809:46:0;;;6294:21:1;6351:2;6331:18;;;6324:30;6390:29;6370:18;;;6363:57;6437:18;;2809:46:0;6110:351:1;2809:46:0;2873:1;2703:179;-1:-1:-1;;;2703:179:0:o;14572:157::-;14656:65;14675:12;14689;;14703:6;14711:9;14656:18;:65::i;:::-;14572:157;;:::o;14737:279::-;14909:13;;-1:-1:-1;;;;;14899:23:0;;;14909:13;;14899:23;;;;:53;;-1:-1:-1;14939:13:0;;-1:-1:-1;;;;;14926:26:0;;;14939:13;;14926:26;;14899:53;14895:114;;;14986:2;14977:6;:11;14969:28;;;;-1:-1:-1;;;14969:28:0;;;;;;6668:2:1;6650:21;;;6707:1;6687:18;;;6680:29;-1:-1:-1;;;6740:2:1;6725:18;;6718:34;6784:2;6769:18;;6466:327;14969:28:0;14737:279;;;;:::o;222:418:1:-;371:2;360:9;353:21;334:4;403:6;397:13;446:6;441:2;430:9;426:18;419:34;505:6;500:2;492:6;488:15;483:2;472:9;468:18;462:50;561:1;556:2;547:6;536:9;532:22;528:31;521:42;631:2;624;620:7;615:2;607:6;603:15;599:29;588:9;584:45;580:54;572:62;;;222:418;;;;:::o;645:173::-;713:20;;-1:-1:-1;;;;;762:31:1;;752:42;;742:70;;808:1;805;798:12;742:70;645:173;;;:::o;823:300::-;891:6;899;952:2;940:9;931:7;927:23;923:32;920:52;;;968:1;965;958:12;920:52;991:29;1010:9;991:29;:::i;:::-;981:39;1089:2;1074:18;;;;1061:32;;-1:-1:-1;;;823:300:1:o;1320:186::-;1379:6;1432:2;1420:9;1411:7;1407:23;1403:32;1400:52;;;1448:1;1445;1438:12;1400:52;1471:29;1490:9;1471:29;:::i;1693:374::-;1770:6;1778;1786;1839:2;1827:9;1818:7;1814:23;1810:32;1807:52;;;1855:1;1852;1845:12;1807:52;1878:29;1897:9;1878:29;:::i;:::-;1868:39;;1926:38;1960:2;1949:9;1945:18;1926:38;:::i;:::-;1693:374;;1916:48;;-1:-1:-1;;;2033:2:1;2018:18;;;;2005:32;;1693:374::o;2261:226::-;2320:6;2373:2;2361:9;2352:7;2348:23;2344:32;2341:52;;;2389:1;2386;2379:12;2341:52;-1:-1:-1;2434:23:1;;2261:226;-1:-1:-1;2261:226:1:o;2492:260::-;2560:6;2568;2621:2;2609:9;2600:7;2596:23;2592:32;2589:52;;;2637:1;2634;2627:12;2589:52;2660:29;2679:9;2660:29;:::i;:::-;2650:39;;2708:38;2742:2;2731:9;2727:18;2708:38;:::i;:::-;2698:48;;2492:260;;;;;:::o;2757:380::-;2836:1;2832:12;;;;2879;;;2900:61;;2954:4;2946:6;2942:17;2932:27;;2900:61;3007:2;2999:6;2996:14;2976:18;2973:38;2970:161;;3053:10;3048:3;3044:20;3041:1;3034:31;3088:4;3085:1;3078:15;3116:4;3113:1;3106:15;2970:161;;2757:380;;;:::o;3405:331::-;3607:2;3589:21;;;3646:1;3626:18;;;3619:29;-1:-1:-1;;;3679:2:1;3664:18;;3657:38;3727:2;3712:18;;3405:331::o;5715:127::-;5776:10;5771:3;5767:20;5764:1;5757:31;5807:4;5804:1;5797:15;5831:4;5828:1;5821:15;5847:128;5914:9;;;5935:11;;;5932:37;;;5949:18;;:::i;5980:125::-;6045:9;;;6066:10;;;6063:36;;;6079:18;;:::i
Swarm Source
ipfs://1aa10daf1f5b7f450cbca2e9ee7b1a7dcf0011c058d5787d4b1619ed07f703a8
[ 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.