Feature Tip: Add private address tag to any address under My Name Tag !
Token migration announcement. Aevolve token contract has migrated to a new address.
ERC-20
Overview
Max Total Supply
1,210,000,000 AVEX
Holders
253 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1.000000032431278981 AVEXValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Aevolve
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-12-16 */ pragma solidity ^0.4.24; // ---------------------------------------------------------------------------- // Ownership functionality for authorization controls and user permissions // ---------------------------------------------------------------------------- contract Owned { address public owner; address public newOwner; event OwnershipTransferred(address indexed _from, address indexed _to); constructor() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } function transferOwnership(address _newOwner) public onlyOwner { newOwner = _newOwner; } function acceptOwnership() public { require(msg.sender == newOwner); emit OwnershipTransferred(owner, newOwner); owner = newOwner; newOwner = address(0); } } // ---------------------------------------------------------------------------- // Pause functionality // ---------------------------------------------------------------------------- contract Pausable is Owned { event Pause(); event Unpause(); bool public paused = false; // Modifier to make a function callable only when the contract is not paused. modifier whenNotPaused() { require(!paused); _; } // Modifier to make a function callable only when the contract is paused. modifier whenPaused() { require(paused); _; } // Called by the owner to pause, triggers stopped state function pause() onlyOwner whenNotPaused public { paused = true; emit Pause(); } // Called by the owner to unpause, returns to normal state function unpause() onlyOwner whenPaused public { paused = false; emit Unpause(); } } /** * @title SafeMath * @dev Math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); // Solidity only automatically asserts when dividing by 0 uint256 c = a / b; return c; } /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } /** * @dev Divides two numbers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } // ---------------------------------------------------------------------------- // ERC20 Standard Interface // ---------------------------------------------------------------------------- contract ERC20 { function totalSupply() public constant returns (uint); function balanceOf(address tokenOwner) public constant returns (uint balance); function allowance(address tokenOwner, address spender) public constant returns (uint remaining); function transfer(address to, uint tokens) public returns (bool success); function approve(address spender, uint tokens) public returns (bool success); function transferFrom(address from, address to, uint tokens) public returns (bool success); event Transfer(address indexed from, address indexed to, uint tokens); event Approval(address indexed tokenOwner, address indexed spender, uint tokens); } // ---------------------------------------------------------------------------- // 'AVEX' 'Aevolve' token contract // Symbol : AVEX // Name : Aevolve // Total supply: 1,210,000,000 // Decimals : 18 // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ERC20 Token. Specifies symbol, name, decimals, and total supply // ---------------------------------------------------------------------------- contract Aevolve is Owned, Pausable, ERC20 { using SafeMath for uint256; string public symbol; string public name; uint8 public decimals; uint public _totalSupply; mapping(address => uint) public balances; mapping(address => mapping(address => uint)) internal allowed; event Burned(address indexed burner, uint256 value); event Mint(address indexed to, uint256 amount); // ------------------------------------------------------------------------ // Constructor // ------------------------------------------------------------------------ constructor() public { symbol = "AVEX"; name = "Aevolve"; decimals = 18; _totalSupply = 1210000000 * 10**uint(decimals); balances[owner] = _totalSupply; emit Transfer(address(0), owner, _totalSupply); } // ------------------------------------------------------------------------ // Total supply // ------------------------------------------------------------------------ function totalSupply() public constant returns (uint) { return _totalSupply; } // ------------------------------------------------------------------------ // Get the token balance for account `tokenOwner` // ------------------------------------------------------------------------ function balanceOf(address tokenOwner) public constant returns (uint balance) { return balances[tokenOwner]; } // ------------------------------------------------------------------------ // Transfer the balance from token owner's account to `_to` account // - Owner's account must have sufficient balance to transfer // - 0 value transfers are allowed // ------------------------------------------------------------------------ function transfer(address _to, uint256 _value) public returns (bool) { require(_value <= balances[msg.sender]); require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } // ------------------------------------------------------------------------ // Token owner can approve for `spender` to transferFrom(...) `tokens` // from the token owner's account // ------------------------------------------------------------------------ function approve(address spender, uint tokens) public whenNotPaused returns (bool success) { require(spender != address(0)); allowed[msg.sender][spender] = tokens; emit Approval(msg.sender, spender, tokens); return true; } // ------------------------------------------------------------------------ // Transfer `tokens` from the `from` account to the `to` account // // The calling account must already have sufficient tokens approve(...)-d // for spending from the `from` account and // - From account must have sufficient balance to transfer // - Spender must have sufficient allowance to transfer // ------------------------------------------------------------------------ function transferFrom(address from, address to, uint tokens) public whenNotPaused returns (bool success) { require(to != address(0)); //check edge cases if (allowed[from][msg.sender] >= tokens && balances[from] >= tokens && tokens > 0) { //update balances and allowances balances[from] = balances[from].sub(tokens); allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens); balances[to] = balances[to].add(tokens); //log event emit Transfer(from, to, tokens); return true; } else { return false; } } // ------------------------------------------------------------------------ // Returns the amount of tokens approved by the owner that can be // transferred to the spender's account // ------------------------------------------------------------------------ function allowance(address tokenOwner, address spender) public constant returns (uint remaining) { return allowed[tokenOwner][spender]; } // ------------------------------------------------------------------------ // Burns a specific number of tokens // ------------------------------------------------------------------------ function burn(uint256 _value) public onlyOwner { require(_value > 0); address burner = msg.sender; balances[burner] = balances[burner].sub(_value); _totalSupply = _totalSupply.sub(_value); emit Burned(burner, _value); } // ------------------------------------------------------------------------ // Doesn't Accept Eth // ------------------------------------------------------------------------ function () public payable { revert(); } } /** * @title TokenVesting * @dev A token holder contract that can release its token balance gradually like a * typical vesting scheme, with a cliff and vesting period. Optionally revocable by the * owner. */ contract TokenVesting is Owned, Pausable, ERC20, Aevolve { using SafeMath for uint256; event Released(uint256 amount); event Revoked(); // beneficiary of tokens after they are released address public beneficiary; uint256 public cliff; uint256 public start; uint256 public duration; bool public revocable; mapping (address => uint256) public released; mapping (address => bool) public revoked; /** * @dev Creates a vesting contract that vests its balance of any ERC20 token to the * _beneficiary, gradually in a linear fashion until _start + _duration. By then all * of the balance will have vested. * @param _beneficiary address of the beneficiary to whom vested tokens are transferred * @param _cliff duration in seconds of the cliff in which tokens will begin to vest * @param _start the time (as Unix time) at which point vesting starts * @param _duration duration in seconds of the period in which the tokens will vest * @param _revocable whether the vesting is revocable or not */ constructor( address _beneficiary, uint256 _start, uint256 _cliff, uint256 _duration, bool _revocable ) public { require(_beneficiary != address(0)); require(_cliff <= _duration); beneficiary = _beneficiary; revocable = _revocable; duration = _duration; cliff = _start.add(_cliff); start = _start; } /** * @notice Transfers vested tokens to beneficiary. * @param _token ERC20 token which is being vested */ function release(ERC20 _token) public { uint256 unreleased = releasableAmount(_token); require(unreleased > 0); released[_token] = released[_token].add(unreleased); _token.transfer(beneficiary, unreleased); emit Released(unreleased); } /** * @notice Allows the owner to revoke the vesting. Tokens already vested * remain in the contract, the rest are returned to the owner. * @param _token ERC20 token which is being vested */ function revoke(ERC20 _token) public onlyOwner { require(revocable); require(!revoked[_token]); uint256 balance = _token.balanceOf(address(this)); uint256 unreleased = releasableAmount(_token); uint256 refund = balance.sub(unreleased); revoked[_token] = true; _token.transfer(owner, refund); emit Revoked(); } /** * @dev Calculates the amount that has already vested but hasn't been released yet. * @param _token ERC20 token which is being vested */ function releasableAmount(ERC20 _token) public view returns (uint256) { // returns vested amount minus amount that has been released return vestedAmount(_token).sub(released[_token]); } /** * @dev Calculates the amount that has already vested. * @param _token ERC20 token which is being vested */ function vestedAmount(ERC20 _token) public view returns (uint256) { uint256 currentBalance = _token.balanceOf(address(this)); // balance of this contract uint256 totalBalance = currentBalance.add(released[_token]); // initial balance of this contract if (block.timestamp < cliff) { // can't withdraw if we haven't hit cliff return 0; // if past end of vesting period or it has been revoked, return balance of contract } else if (block.timestamp >= start.add(duration) || revoked[_token]) { return totalBalance; } else { return totalBalance.mul(block.timestamp.sub(start)).div(duration); } } } /** *@dev Following the contract factory design, this contract allows owner to mass * create vesting contracts and distribute tokens to them */ contract VestingFactory is Owned, Pausable { using SafeMath for uint256; // Array of all vesting contracts TokenVesting[] public vestingContracts; // Mapping individual wallet address to vesting contract mapping(address => address) public beneficiaryContracts; // initialize token Aevolve public token; /*Events*/ event contractCreation(address _creator, address _contract, address _beneficiary); // construct the VestingFactory with Aevolve token constructor ( Aevolve _token ) public { token = _token; } /* @dev Mass deploy vesting contracts * @param beneficiaries is an array of wallet addresses that receive tokens * @param numTokens is an array of the number of tokens that beneficiaries receive * @param start is the date and time that tokens begin to vest * @param duration in seconds of the cliff in which tokens will begin to vest */ function deployVesting(address[] beneficiaries, uint256[] numTokens, uint256 start, uint256 cliff, uint256 duration) public onlyOwner { // Check that array lengths match require(beneficiaries.length == numTokens.length); // temp variable to store vesting contract TokenVesting vestingContract; // temp variable to store address of beneficiary through the loop, used for efficiency address benAddress; // Loop through investors and create their vesting vestingContracts for(uint256 i = 0; i < beneficiaries.length; i++) { // Checks that they do not already have a vesting contract if (beneficiaryContracts[beneficiaries[i]] == 0x0) { benAddress = beneficiaries[i]; vestingContract = new TokenVesting(benAddress, start, cliff, duration, false); // Update data structures used to track vesting contracts vestingContracts.push(vestingContract); beneficiaryContracts[benAddress] = vestingContract; emit contractCreation(address(this), address(vestingContract), benAddress); // Send their tokens to their vesting contract token.transfer(vestingContract, numTokens[i]); } } } // @dev mass release vested tokens function massRelease() public onlyOwner { require(vestingContracts.length > 0); for(uint256 i = 0; i < vestingContracts.length; i++) { // Check that there are tokens to release if(vestingContracts[i].releasableAmount(token) != 0) { vestingContracts[i].release(token); } } } // @dev transfer tokens out of contract function tokenTransfer(address recipient, uint256 amount) public onlyOwner { token.transfer(recipient, amount); } // @dev Return the vesting contract for an individual function getVestingContracts(address beneficiary) public returns (address){ return beneficiaryContracts[beneficiary]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040526000600160146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600481526020017f415645580000000000000000000000000000000000000000000000000000000081525060029080519060200190620000ba9291906200023d565b506040805190810160405280600781526020017f4165766f6c76650000000000000000000000000000000000000000000000000081525060039080519060200190620001089291906200023d565b506012600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff1660ff16600a0a63481f228002600581905550600554600660008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a3620002ec565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028057805160ff1916838001178555620002b1565b82800160010185558215620002b1579182015b82811115620002b057825182559160200191906001019062000293565b5b509050620002c09190620002c4565b5090565b620002e991905b80821115620002e5576000816000905550600101620002cb565b5090565b90565b61165180620002fc6000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461010c578063095ea7b31461019c57806318160ddd1461020157806323b872dd1461022c57806327e235e3146102b1578063313ce567146103085780633eaaf86b146103395780633f4ba83a1461036457806342966c681461037b5780635c975abb146103a857806370a08231146103d757806379ba50971461042e5780638456cb59146104455780638da5cb5b1461045c57806395d89b41146104b3578063a9059cbb14610543578063d4ee1d90146105a8578063dd62ed3e146105ff578063f2fde38b14610676575b600080fd5b34801561011857600080fd5b506101216106b9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610161578082015181840152602081019050610146565b50505050905090810190601f16801561018e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a857600080fd5b506101e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610757565b604051808215151515815260200191505060405180910390f35b34801561020d57600080fd5b506102166108a1565b6040518082815260200191505060405180910390f35b34801561023857600080fd5b50610297600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ab565b604051808215151515815260200191505060405180910390f35b3480156102bd57600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c94565b6040518082815260200191505060405180910390f35b34801561031457600080fd5b5061031d610cac565b604051808260ff1660ff16815260200191505060405180910390f35b34801561034557600080fd5b5061034e610cbf565b6040518082815260200191505060405180910390f35b34801561037057600080fd5b50610379610cc5565b005b34801561038757600080fd5b506103a660048036038101908080359060200190929190505050610d84565b005b3480156103b457600080fd5b506103bd610ef5565b604051808215151515815260200191505060405180910390f35b3480156103e357600080fd5b50610418600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f08565b6040518082815260200191505060405180910390f35b34801561043a57600080fd5b50610443610f51565b005b34801561045157600080fd5b5061045a6110f0565b005b34801561046857600080fd5b506104716111af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104bf57600080fd5b506104c86111d4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105085780820151818401526020810190506104ed565b50505050905090810190601f1680156105355780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561054f57600080fd5b5061058e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611272565b604051808215151515815260200191505060405180910390f35b3480156105b457600080fd5b506105bd611497565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060b57600080fd5b50610660600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114bd565b6040518082815260200191505060405180910390f35b34801561068257600080fd5b506106b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611544565b005b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561074f5780601f106107245761010080835404028352916020019161074f565b820191906000526020600020905b81548152906001019060200180831161073257829003601f168201915b505050505081565b6000600160149054906101000a900460ff1615151561077557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107b157600080fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b6000600160149054906101000a900460ff161515156108c957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561090557600080fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156109d0575081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156109dc5750600082115b15610c8857610a3382600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b0582600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bd782600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160490919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610c8d565b600090505b9392505050565b60066020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d2057600080fd5b600160149054906101000a900460ff161515610d3b57600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610de157600080fd5b600082111515610df057600080fd5b339050610e4582600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e9d826005546115e390919063ffffffff16565b6005819055508073ffffffffffffffffffffffffffffffffffffffff167f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7836040518082815260200191505060405180910390a25050565b600160149054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fad57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114b57600080fd5b600160149054906101000a900460ff1615151561116757600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561126a5780601f1061123f5761010080835404028352916020019161126a565b820191906000526020600020905b81548152906001019060200180831161124d57829003601f168201915b505050505081565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156112c257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156112fe57600080fd5b61135082600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113e582600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160490919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159f57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808383111515156115f557600080fd5b82840390508091505092915050565b600080828401905083811015151561161b57600080fd5b80915050929150505600a165627a7a723058200a16ed56ca00935e7054b59798a36e15e7e82531c76be3c36fedbce1e9ba94cb0029
Deployed Bytecode
0x608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461010c578063095ea7b31461019c57806318160ddd1461020157806323b872dd1461022c57806327e235e3146102b1578063313ce567146103085780633eaaf86b146103395780633f4ba83a1461036457806342966c681461037b5780635c975abb146103a857806370a08231146103d757806379ba50971461042e5780638456cb59146104455780638da5cb5b1461045c57806395d89b41146104b3578063a9059cbb14610543578063d4ee1d90146105a8578063dd62ed3e146105ff578063f2fde38b14610676575b600080fd5b34801561011857600080fd5b506101216106b9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610161578082015181840152602081019050610146565b50505050905090810190601f16801561018e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a857600080fd5b506101e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610757565b604051808215151515815260200191505060405180910390f35b34801561020d57600080fd5b506102166108a1565b6040518082815260200191505060405180910390f35b34801561023857600080fd5b50610297600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ab565b604051808215151515815260200191505060405180910390f35b3480156102bd57600080fd5b506102f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c94565b6040518082815260200191505060405180910390f35b34801561031457600080fd5b5061031d610cac565b604051808260ff1660ff16815260200191505060405180910390f35b34801561034557600080fd5b5061034e610cbf565b6040518082815260200191505060405180910390f35b34801561037057600080fd5b50610379610cc5565b005b34801561038757600080fd5b506103a660048036038101908080359060200190929190505050610d84565b005b3480156103b457600080fd5b506103bd610ef5565b604051808215151515815260200191505060405180910390f35b3480156103e357600080fd5b50610418600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f08565b6040518082815260200191505060405180910390f35b34801561043a57600080fd5b50610443610f51565b005b34801561045157600080fd5b5061045a6110f0565b005b34801561046857600080fd5b506104716111af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104bf57600080fd5b506104c86111d4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105085780820151818401526020810190506104ed565b50505050905090810190601f1680156105355780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561054f57600080fd5b5061058e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611272565b604051808215151515815260200191505060405180910390f35b3480156105b457600080fd5b506105bd611497565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060b57600080fd5b50610660600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114bd565b6040518082815260200191505060405180910390f35b34801561068257600080fd5b506106b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611544565b005b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561074f5780601f106107245761010080835404028352916020019161074f565b820191906000526020600020905b81548152906001019060200180831161073257829003601f168201915b505050505081565b6000600160149054906101000a900460ff1615151561077557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156107b157600080fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b6000600160149054906101000a900460ff161515156108c957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561090557600080fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156109d0575081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156109dc5750600082115b15610c8857610a3382600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b0582600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bd782600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160490919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610c8d565b600090505b9392505050565b60066020528060005260406000206000915090505481565b600460009054906101000a900460ff1681565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d2057600080fd5b600160149054906101000a900460ff161515610d3b57600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610de157600080fd5b600082111515610df057600080fd5b339050610e4582600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e9d826005546115e390919063ffffffff16565b6005819055508073ffffffffffffffffffffffffffffffffffffffff167f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7836040518082815260200191505060405180910390a25050565b600160149054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fad57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114b57600080fd5b600160149054906101000a900460ff1615151561116757600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561126a5780601f1061123f5761010080835404028352916020019161126a565b820191906000526020600020905b81548152906001019060200180831161124d57829003601f168201915b505050505081565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156112c257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156112fe57600080fd5b61135082600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113e582600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160490919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159f57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808383111515156115f557600080fd5b82840390508091505092915050565b600080828401905083811015151561161b57600080fd5b80915050929150505600a165627a7a723058200a16ed56ca00935e7054b59798a36e15e7e82531c76be3c36fedbce1e9ba94cb0029
Deployed Bytecode Sourcemap
4610:5130:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9721:8;;;4722:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4722:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4722:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7093:265;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7093:265:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5677:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5677:92:0;;;;;;;;;;;;;;;;;;;;;;;7859:703;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7859:703:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4811:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4811:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4748:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4748:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4776:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4776:24:0;;;;;;;;;;;;;;;;;;;;;;;1692:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1692:95:0;;;;;;9213:271;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9213:271:0;;;;;;;;;;;;;;;;;;;;;;;;;;1147:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1147:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5994:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5994:124:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;686:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;686:196:0;;;;;;1531:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1531:93:0;;;;;;288:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;288:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4695;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4695:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4695:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6468:340;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6468:340:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;315:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;315:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8848:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8848:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;578:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;578:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4722:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7093:265::-;7170:12;1304:6;;;;;;;;;;;1303:7;1295:16;;;;;;;;7222:1;7203:21;;:7;:21;;;;7195:30;;;;;;;;7269:6;7238:7;:19;7246:10;7238:19;;;;;;;;;;;;;;;:28;7258:7;7238:28;;;;;;;;;;;;;;;:37;;;;7312:7;7291:37;;7300:10;7291:37;;;7321:6;7291:37;;;;;;;;;;;;;;;;;;7346:4;7339:11;;7093:265;;;;:::o;5677:92::-;5725:4;5749:12;;5742:19;;5677:92;:::o;7859:703::-;7950:12;1304:6;;;;;;;;;;;1303:7;1295:16;;;;;;;;7997:1;7983:16;;:2;:16;;;;7975:25;;;;;;;;8074:6;8045:7;:13;8053:4;8045:13;;;;;;;;;;;;;;;:25;8059:10;8045:25;;;;;;;;;;;;;;;;:35;;:76;;;;;8115:6;8097:8;:14;8106:4;8097:14;;;;;;;;;;;;;;;;:24;;8045:76;:103;;;;;8147:1;8138:6;:10;8045:103;8041:514;;;8230:26;8249:6;8230:8;:14;8239:4;8230:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;8213:8;:14;8222:4;8213:14;;;;;;;;;;;;;;;:43;;;;8299:37;8329:6;8299:7;:13;8307:4;8299:13;;;;;;;;;;;;;;;:25;8313:10;8299:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;8271:7;:13;8279:4;8271:13;;;;;;;;;;;;;;;:25;8285:10;8271:25;;;;;;;;;;;;;;;:65;;;;8366:24;8383:6;8366:8;:12;8375:2;8366:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;8351:8;:12;8360:2;8351:12;;;;;;;;;;;;;;;:39;;;;8452:2;8437:26;;8446:4;8437:26;;;8456:6;8437:26;;;;;;;;;;;;;;;;;;8485:4;8478:11;;;;8041:514;8538:5;8531:12;;1318:1;7859:703;;;;;:::o;4811:40::-;;;;;;;;;;;;;;;;;:::o;4748:21::-;;;;;;;;;;;;;:::o;4776:24::-;;;;:::o;1692:95::-;544:5;;;;;;;;;;;530:19;;:10;:19;;;522:28;;;;;;;;1445:6;;;;;;;;;;;1437:15;;;;;;;;1755:5;1746:6;;:14;;;;;;;;;;;;;;;;;;1772:9;;;;;;;;;;1692:95::o;9213:271::-;9303:14;544:5;;;;;;;;;;;530:19;;:10;:19;;;522:28;;;;;;;;9288:1;9279:6;:10;9271:19;;;;;;;;9320:10;9303:27;;9360:28;9381:6;9360:8;:16;9369:6;9360:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;9341:8;:16;9350:6;9341:16;;;;;;;;;;;;;;;:47;;;;9414:24;9431:6;9414:12;;:16;;:24;;;;:::i;:::-;9399:12;:39;;;;9461:6;9454:22;;;9469:6;9454:22;;;;;;;;;;;;;;;;;;9213:271;;:::o;1147:26::-;;;;;;;;;;;;;:::o;5994:124::-;6058:12;6090:8;:20;6099:10;6090:20;;;;;;;;;;;;;;;;6083:27;;5994:124;;;:::o;686:196::-;753:8;;;;;;;;;;;739:22;;:10;:22;;;731:31;;;;;;;;806:8;;;;;;;;;;;778:37;;799:5;;;;;;;;;;;778:37;;;;;;;;;;;;834:8;;;;;;;;;;;826:5;;:16;;;;;;;;;;;;;;;;;;872:1;853:8;;:21;;;;;;;;;;;;;;;;;;686:196::o;1531:93::-;544:5;;;;;;;;;;;530:19;;:10;:19;;;522:28;;;;;;;;1304:6;;;;;;;;;;;1303:7;1295:16;;;;;;;;1595:4;1586:6;;:13;;;;;;;;;;;;;;;;;;1611:7;;;;;;;;;;1531:93::o;288:20::-;;;;;;;;;;;;;:::o;4695:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6468:340::-;6531:4;6564:8;:20;6573:10;6564:20;;;;;;;;;;;;;;;;6554:6;:30;;6546:39;;;;;;;;6617:1;6602:17;;:3;:17;;;;6594:26;;;;;;;;6654:32;6679:6;6654:8;:20;6663:10;6654:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6631:8;:20;6640:10;6631:20;;;;;;;;;;;;;;;:55;;;;6711:25;6729:6;6711:8;:13;6720:3;6711:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6695:8;:13;6704:3;6695:13;;;;;;;;;;;;;;;:41;;;;6771:3;6750:33;;6759:10;6750:33;;;6776:6;6750:33;;;;;;;;;;;;;;;;;;6799:4;6792:11;;6468:340;;;;:::o;315:23::-;;;;;;;;;;;;;:::o;8848:151::-;8929:14;8963:7;:19;8971:10;8963:19;;;;;;;;;;;;;;;:28;8983:7;8963:28;;;;;;;;;;;;;;;;8956:35;;8848:151;;;;:::o;578:102::-;544:5;;;;;;;;;;;530:19;;:10;:19;;;522:28;;;;;;;;663:9;652:8;;:20;;;;;;;;;;;;;;;;;;578:102;:::o;2592:136::-;2650:7;2688:9;2679:1;2674;:6;;2666:15;;;;;;;;2704:1;2700;:5;2688:17;;2721:1;2714:8;;2592:136;;;;;:::o;2796:::-;2854:7;2870:9;2886:1;2882;:5;2870:17;;2907:1;2902;:6;;2894:15;;;;;;;;2925:1;2918:8;;2796:136;;;;;:::o
Swarm Source
bzzr://0a16ed56ca00935e7054b59798a36e15e7e82531c76be3c36fedbce1e9ba94cb
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.