Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 8 from a total of 8 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 13876587 | 1164 days ago | IN | 0 ETH | 0.00282725 | ||||
Transfer | 12319103 | 1407 days ago | IN | 0 ETH | 0.00339239 | ||||
Transfer | 12304539 | 1409 days ago | IN | 0 ETH | 0.00321448 | ||||
Transfer | 12304531 | 1409 days ago | IN | 0 ETH | 0.00410243 | ||||
Transfer | 12292231 | 1411 days ago | IN | 0 ETH | 0.00710037 | ||||
Transfer | 12291631 | 1411 days ago | IN | 0 ETH | 0.00954605 | ||||
Transfer | 12291562 | 1411 days ago | IN | 0 ETH | 0.01301734 | ||||
Approve | 12285577 | 1412 days ago | IN | 0 ETH | 0.0061991 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
12259880 | 1416 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ProjectTokenV2
Compiler Version
v0.5.7+commit.6da8b019
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-31 */ pragma solidity 0.5.7; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be aplied to your functions to restrict their use to * the owner. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * > Note: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see `ERC20Detailed`. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a `Transfer` event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through `transferFrom`. This is * zero by default. * * This value changes when `approve` or `transferFrom` are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * > Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an `Approval` event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a `Transfer` event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to `approve`. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev Implementation of the `IERC20` interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using `_mint`. * For a generic mechanism see `ERC20Mintable`. * * *For a detailed writeup see our guide [How to implement supply * mechanisms](https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226).* * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of ERC20 applications. * * Additionally, an `Approval` event is emitted on calls to `transferFrom`. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard `decreaseAllowance` and `increaseAllowance` * functions have been added to mitigate the well-known issues around setting * allowances. See `IERC20.approve`. */ contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; /** * @dev See `IERC20.totalSupply`. */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev See `IERC20.balanceOf`. */ function balanceOf(address account) public view returns (uint256) { return _balances[account]; } /** * @dev See `IERC20.transfer`. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public returns (bool) { _transfer(msg.sender, recipient, amount); return true; } /** * @dev See `IERC20.allowance`. */ function allowance(address owner, address spender) public view returns (uint256) { return _allowances[owner][spender]; } /** * @dev See `IERC20.approve`. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 value) public returns (bool) { _approve(msg.sender, spender, value); return true; } /** * @dev See `IERC20.transferFrom`. * * Emits an `Approval` event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of `ERC20`; * * Requirements: * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `value`. * - the caller must have allowance for `sender`'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount)); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to `approve` that can be used as a mitigation for * problems described in `IERC20.approve`. * * Emits an `Approval` event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue)); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to `approve` that can be used as a mitigation for * problems described in `IERC20.approve`. * * Emits an `Approval` event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue)); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to `transfer`, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a `Transfer` event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a `Transfer` event with `from` set to the zero address. * * Requirements * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal { 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); } /** * @dev Destoys `amount` tokens from `account`, reducing the * total supply. * * Emits a `Transfer` event with `to` set to the zero address. * * Requirements * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 value) internal { require(account != address(0), "ERC20: burn from the zero address"); _totalSupply = _totalSupply.sub(value); _balances[account] = _balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens. * * This is internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an `Approval` event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 value) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = value; emit Approval(owner, spender, value); } /** * @dev Destoys `amount` tokens from `account`.`amount` is then deducted * from the caller's allowance. * * See `_burn` and `_approve`. */ function _burnFrom(address account, uint256 amount) internal { _burn(account, amount); _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount)); } } /** * @dev Extension of `ERC20` that allows token holders to destroy both their own * tokens and those that they have an allowance for, in a way that can be * recognized off-chain (via event analysis). */ contract ERC20Burnable is ERC20 { /** * @dev Destoys `amount` tokens from the caller. * * See `ERC20._burn`. */ function burn(uint256 amount) public { _burn(msg.sender, amount); } /** * @dev See `ERC20._burnFrom`. */ function burnFrom(address account, uint256 amount) public { _burnFrom(account, amount); } } /*@title ProjectToken * @dev This contract contains the basic ERC20 mechanism for Project tokens. * Also this will handle all profit distribution for the project. * Please make sure to confirm the exact address of the project token before sending any ether. */ contract ProjectTokenV2 is ERC20Burnable { using SafeMath for uint256; struct Profit { //amount of unclaimed profit an address had the last time //`_profitAccounting` was called. uint256 unclaimedAtLastAccounting; //this contract's totalIncome the last time `_profitAccounting` was called uint256 incomeAtLastAccounting; } modifier onlyFactory(){ require(_factory == msg.sender, "Only token factory can set value"); _; } mapping (address => Profit) private _profits; uint256 private _ethReleased; string private _name; string private _symbol; uint8 private _decimals; address private _sales; address private _vault; address payable _owner; address private _factory; event Claim(address indexed account, uint256 payout); constructor( string memory name, string memory symbol, uint8 decimals, uint256 totalSupply, address payable owner, address factory ) public { _name = name; _symbol = symbol; _decimals = decimals; _owner = owner; _factory = factory; _mint(msg.sender, totalSupply * (10 ** uint256(_decimals))); } /** * @dev Fallback accepts ETH. */ function () external payable {} function setSalesAddress(address sales) external onlyFactory { require(sales != address(0),"Sales address can not be zero"); _sales = sales; } function setVaultAddress(address vault) external onlyFactory { require(vault != address(0),"Vault address can not be zero"); _vault = vault; } /* * @return the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @return the symbol of the token. */ function symbol() public view returns (string memory) { return _symbol; } /** * @return the number of decimals of the token. */ function decimals() public view returns (uint8) { return _decimals; } /** * @dev Total amount of ETH this contract has ever received */ function totalIncome() public view returns (uint256) { return address(this).balance.add(_ethReleased); } function getProjectOwner() public view returns (address payable) { return _owner; } /** * @dev Gets the amount profit (ETH) a specified address can claim. * @param account The address to query the profit balance of. * @return A uint256 representing the amount of profit owed to the * passed address. */ function profitBalanceOf(address account) public view returns (uint256) { return _profits[account].unclaimedAtLastAccounting.add( _earnedSinceLastAccounting(account) ); } /** * @dev Allows profits to be claimed. * @param account The address that will receive its profit. */ function claimProfits(address payable account) public { require(account != _sales, "Sales can't claim profits"); uint256 payout = profitBalanceOf(account); require(payout > 0, "No claimable profit!!"); _profits[account].unclaimedAtLastAccounting = 0; _profits[account].incomeAtLastAccounting = totalIncome(); _ethReleased = _ethReleased.add(payout); emit Claim(account, payout); account.transfer(payout); } /** * @dev Gets the amount of ETH the contract has received since the last * profit accounting for an address. * @param account The address in question. */ function _incomeSinceLastAccounting(address account) internal view returns (uint256) { return totalIncome().sub(_profits[account].incomeAtLastAccounting); } /** * @dev Gets the amount of ETH an address has earned (as profits) since * the last profit accounting for the address. * @param account The address in question. */ function _earnedSinceLastAccounting(address account) internal view returns (uint256) { if (totalSupply() == 0){ return 0; } return _incomeSinceLastAccounting(account) .mul(balanceOf(account)) .div((totalSupply().sub(balanceOf(_sales))).sub(balanceOf(_vault))); } /** * @dev Updates the value `_profits[account].unclaimedAtLastAccounting` * for a given account. * Updates `_profits[account].incomeAtLastAccounting` to reflect the * most recent `totalIncome()` of the contract. * @param account The address for which profit accounting will be done. */ function _profitAccounting(address account) internal { _profits[account].unclaimedAtLastAccounting = _profits[account] .unclaimedAtLastAccounting.add(_earnedSinceLastAccounting(account)); _profits[account].incomeAtLastAccounting = totalIncome(); } /** * @dev Transfer token for a specified addresses. * Performs profit accounting before moving tokens. * @param sender The address to transfer from. * @param receiver The address to transfer to. * @param value The amount to be transferred. */ function _transfer( address sender, address receiver, uint256 value ) internal { //profit accounting _profitAccounting(sender); _profitAccounting(receiver); super._transfer(sender, receiver, value); } /** * @dev Internal function that mints an amount of the token and assigns it * to an account. This encapsulates the modification of balances such that * the proper events are emitted. * Perfroms profit accouting before minting. * @param account The account that will receive the created tokens. * @param value The amount that will be created. */ function _mint(address account, uint256 value) internal { _profitAccounting(account); super._mint(account, value); } /** * @dev Internal function that burns an amount of the token of a given * account. * Performs profit accounting * @param account The account whose tokens will be burnt. * @param value The amount that will be burnt. */ function _burn(address account, uint256 value) internal { _profitAccounting(account); super._burn(account, value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","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":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalIncome","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"vault","type":"address"}],"name":"setVaultAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"claimProfits","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sales","type":"address"}],"name":"setSalesAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getProjectOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"profitBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"decimals","type":"uint8"},{"name":"totalSupply","type":"uint256"},{"name":"owner","type":"address"},{"name":"factory","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"payout","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162002bca38038062002bca833981018060405260c08110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b828101905060208101848111156200006757600080fd5b81518560018202830111640100000000821117156200008557600080fd5b50509291906020018051640100000000811115620000a257600080fd5b82810190506020810184811115620000b957600080fd5b8151856001820283011164010000000082111715620000d757600080fd5b50509291906020018051906020019092919080519060200190929190805190602001909291908051906020019092919050505085600590805190602001906200012292919062000962565b5084600690805190602001906200013b92919062000962565b5083600760006101000a81548160ff021916908360ff16021790555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200020233600760009054906101000a900460ff1660ff16600a0a85026200020e60201b60201c565b50505050505062000a11565b6200021f826200023a60201b60201c565b6200023682826200034560201b62001ed11760201c565b5050565b620002a66200024f826200050f60201b60201c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546200063360201b6200160d1790919060201c565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550620002fc620006bc60201b60201c565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620003e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b62000405816002546200063360201b6200160d1790919060201c565b60028190555062000463816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200063360201b6200160d1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008062000522620006f660201b60201c565b14156200053357600090506200062e565b6200062b620005dd6200056e600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200070060201b60201c565b620005c9620005a5600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200070060201b60201c565b620005b5620006f660201b60201c565b6200074860201b620015841790919060201c565b6200074860201b620015841790919060201c565b62000617620005f2856200070060201b60201c565b6200060386620007d260201b60201c565b6200084660201b62001dbc1790919060201c565b620008d160201b62001e421790919060201c565b90505b919050565b600080828401905083811015620006b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000620006f16004543073ffffffffffffffffffffffffffffffffffffffff16316200063360201b6200160d1790919060201c565b905090565b6000600254905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600082821115620007c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b60006200083f600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546200082b620006bc60201b60201c565b6200074860201b620015841790919060201c565b9050919050565b6000808314156200085b5760009050620008cb565b60008284029050828482816200086d57fe5b0414620008c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018062002ba96021913960400191505060405180910390fd5b809150505b92915050565b600080821162000949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b60008284816200095557fe5b0490508091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620009a557805160ff1916838001178555620009d6565b82800160010185558215620009d6579182015b82811115620009d5578251825591602001919060010190620009b8565b5b509050620009e59190620009e9565b5090565b62000a0e91905b8082111562000a0a576000816000905550600101620009f0565b5090565b90565b6121888062000a216000396000f3fe6080604052600436106101145760003560e01c806379cc6790116100a0578063a9059cbb11610064578063a9059cbb14610646578063c7876d2e146106b9578063dd62ed3e1461070a578063e6d685951461078f578063e7b69b90146107e657610114565b806379cc67901461044657806385535cc5146104a157806395d89b41146104f2578063993ac84c14610582578063a457c2d7146105d357610114565b8063313ce567116100e7578063313ce567146102d7578063395093511461030857806342966c681461037b578063522577e9146103b657806370a08231146103e157610114565b806306fdde0314610116578063095ea7b3146101a657806318160ddd1461021957806323b872dd14610244575b005b34801561012257600080fd5b5061012b61084b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578082015181840152602081019050610150565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b257600080fd5b506101ff600480360360408110156101c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ed565b604051808215151515815260200191505060405180910390f35b34801561022557600080fd5b5061022e610904565b6040518082815260200191505060405180910390f35b34801561025057600080fd5b506102bd6004803603606081101561026757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061090e565b604051808215151515815260200191505060405180910390f35b3480156102e357600080fd5b506102ec6109bf565b604051808260ff1660ff16815260200191505060405180910390f35b34801561031457600080fd5b506103616004803603604081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109d6565b604051808215151515815260200191505060405180910390f35b34801561038757600080fd5b506103b46004803603602081101561039e57600080fd5b8101908080359060200190929190505050610a7b565b005b3480156103c257600080fd5b506103cb610a88565b6040518082815260200191505060405180910390f35b3480156103ed57600080fd5b506104306004803603602081101561040457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610abb565b6040518082815260200191505060405180910390f35b34801561045257600080fd5b5061049f6004803603604081101561046957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b03565b005b3480156104ad57600080fd5b506104f0600480360360208110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b11565b005b3480156104fe57600080fd5b50610507610cbb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054757808201518184015260208101905061052c565b50505050905090810190601f1680156105745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561058e57600080fd5b506105d1600480360360208110156105a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5d565b005b3480156105df57600080fd5b5061062c600480360360408110156105f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fee565b604051808215151515815260200191505060405180910390f35b34801561065257600080fd5b5061069f6004803603604081101561066957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611093565b604051808215151515815260200191505060405180910390f35b3480156106c557600080fd5b50610708600480360360208110156106dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110aa565b005b34801561071657600080fd5b506107796004803603604081101561072d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611254565b6040518082815260200191505060405180910390f35b34801561079b57600080fd5b506107a46112db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f257600080fd5b506108356004803603602081101561080957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611305565b6040518082815260200191505060405180910390f35b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108e35780601f106108b8576101008083540402835291602001916108e3565b820191906000526020600020905b8154815290600101906020018083116108c657829003601f168201915b5050505050905090565b60006108fa33848461136b565b6001905092915050565b6000600254905090565b600061091b848484611562565b6109b484336109af85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b61136b565b600190509392505050565b6000600760009054906101000a900460ff16905090565b6000610a713384610a6c85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160d90919063ffffffff16565b61136b565b6001905092915050565b610a853382611695565b50565b6000610ab66004543073ffffffffffffffffffffffffffffffffffffffff163161160d90919063ffffffff16565b905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b0d82826116ac565b5050565b3373ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f6e6c7920746f6b656e20666163746f72792063616e207365742076616c756581525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5661756c7420616464726573732063616e206e6f74206265207a65726f00000081525060200191505060405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d535780601f10610d2857610100808354040283529160200191610d53565b820191906000526020600020905b815481529060010190602001808311610d3657829003601f168201915b5050505050905090565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616c65732063616e277420636c61696d2070726f666974730000000000000081525060200191505060405180910390fd5b6000610e2c82611305565b905060008111610ea4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f20636c61696d61626c652070726f6669742121000000000000000000000081525060200191505060405180910390fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550610ef4610a88565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610f4f8160045461160d90919063ffffffff16565b6004819055508173ffffffffffffffffffffffffffffffffffffffff167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fe9573d6000803e3d6000fd5b505050565b6000611089338461108485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b61136b565b6001905092915050565b60006110a0338484611562565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461116d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f6e6c7920746f6b656e20666163746f72792063616e207365742076616c756581525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f53616c657320616464726573732063616e206e6f74206265207a65726f00000081525060200191505060405180910390fd5b80600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061136461131383611753565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461160d90919063ffffffff16565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806121396024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611477576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806120b06022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b61156b83611829565b61157482611829565b61157f83838361191d565b505050565b6000828211156115fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008082840190508381101561168b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61169e82611829565b6116a88282611bb9565b5050565b6116b68282611695565b61174f823361174a84600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b61136b565b5050565b60008061175e610904565b141561176d5760009050611824565b6118216117f061179e600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abb565b6117e26117cc600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abb565b6117d4610904565b61158490919063ffffffff16565b61158490919063ffffffff16565b6118136117fc85610abb565b61180586611d57565b611dbc90919063ffffffff16565b611e4290919063ffffffff16565b90505b919050565b61188661183582611753565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461160d90919063ffffffff16565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506118d4610a88565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806121146025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061208d6023913960400191505060405180910390fd5b611a7a816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b0d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806120f36021913960400191505060405180910390fd5b611c548160025461158490919063ffffffff16565b600281905550611cab816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611db5600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154611da7610a88565b61158490919063ffffffff16565b9050919050565b600080831415611dcf5760009050611e3c565b6000828402905082848281611de057fe5b0414611e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806120d26021913960400191505060405180910390fd5b809150505b92915050565b6000808211611eb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481611ec457fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b611f898160025461160d90919063ffffffff16565b600281905550611fe0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820f757ed596805237bafd4885090585adb3a4ac6e5fe35a6dddd35b4dc941dbb0d0029536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000bf14fbc54c6ab5e668dc088f716ff674c66c500e0000000000000000000000000009f223eeec0145a97e4cf0a1ca87d775a249a90000000000000000000000000000000000000000000000000000000000000015536561726368696e6720666f72205361746f736869000000000000000000000000000000000000000000000000000000000000000000000000000000000000035334530000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101145760003560e01c806379cc6790116100a0578063a9059cbb11610064578063a9059cbb14610646578063c7876d2e146106b9578063dd62ed3e1461070a578063e6d685951461078f578063e7b69b90146107e657610114565b806379cc67901461044657806385535cc5146104a157806395d89b41146104f2578063993ac84c14610582578063a457c2d7146105d357610114565b8063313ce567116100e7578063313ce567146102d7578063395093511461030857806342966c681461037b578063522577e9146103b657806370a08231146103e157610114565b806306fdde0314610116578063095ea7b3146101a657806318160ddd1461021957806323b872dd14610244575b005b34801561012257600080fd5b5061012b61084b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016b578082015181840152602081019050610150565b50505050905090810190601f1680156101985780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101b257600080fd5b506101ff600480360360408110156101c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ed565b604051808215151515815260200191505060405180910390f35b34801561022557600080fd5b5061022e610904565b6040518082815260200191505060405180910390f35b34801561025057600080fd5b506102bd6004803603606081101561026757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061090e565b604051808215151515815260200191505060405180910390f35b3480156102e357600080fd5b506102ec6109bf565b604051808260ff1660ff16815260200191505060405180910390f35b34801561031457600080fd5b506103616004803603604081101561032b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109d6565b604051808215151515815260200191505060405180910390f35b34801561038757600080fd5b506103b46004803603602081101561039e57600080fd5b8101908080359060200190929190505050610a7b565b005b3480156103c257600080fd5b506103cb610a88565b6040518082815260200191505060405180910390f35b3480156103ed57600080fd5b506104306004803603602081101561040457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610abb565b6040518082815260200191505060405180910390f35b34801561045257600080fd5b5061049f6004803603604081101561046957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b03565b005b3480156104ad57600080fd5b506104f0600480360360208110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b11565b005b3480156104fe57600080fd5b50610507610cbb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054757808201518184015260208101905061052c565b50505050905090810190601f1680156105745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561058e57600080fd5b506105d1600480360360208110156105a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5d565b005b3480156105df57600080fd5b5061062c600480360360408110156105f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fee565b604051808215151515815260200191505060405180910390f35b34801561065257600080fd5b5061069f6004803603604081101561066957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611093565b604051808215151515815260200191505060405180910390f35b3480156106c557600080fd5b50610708600480360360208110156106dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110aa565b005b34801561071657600080fd5b506107796004803603604081101561072d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611254565b6040518082815260200191505060405180910390f35b34801561079b57600080fd5b506107a46112db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107f257600080fd5b506108356004803603602081101561080957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611305565b6040518082815260200191505060405180910390f35b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108e35780601f106108b8576101008083540402835291602001916108e3565b820191906000526020600020905b8154815290600101906020018083116108c657829003601f168201915b5050505050905090565b60006108fa33848461136b565b6001905092915050565b6000600254905090565b600061091b848484611562565b6109b484336109af85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b61136b565b600190509392505050565b6000600760009054906101000a900460ff16905090565b6000610a713384610a6c85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160d90919063ffffffff16565b61136b565b6001905092915050565b610a853382611695565b50565b6000610ab66004543073ffffffffffffffffffffffffffffffffffffffff163161160d90919063ffffffff16565b905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b0d82826116ac565b5050565b3373ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f6e6c7920746f6b656e20666163746f72792063616e207365742076616c756581525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5661756c7420616464726573732063616e206e6f74206265207a65726f00000081525060200191505060405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d535780601f10610d2857610100808354040283529160200191610d53565b820191906000526020600020905b815481529060010190602001808311610d3657829003601f168201915b5050505050905090565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616c65732063616e277420636c61696d2070726f666974730000000000000081525060200191505060405180910390fd5b6000610e2c82611305565b905060008111610ea4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f20636c61696d61626c652070726f6669742121000000000000000000000081525060200191505060405180910390fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550610ef4610a88565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610f4f8160045461160d90919063ffffffff16565b6004819055508173ffffffffffffffffffffffffffffffffffffffff167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fe9573d6000803e3d6000fd5b505050565b6000611089338461108485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b61136b565b6001905092915050565b60006110a0338484611562565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461116d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f6e6c7920746f6b656e20666163746f72792063616e207365742076616c756581525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f53616c657320616464726573732063616e206e6f74206265207a65726f00000081525060200191505060405180910390fd5b80600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061136461131383611753565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461160d90919063ffffffff16565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806121396024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611477576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806120b06022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b61156b83611829565b61157482611829565b61157f83838361191d565b505050565b6000828211156115fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008082840190508381101561168b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b61169e82611829565b6116a88282611bb9565b5050565b6116b68282611695565b61174f823361174a84600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b61136b565b5050565b60008061175e610904565b141561176d5760009050611824565b6118216117f061179e600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abb565b6117e26117cc600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abb565b6117d4610904565b61158490919063ffffffff16565b61158490919063ffffffff16565b6118136117fc85610abb565b61180586611d57565b611dbc90919063ffffffff16565b611e4290919063ffffffff16565b90505b919050565b61188661183582611753565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461160d90919063ffffffff16565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506118d4610a88565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806121146025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061208d6023913960400191505060405180910390fd5b611a7a816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b0d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806120f36021913960400191505060405180910390fd5b611c548160025461158490919063ffffffff16565b600281905550611cab816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611db5600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154611da7610a88565b61158490919063ffffffff16565b9050919050565b600080831415611dcf5760009050611e3c565b6000828402905082848281611de057fe5b0414611e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806120d26021913960400191505060405180910390fd5b809150505b92915050565b6000808211611eb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481611ec457fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b611f898160025461160d90919063ffffffff16565b600281905550611fe0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820f757ed596805237bafd4885090585adb3a4ac6e5fe35a6dddd35b4dc941dbb0d0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000bf14fbc54c6ab5e668dc088f716ff674c66c500e0000000000000000000000000009f223eeec0145a97e4cf0a1ca87d775a249a90000000000000000000000000000000000000000000000000000000000000015536561726368696e6720666f72205361746f736869000000000000000000000000000000000000000000000000000000000000000000000000000000000000035334530000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): Searching for Satoshi
Arg [1] : symbol (string): S4S
Arg [2] : decimals (uint8): 18
Arg [3] : totalSupply (uint256): 100000000
Arg [4] : owner (address): 0xBF14FBc54C6Ab5e668DC088F716Ff674C66C500e
Arg [5] : factory (address): 0x0009F223eeEC0145a97e4cf0a1cA87d775A249a9
-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [4] : 000000000000000000000000bf14fbc54c6ab5e668dc088f716ff674c66c500e
Arg [5] : 0000000000000000000000000009f223eeec0145a97e4cf0a1ca87d775a249a9
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000015
Arg [7] : 536561726368696e6720666f72205361746f7368690000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [9] : 5334530000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
17654:6741:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19475:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19475:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;19475:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11257:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11257:148:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11257:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10280:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10280:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11876:256;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11876:256:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11876:256:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19791:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19791:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12541:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12541:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12541:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17129:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17129:81:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17129:81:0;;;;;;;;;;;;;;;;;:::i;:::-;;19965:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19965:118:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10434:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10434:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10434:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17272:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17272:103:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17272:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19244:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19244:165:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19244:165:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;19625:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19625:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;19625:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20790:485;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20790:485:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20790:485:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;13250:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13250:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13250:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10757:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10757:156:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10757:156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19071:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19071:165:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19071:165:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10976:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10976:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10976:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20091:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20091:97:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20450:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20450:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20450:206:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19475:83;19512:13;19545:5;19538:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19475:83;:::o;11257:148::-;11322:4;11339:36;11348:10;11360:7;11369:5;11339:8;:36::i;:::-;11393:4;11386:11;;11257:148;;;;:::o;10280:91::-;10324:7;10351:12;;10344:19;;10280:91;:::o;11876:256::-;11965:4;11982:36;11992:6;12000:9;12011:6;11982:9;:36::i;:::-;12029:73;12038:6;12046:10;12058:43;12094:6;12058:11;:19;12070:6;12058:19;;;;;;;;;;;;;;;:31;12078:10;12058:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;12029:8;:73::i;:::-;12120:4;12113:11;;11876:256;;;;;:::o;19791:83::-;19832:5;19857:9;;;;;;;;;;;19850:16;;19791:83;:::o;12541:206::-;12621:4;12638:79;12647:10;12659:7;12668:48;12705:10;12668:11;:23;12680:10;12668:23;;;;;;;;;;;;;;;:32;12692:7;12668:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;12638:8;:79::i;:::-;12735:4;12728:11;;12541:206;;;;:::o;17129:81::-;17177:25;17183:10;17195:6;17177:5;:25::i;:::-;17129:81;:::o;19965:118::-;20009:7;20036:39;20062:12;;20044:4;20036:21;;;:25;;:39;;;;:::i;:::-;20029:46;;19965:118;:::o;10434:110::-;10491:7;10518:9;:18;10528:7;10518:18;;;;;;;;;;;;;;;;10511:25;;10434:110;;;:::o;17272:103::-;17341:26;17351:7;17360:6;17341:9;:26::i;:::-;17272:103;;:::o;19244:165::-;18099:10;18087:22;;:8;;;;;;;;;;;:22;;;18079:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19341:1;19324:19;;:5;:19;;;;19316:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19396:5;19387:6;;:14;;;;;;;;;;;;;;;;;;19244:165;:::o;19625:87::-;19664:13;19697:7;19690:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19625:87;:::o;20790:485::-;20874:6;;;;;;;;;;;20863:17;;:7;:17;;;;20855:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20923:14;20940:24;20956:7;20940:15;:24::i;:::-;20923:41;;20992:1;20983:6;:10;20975:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21076:1;21030:8;:17;21039:7;21030:17;;;;;;;;;;;;;;;:43;;:47;;;;21131:13;:11;:13::i;:::-;21088:8;:17;21097:7;21088:17;;;;;;;;;;;;;;;:40;;:56;;;;21170:24;21187:6;21170:12;;:16;;:24;;;;:::i;:::-;21155:12;:39;;;;21216:7;21210:22;;;21225:6;21210:22;;;;;;;;;;;;;;;;;;21243:7;:16;;:24;21260:6;21243:24;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21243:24:0;20790:485;;:::o;13250:216::-;13335:4;13352:84;13361:10;13373:7;13382:53;13419:15;13382:11;:23;13394:10;13382:23;;;;;;;;;;;;;;;:32;13406:7;13382:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;13352:8;:84::i;:::-;13454:4;13447:11;;13250:216;;;;:::o;10757:156::-;10826:4;10843:40;10853:10;10865:9;10876:6;10843:9;:40::i;:::-;10901:4;10894:11;;10757:156;;;;:::o;19071:165::-;18099:10;18087:22;;:8;;;;;;;;;;;:22;;;18079:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19168:1;19151:19;;:5;:19;;;;19143:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19223:5;19214:6;;:14;;;;;;;;;;;;;;;;;;19071:165;:::o;10976:134::-;11048:7;11075:11;:18;11087:5;11075:18;;;;;;;;;;;;;;;:27;11094:7;11075:27;;;;;;;;;;;;;;;;11068:34;;10976:134;;;;:::o;20091:97::-;20139:15;20174:6;;;;;;;;;;;20167:13;;20091:97;:::o;20450:206::-;20513:7;20540:108;20602:35;20629:7;20602:26;:35::i;:::-;20540:8;:17;20549:7;20540:17;;;;;;;;;;;;;;;:43;;;:47;;:108;;;;:::i;:::-;20533:115;;20450:206;;;:::o;16052:335::-;16162:1;16145:19;;:5;:19;;;;16137:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16243:1;16224:21;;:7;:21;;;;16216:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16327:5;16297:11;:18;16309:5;16297:18;;;;;;;;;;;;;;;:27;16316:7;16297:27;;;;;;;;;;;;;;;:35;;;;16364:7;16348:31;;16357:5;16348:31;;;16373:5;16348:31;;;;;;;;;;;;;;;;;;16052:335;;;:::o;23144:291::-;23311:25;23329:6;23311:17;:25::i;:::-;23347:27;23365:8;23347:17;:27::i;:::-;23387:40;23403:6;23411:8;23421:5;23387:15;:40::i;:::-;23144:291;;;:::o;3691:184::-;3749:7;3782:1;3777;:6;;3769:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3829:9;3845:1;3841;:5;3829:17;;3866:1;3859:8;;;3691:184;;;;:::o;3235:181::-;3293:7;3313:9;3329:1;3325;:5;3313:17;;3354:1;3349;:6;;3341:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3407:1;3400:8;;;3235:181;;;;:::o;24249:143::-;24318:26;24336:7;24318:17;:26::i;:::-;24357:27;24369:7;24378:5;24357:11;:27::i;:::-;24249:143;;:::o;16572:188::-;16644:22;16650:7;16659:6;16644:5;:22::i;:::-;16677:75;16686:7;16695:10;16707:44;16744:6;16707:11;:20;16719:7;16707:20;;;;;;;;;;;;;;;:32;16728:10;16707:32;;;;;;;;;;;;;;;;:36;;:44;;;;:::i;:::-;16677:8;:75::i;:::-;16572:188;;:::o;21873:359::-;21976:7;22022:1;22005:13;:11;:13::i;:::-;:18;22001:58;;;22046:1;22039:8;;;;22001:58;22078:146;22162:61;22205:17;22215:6;;;;;;;;;;;22205:9;:17::i;:::-;22163:36;22181:17;22191:6;;;;;;;;;;;22181:9;:17::i;:::-;22163:13;:11;:13::i;:::-;:17;;:36;;;;:::i;:::-;22162:42;;:61;;;;:::i;:::-;22078:69;22128:18;22138:7;22128:9;:18::i;:::-;22078:35;22105:7;22078:26;:35::i;:::-;:49;;:69;;;;:::i;:::-;:83;;:146;;;;:::i;:::-;22071:153;;21873:359;;;;:::o;22568:283::-;22678:98;22740:35;22767:7;22740:26;:35::i;:::-;22678:8;:17;22687:7;22678:17;;;;;;;;;;;;;;;:57;;;:61;;:98;;;;:::i;:::-;22632:8;:17;22641:7;22632:17;;;;;;;;;;;;;;;:43;;:144;;;;22830:13;:11;:13::i;:::-;22787:8;:17;22796:7;22787:17;;;;;;;;;;;;;;;:40;;:56;;;;22568:283;:::o;13956:429::-;14072:1;14054:20;;:6;:20;;;;14046:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14156:1;14135:23;;:9;:23;;;;14127:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14231:29;14253:6;14231:9;:17;14241:6;14231:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;14211:9;:17;14221:6;14211:17;;;;;;;;;;;;;;;:49;;;;14294:32;14319:6;14294:9;:20;14304:9;14294:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;14271:9;:20;14281:9;14271:20;;;;;;;;;;;;;;;:55;;;;14359:9;14342:35;;14351:6;14342:35;;;14370:6;14342:35;;;;;;;;;;;;;;;;;;13956:429;;;:::o;15306:306::-;15400:1;15381:21;;:7;:21;;;;15373:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15468:23;15485:5;15468:12;;:16;;:23;;;;:::i;:::-;15453:12;:38;;;;15523:29;15546:5;15523:9;:18;15533:7;15523:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;15502:9;:18;15512:7;15502:18;;;;;;;;;;;;;;;:50;;;;15594:1;15568:36;;15577:7;15568:36;;;15598:5;15568:36;;;;;;;;;;;;;;;;;;15306:306;;:::o;21468:202::-;21571:7;21603:59;21621:8;:17;21630:7;21621:17;;;;;;;;;;;;;;;:40;;;21603:13;:11;:13::i;:::-;:17;;:59;;;;:::i;:::-;21596:66;;21468:202;;;:::o;4126:470::-;4184:7;4433:1;4428;:6;4424:47;;;4458:1;4451:8;;;;4424:47;4483:9;4499:1;4495;:5;4483:17;;4528:1;4523;4519;:5;;;;;;:10;4511:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4587:1;4580:8;;;4126:470;;;;;:::o;5064:333::-;5122:7;5221:1;5217;:5;5209:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5264:9;5280:1;5276;:5;;;;;;5264:17;;5388:1;5381:8;;;5064:333;;;;:::o;14666:308::-;14761:1;14742:21;;:7;:21;;;;14734:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14827:24;14844:6;14827:12;;:16;;:24;;;;:::i;:::-;14812:12;:39;;;;14883:30;14906:6;14883:9;:18;14893:7;14883:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;14862:9;:18;14872:7;14862:18;;;;;;;;;;;;;;;:51;;;;14950:7;14929:37;;14946:1;14929:37;;;14959:6;14929:37;;;;;;;;;;;;;;;;;;14666:308;;:::o
Swarm Source
bzzr://f757ed596805237bafd4885090585adb3a4ac6e5fe35a6dddd35b4dc941dbb0d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.