More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 1,222 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Wei Per USD | 5643058 | 2257 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603393 | 2264 days ago | IN | 0 ETH | 0.00011164 | ||||
Set Wei Per USD | 5603393 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011164 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011164 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011164 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603392 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603391 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603389 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603387 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603387 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5603386 | 2264 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5597527 | 2265 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5597418 | 2265 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5597313 | 2265 days ago | IN | 0 ETH | 0.00011189 | ||||
Add Many To Whit... | 5596945 | 2265 days ago | IN | 0 ETH | 0.00288186 | ||||
Set Wei Per USD | 5593501 | 2266 days ago | IN | 0 ETH | 0.00011189 | ||||
Set Wei Per USD | 5593420 | 2266 days ago | IN | 0 ETH | 0.00011189 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
PentacoreToken
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-04-26 */ pragma solidity ^0.4.21; // File: zeppelin-solidity/contracts/math/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } // File: zeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: zeppelin-solidity/contracts/token/ERC20/BasicToken.sol /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; uint256 totalSupply_; /** * @dev total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } } // File: zeppelin-solidity/contracts/token/ERC20/ERC20.sol /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } // File: zeppelin-solidity/contracts/token/ERC20/StandardToken.sol /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * 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 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval(address _spender, uint _addedValue) public returns (bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } // File: contracts/PentacoreToken.sol /** * @title Smart Contract which defines the token managed by the Pentacore Hedge Fund. * @author Jordan Stojanovski */ contract PentacoreToken is StandardToken { using SafeMath for uint256; string public name = 'PentacoreToken'; string public symbol = 'PENT'; uint256 public constant million = 1000000; uint256 public constant tokenCap = 1000 * million; // one billion tokens bool public isPaused = true; // Unlike the common practice to put the whitelist checks in the crowdsale, // the PentacoreToken does these tests itself. This is mandated by legal // issues, as follows: // - The exchange can be anywhere and it should not be concerned with // Pentacore's whitelisting methods. If the exchange desires, it can // perform its own KYC. // - Even after the Crowdsale / ICO if a whitelisted owner tries to sell // their tokens to a non-whitelisted buyer (address), the seller shall be // directed to the KYC process to be whitelisted before the sale can proceed. // This prevents against selling tokens to buyers under embargo. // - If the seller is removed from the whitelist prior to the sale attempt, // the corresponding sale should be reported to the authorities instead of // allowing the seller to proceed. This is subject of further discussion. mapping(address => bool) public whitelist; // If set to true, allow transfers between any addresses regardless of whitelist. // However, sale and/or redemption would still be not allowed regardless of this flag. // In the future, if it is determined that it is legal to transfer but not sell and/or redeem, // we could turn this flag on. bool public isFreeTransferAllowed = false; uint256 public tokenNAVMicroUSD; // Net Asset Value per token in MicroUSD (millionths of 1 US$) uint256 public weiPerUSD; // How many Wei is one US$ // Who's Who address public owner; // The owner of this contract. address public kycAdmin; // The address of the caller which can update the KYC status of an address. address public navAdmin; // The address of the caller which can update the NAV/USD and ETH/USD values. address public crowdsale; //The address of the crowdsale contract. address public redemption; // The address of the redemption contract. address public distributedAutonomousExchange; // The address of the exchange contract. event Mint(address indexed to, uint256 amount); event Burn(uint256 amount); event AddToWhitelist(address indexed beneficiary); event RemoveFromWhitelist(address indexed beneficiary); function PentacoreToken() public { owner = msg.sender; tokenNAVMicroUSD = million; // Initially 1 PENT = 1 US$ (a million millionths) isFreeTransferAllowed = false; isPaused = true; totalSupply_ = 0; // No tokens exist at creation. They are minted as sold. } /** * @dev Throws if called by any account other than the authorized one. * @param authorized the address of the authorized caller. */ modifier onlyBy(address authorized) { require(authorized != address(0)); require(msg.sender == authorized); _; } /** * @dev Pauses / unpauses the transferability of the token. * @param _pause pause if true; unpause if false */ function setPaused(bool _pause) public { require(owner != address(0)); require(msg.sender == owner); isPaused = _pause; } modifier notPaused() { require(!isPaused); _; } /** * @dev Sets the address of the owner. * @param _address The address of the new owner of the Token Contract. */ function transferOwnership(address _address) external onlyBy(owner) { require(_address != address(0)); // Prevent rendering it unusable owner = _address; } /** * @dev Sets the address of the PentacoreCrowdsale contract. * @param _address PentacoreCrowdsale contract address. */ function setKYCAdmin(address _address) external onlyBy(owner) { kycAdmin = _address; } /** * @dev Sets the address of the PentacoreCrowdsale contract. * @param _address PentacoreCrowdsale contract address. */ function setNAVAdmin(address _address) external onlyBy(owner) { navAdmin = _address; } /** * @dev Sets the address of the PentacoreCrowdsale contract. * @param _address PentacoreCrowdsale contract address. */ function setCrowdsaleContract(address _address) external onlyBy(owner) { crowdsale = _address; } /** * @dev Sets the address of the PentacoreRedemption contract. * @param _address PentacoreRedemption contract address. */ function setRedemptionContract(address _address) external onlyBy(owner) { redemption = _address; } /** * @dev Sets the address of the DistributedAutonomousExchange contract. * @param _address DistributedAutonomousExchange contract address. */ function setDistributedAutonomousExchange(address _address) external onlyBy(owner) { distributedAutonomousExchange = _address; } /** * @dev Sets the token price in US$. Set by owner to reflect NAV/token. * @param _price PentacoreToken price in USD. */ function setTokenNAVMicroUSD(uint256 _price) external onlyBy(navAdmin) { tokenNAVMicroUSD = _price; } /** * @dev Sets the token price in US$. Set by owner to reflect NAV/token. * @param _price PentacoreToken price in USD. */ function setWeiPerUSD(uint256 _price) external onlyBy(navAdmin) { weiPerUSD = _price; } /** * @dev Calculate the amount of Wei for a given token amount. The result is rounded down (floored) to a millionth of a US$) * @param _tokenAmount Whole number of tokens to be converted to Wei * @return amount of Wei for the given amount of tokens */ function tokensToWei(uint256 _tokenAmount) public view returns (uint256) { require(tokenNAVMicroUSD != uint256(0)); require(weiPerUSD != uint256(0)); return _tokenAmount.mul(tokenNAVMicroUSD).mul(weiPerUSD).div(million); } /** * @dev Calculate the amount tokens for a given Wei amount and the amount of change in Wei. * @param _weiAmount Whole number of Wei to be converted to tokens * @return whole amount of tokens for the given amount in Wei * @return change in Wei that is not sufficient to buy a whole token */ function weiToTokens(uint256 _weiAmount) public view returns (uint256, uint256) { require(tokenNAVMicroUSD != uint256(0)); require(weiPerUSD != uint256(0)); uint256 tokens = _weiAmount.mul(million).div(weiPerUSD).div(tokenNAVMicroUSD); uint256 changeWei = _weiAmount.sub(tokensToWei(tokens)); return (tokens, changeWei); } /** * @dev Allows / disallows free transferability of tokens regardless of whitelist. * @param _isFreeTransferAllowed disregard whitelist if true; not if false */ function setFreeTransferAllowed(bool _isFreeTransferAllowed) public { require(owner != address(0)); require(msg.sender == owner); isFreeTransferAllowed = _isFreeTransferAllowed; } /** * @dev Reverts if beneficiary is not whitelisted. Can be used when extending this contract. * @param _beneficiary the address which must be whitelisted by the KYC process in order to pass. */ modifier isWhitelisted(address _beneficiary) { require(whitelist[_beneficiary]); _; } /** * @dev Reverts if beneficiary is not whitelisted and isFreeTransferAllowed is false. Can be used when extending this contract. * @param _beneficiary the address which must be whitelisted by the KYC process in order to pass unless isFreeTransferAllowed. */ modifier isWhitelistedOrFreeTransferAllowed(address _beneficiary) { require(isFreeTransferAllowed || whitelist[_beneficiary]); _; } /** * @dev Adds single address to whitelist. * @param _beneficiary Address to be added to the whitelist */ function addToWhitelist(address _beneficiary) public onlyBy(kycAdmin) { whitelist[_beneficiary] = true; emit AddToWhitelist(_beneficiary); } /** * @dev Adds list of addresses to whitelist. * @param _beneficiaries List of addresses to be added to the whitelist */ function addManyToWhitelist(address[] _beneficiaries) external onlyBy(kycAdmin) { for (uint256 i = 0; i < _beneficiaries.length; i++) addToWhitelist(_beneficiaries[i]); } /** * @dev Removes single address from whitelist. * @param _beneficiary Address to be removed to the whitelist */ function removeFromWhitelist(address _beneficiary) public onlyBy(kycAdmin) { whitelist[_beneficiary] = false; emit RemoveFromWhitelist(_beneficiary); } /** * @dev Removes list of addresses from whitelist. * @param _beneficiaries List of addresses to be removed to the whitelist */ function removeManyFromWhitelist(address[] _beneficiaries) external onlyBy(kycAdmin) { for (uint256 i = 0; i < _beneficiaries.length; i++) removeFromWhitelist(_beneficiaries[i]); } /** * @dev Function to mint tokens. We mint as we sell tokens (actually the PentacoreCrowdsale contract does). * @dev The recipient should be whitelisted. * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address _to, uint256 _amount) public onlyBy(crowdsale) isWhitelisted(_to) returns (bool) { // Should run even when the token is paused. require(tokenNAVMicroUSD != uint256(0)); require(weiPerUSD != uint256(0)); require(totalSupply_.add(_amount) <= tokenCap); totalSupply_ = totalSupply_.add(_amount); balances[_to] = balances[_to].add(_amount); emit Mint(_to, _amount); return true; } /** * @dev Function to burn tokens. We burn as owners redeem tokens (actually the PentacoreRedemptions contract does). * @param _amount The amount of tokens to burn. * @return A boolean that indicates if the operation was successful. */ function burn(uint256 _amount) public onlyBy(redemption) returns (bool) { // Should run even when the token is paused. require(balances[redemption].sub(_amount) >= uint256(0)); require(totalSupply_.sub(_amount) >= uint256(0)); balances[redemption] = balances[redemption].sub(_amount); totalSupply_ = totalSupply_.sub(_amount); emit Burn(_amount); return true; } /** * @dev transfer token for a specified address * @dev Both the sender and the recipient should be whitelisted. * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public notPaused isWhitelistedOrFreeTransferAllowed(msg.sender) isWhitelistedOrFreeTransferAllowed(_to) returns (bool) { return super.transfer(_to, _value); } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * @dev The sender should be whitelisted. * * 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 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public notPaused isWhitelistedOrFreeTransferAllowed(msg.sender) returns (bool) { return super.approve(_spender, _value); } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * @dev The sender should be whitelisted. * * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval(address _spender, uint _addedValue) public notPaused isWhitelistedOrFreeTransferAllowed(msg.sender) returns (bool) { return super.increaseApproval(_spender, _addedValue); } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * * @dev The sender does not need to be whitelisted. This is in case they are removed from white list and no longer agree to sell at an exchange. * @dev This function stays untouched (directly inherited), but it's re-defined for clarity: * * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { return super.decreaseApproval(_spender, _subtractedValue); } /** * @dev Transfer tokens from one address to another * @dev Both the sender and the recipient should be whitelisted. * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public notPaused isWhitelistedOrFreeTransferAllowed(_from) isWhitelistedOrFreeTransferAllowed(_to) returns (bool) { return super.transferFrom(_from, _to, _value); } }
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":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_pause","type":"bool"}],"name":"setPaused","outputs":[],"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":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isFreeTransferAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setKYCAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setDistributedAutonomousExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"million","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_weiAmount","type":"uint256"}],"name":"weiToTokens","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"redemption","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setCrowdsaleContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenAmount","type":"uint256"}],"name":"tokensToWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"navAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"removeFromWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiaries","type":"address[]"}],"name":"addManyToWhitelist","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":"distributedAutonomousExchange","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":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsale","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_price","type":"uint256"}],"name":"setTokenNAVMicroUSD","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"isPaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_isFreeTransferAllowed","type":"bool"}],"name":"setFreeTransferAllowed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenNAVMicroUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_price","type":"uint256"}],"name":"setWeiPerUSD","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setRedemptionContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"addToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setNAVAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kycAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weiPerUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiaries","type":"address[]"}],"name":"removeManyFromWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"}],"name":"AddToWhitelist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"}],"name":"RemoveFromWhitelist","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"},{"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"}]
Contract Creation Code
60806040526040805190810160405280600e81526020017f50656e7461636f7265546f6b656e000000000000000000000000000000000000815250600390805190602001906200005192919062000173565b506040805190810160405280600481526020017f50454e5400000000000000000000000000000000000000000000000000000000815250600490805190602001906200009f92919062000173565b506001600560006101000a81548160ff0219169083151502179055506000600760006101000a81548160ff021916908315150217905550348015620000e357600080fd5b5033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620f42406008819055506000600760006101000a81548160ff0219169083151502179055506001600560006101000a81548160ff021916908315150217905550600060018190555062000222565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001b657805160ff1916838001178555620001e7565b82800160010185558215620001e7579182015b82811115620001e6578251825591602001919060010190620001c9565b5b509050620001f69190620001fa565b5090565b6200021f91905b808211156200021b57600081600090555060010162000201565b5090565b90565b61337680620002326000396000f3006080604052600436106101f9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101fe578063095ea7b31461028e57806316c38b3c146102f357806318160ddd1461032257806323b872dd1461034d5780633a134c00146103d2578063409f8c481461040157806340c10f191461044457806342966c68146104a95780634b45765b146104ee5780634e9c6b1f1461053157806353aaef7d1461055c5780635467e0a7146105a45780636596cff3146105fb578063661884631461063e57806370a08231146106a35780637346ec57146106fa57806376e0f9781461073b5780638ab1d681146107925780638c10671c146107d55780638da5cb5b146108105780638f6612c91461086757806395d89b41146108be5780639b19251a1461094e5780639c1e03a0146109a9578063a20cf0e714610a00578063a9059cbb14610a2d578063b187bd2614610a92578063c34b6ae014610ac1578063c85aff4814610af0578063cad461ea14610b1b578063d028139c14610b48578063d73dd62314610b8b578063dd54291b14610bf0578063dd62ed3e14610c1b578063e43252d714610c92578063e49b6d0014610cd5578063ec9e797114610d18578063f2fde38b14610d6f578063f62de0c314610db2578063f674d79914610ddd575b600080fd5b34801561020a57600080fd5b50610213610e18565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610253578082015181840152602081019050610238565b50505050905090810190601f1680156102805780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029a57600080fd5b506102d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610eb6565b604051808215151515815260200191505060405180910390f35b3480156102ff57600080fd5b50610320600480360381019080803515159060200190929190505050610f57565b005b34801561032e57600080fd5b5061033761102e565b6040518082815260200191505060405180910390f35b34801561035957600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611038565b604051808215151515815260200191505060405180910390f35b3480156103de57600080fd5b506103e761114c565b604051808215151515815260200191505060405180910390f35b34801561040d57600080fd5b50610442600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061115f565b005b34801561045057600080fd5b5061048f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061123d565b604051808215151515815260200191505060405180910390f35b3480156104b557600080fd5b506104d460048036038101908080359060200190929190505050611487565b604051808215151515815260200191505060405180910390f35b3480156104fa57600080fd5b5061052f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116fb565b005b34801561053d57600080fd5b506105466117d9565b6040518082815260200191505060405180910390f35b34801561056857600080fd5b50610587600480360381019080803590602001909291905050506117e0565b604051808381526020018281526020019250505060405180910390f35b3480156105b057600080fd5b506105b9611874565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060757600080fd5b5061063c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189a565b005b34801561064a57600080fd5b50610689600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611978565b604051808215151515815260200191505060405180910390f35b3480156106af57600080fd5b506106e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061198c565b6040518082815260200191505060405180910390f35b34801561070657600080fd5b50610725600480360381019080803590602001909291905050506119d4565b6040518082815260200191505060405180910390f35b34801561074757600080fd5b50610750611a3e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079e57600080fd5b506107d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a64565b005b3480156107e157600080fd5b5061080e600480360381019080803590602001908201803590602001919091929391929390505050611b9c565b005b34801561081c57600080fd5b50610825611c8d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561087357600080fd5b5061087c611cb3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108ca57600080fd5b506108d3611cd9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109135780820151818401526020810190506108f8565b50505050905090810190601f1680156109405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561095a57600080fd5b5061098f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d77565b604051808215151515815260200191505060405180910390f35b3480156109b557600080fd5b506109be611d97565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a0c57600080fd5b50610a2b60048036038101908080359060200190929190505050611dbd565b005b348015610a3957600080fd5b50610a78600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e61565b604051808215151515815260200191505060405180910390f35b348015610a9e57600080fd5b50610aa7611f73565b604051808215151515815260200191505060405180910390f35b348015610acd57600080fd5b50610aee600480360381019080803515159060200190929190505050611f86565b005b348015610afc57600080fd5b50610b0561205d565b6040518082815260200191505060405180910390f35b348015610b2757600080fd5b50610b4660048036038101908080359060200190929190505050612063565b005b348015610b5457600080fd5b50610b89600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612107565b005b348015610b9757600080fd5b50610bd6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121e5565b604051808215151515815260200191505060405180910390f35b348015610bfc57600080fd5b50610c05612286565b6040518082815260200191505060405180910390f35b348015610c2757600080fd5b50610c7c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612291565b6040518082815260200191505060405180910390f35b348015610c9e57600080fd5b50610cd3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612318565b005b348015610ce157600080fd5b50610d16600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612450565b005b348015610d2457600080fd5b50610d2d61252e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d7b57600080fd5b50610db0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612554565b005b348015610dbe57600080fd5b50610dc761266e565b6040518082815260200191505060405180910390f35b348015610de957600080fd5b50610e16600480360381019080803590602001908201803590602001919091929391929390505050612674565b005b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eae5780601f10610e8357610100808354040283529160200191610eae565b820191906000526020600020905b815481529060010190602001808311610e9157829003601f168201915b505050505081565b6000600560009054906101000a900460ff16151515610ed457600080fd5b33600760009054906101000a900460ff1680610f395750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515610f4457600080fd5b610f4e8484612765565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610fb557600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561101157600080fd5b80600560006101000a81548160ff02191690831515021790555050565b6000600154905090565b6000600560009054906101000a900460ff1615151561105657600080fd5b83600760009054906101000a900460ff16806110bb5750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156110c657600080fd5b83600760009054906101000a900460ff168061112b5750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561113657600080fd5b611141868686612857565b925050509392505050565b600760009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111f857600080fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561129e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112d857600080fd5b83600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561133157600080fd5b60006008541415151561134357600080fd5b60006009541415151561135557600080fd5b620f42406103e80261137285600154612c1190919063ffffffff16565b1115151561137f57600080fd5b61139484600154612c1190919063ffffffff16565b6001819055506113eb846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885856040518082815260200191505060405180910390a260019250505092915050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114e857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561152257600080fd5b600061159784600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b101515156115a457600080fd5b60006115bb84600154612c2f90919063ffffffff16565b101515156115c857600080fd5b61163b83600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116b483600154612c2f90919063ffffffff16565b6001819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb836040518082815260200191505060405180910390a16001915050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561175a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561179457600080fd5b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b620f424081565b6000806000806000600854141515156117f857600080fd5b60006009541415151561180a57600080fd5b61184860085461183a60095461182c620f42408a612c4890919063ffffffff16565b612c8390919063ffffffff16565b612c8390919063ffffffff16565b9150611865611856836119d4565b86612c2f90919063ffffffff16565b90508181935093505050915091565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156118f957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561193357600080fd5b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60006119848383612c9e565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600854141515156119e757600080fd5b6000600954141515156119f957600080fd5b611a37620f4240611a29600954611a1b60085487612c4890919063ffffffff16565b612c4890919063ffffffff16565b612c8390919063ffffffff16565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ac357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611afd57600080fd5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f1f756c8b089af6b33ee121fee8badac2553a2fa89c0575ea91ff8792617746c260405160405180910390a25050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bfd57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c3757600080fd5b600091505b83839050821015611c8757611c7a8484848181101515611c5857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16612318565b8180600101925050611c3c565b50505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d6f5780601f10611d4457610100808354040283529160200191611d6f565b820191906000526020600020905b815481529060010190602001808311611d5257829003601f168201915b505050505081565b60066020528060005260406000206000915054906101000a900460ff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e1c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e5657600080fd5b816008819055505050565b6000600560009054906101000a900460ff16151515611e7f57600080fd5b33600760009054906101000a900460ff1680611ee45750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515611eef57600080fd5b83600760009054906101000a900460ff1680611f545750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515611f5f57600080fd5b611f698585612f2f565b9250505092915050565b600560009054906101000a900460ff1681565b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515611fe457600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561204057600080fd5b80600760006101000a81548160ff02191690831515021790555050565b60085481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120c257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120fc57600080fd5b816009819055505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561216657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121a057600080fd5b81600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600560009054906101000a900460ff1615151561220357600080fd5b33600760009054906101000a900460ff16806122685750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561227357600080fd5b61227d848461314e565b91505092915050565b620f42406103e80281565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561237757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123b157600080fd5b6001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f75b2135d1c8c3519f3c09c43fe6527089ef09f40c7981ebf0ed46e79e79032c760405160405180910390a25050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156124af57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124e957600080fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156125b357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561262957600080fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60095481565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156126d557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561270f57600080fd5b600091505b8383905082101561275f57612752848484818110151561273057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16611a64565b8180600101925050612714565b50505050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561289457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156128e157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561296c57600080fd5b6129bd826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a50826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b2182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000808284019050838110151515612c2557fe5b8091505092915050565b6000828211151515612c3d57fe5b818303905092915050565b6000806000841415612c5d5760009150612c7c565b8284029050828482811515612c6e57fe5b04141515612c7857fe5b8091505b5092915050565b6000808284811515612c9157fe5b0490508091505092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612daf576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e43565b612dc28382612c2f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612f6c57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612fb957600080fd5b61300a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061309d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006131df82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820e0dad1aec2bd471baaab87569366721921c6f3131a99ab21b54275fa860668b30029
Deployed Bytecode
0x6080604052600436106101f9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101fe578063095ea7b31461028e57806316c38b3c146102f357806318160ddd1461032257806323b872dd1461034d5780633a134c00146103d2578063409f8c481461040157806340c10f191461044457806342966c68146104a95780634b45765b146104ee5780634e9c6b1f1461053157806353aaef7d1461055c5780635467e0a7146105a45780636596cff3146105fb578063661884631461063e57806370a08231146106a35780637346ec57146106fa57806376e0f9781461073b5780638ab1d681146107925780638c10671c146107d55780638da5cb5b146108105780638f6612c91461086757806395d89b41146108be5780639b19251a1461094e5780639c1e03a0146109a9578063a20cf0e714610a00578063a9059cbb14610a2d578063b187bd2614610a92578063c34b6ae014610ac1578063c85aff4814610af0578063cad461ea14610b1b578063d028139c14610b48578063d73dd62314610b8b578063dd54291b14610bf0578063dd62ed3e14610c1b578063e43252d714610c92578063e49b6d0014610cd5578063ec9e797114610d18578063f2fde38b14610d6f578063f62de0c314610db2578063f674d79914610ddd575b600080fd5b34801561020a57600080fd5b50610213610e18565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610253578082015181840152602081019050610238565b50505050905090810190601f1680156102805780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029a57600080fd5b506102d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610eb6565b604051808215151515815260200191505060405180910390f35b3480156102ff57600080fd5b50610320600480360381019080803515159060200190929190505050610f57565b005b34801561032e57600080fd5b5061033761102e565b6040518082815260200191505060405180910390f35b34801561035957600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611038565b604051808215151515815260200191505060405180910390f35b3480156103de57600080fd5b506103e761114c565b604051808215151515815260200191505060405180910390f35b34801561040d57600080fd5b50610442600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061115f565b005b34801561045057600080fd5b5061048f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061123d565b604051808215151515815260200191505060405180910390f35b3480156104b557600080fd5b506104d460048036038101908080359060200190929190505050611487565b604051808215151515815260200191505060405180910390f35b3480156104fa57600080fd5b5061052f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116fb565b005b34801561053d57600080fd5b506105466117d9565b6040518082815260200191505060405180910390f35b34801561056857600080fd5b50610587600480360381019080803590602001909291905050506117e0565b604051808381526020018281526020019250505060405180910390f35b3480156105b057600080fd5b506105b9611874565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060757600080fd5b5061063c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189a565b005b34801561064a57600080fd5b50610689600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611978565b604051808215151515815260200191505060405180910390f35b3480156106af57600080fd5b506106e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061198c565b6040518082815260200191505060405180910390f35b34801561070657600080fd5b50610725600480360381019080803590602001909291905050506119d4565b6040518082815260200191505060405180910390f35b34801561074757600080fd5b50610750611a3e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079e57600080fd5b506107d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a64565b005b3480156107e157600080fd5b5061080e600480360381019080803590602001908201803590602001919091929391929390505050611b9c565b005b34801561081c57600080fd5b50610825611c8d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561087357600080fd5b5061087c611cb3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108ca57600080fd5b506108d3611cd9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109135780820151818401526020810190506108f8565b50505050905090810190601f1680156109405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561095a57600080fd5b5061098f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d77565b604051808215151515815260200191505060405180910390f35b3480156109b557600080fd5b506109be611d97565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a0c57600080fd5b50610a2b60048036038101908080359060200190929190505050611dbd565b005b348015610a3957600080fd5b50610a78600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e61565b604051808215151515815260200191505060405180910390f35b348015610a9e57600080fd5b50610aa7611f73565b604051808215151515815260200191505060405180910390f35b348015610acd57600080fd5b50610aee600480360381019080803515159060200190929190505050611f86565b005b348015610afc57600080fd5b50610b0561205d565b6040518082815260200191505060405180910390f35b348015610b2757600080fd5b50610b4660048036038101908080359060200190929190505050612063565b005b348015610b5457600080fd5b50610b89600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612107565b005b348015610b9757600080fd5b50610bd6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121e5565b604051808215151515815260200191505060405180910390f35b348015610bfc57600080fd5b50610c05612286565b6040518082815260200191505060405180910390f35b348015610c2757600080fd5b50610c7c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612291565b6040518082815260200191505060405180910390f35b348015610c9e57600080fd5b50610cd3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612318565b005b348015610ce157600080fd5b50610d16600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612450565b005b348015610d2457600080fd5b50610d2d61252e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d7b57600080fd5b50610db0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612554565b005b348015610dbe57600080fd5b50610dc761266e565b6040518082815260200191505060405180910390f35b348015610de957600080fd5b50610e16600480360381019080803590602001908201803590602001919091929391929390505050612674565b005b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610eae5780601f10610e8357610100808354040283529160200191610eae565b820191906000526020600020905b815481529060010190602001808311610e9157829003601f168201915b505050505081565b6000600560009054906101000a900460ff16151515610ed457600080fd5b33600760009054906101000a900460ff1680610f395750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515610f4457600080fd5b610f4e8484612765565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610fb557600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561101157600080fd5b80600560006101000a81548160ff02191690831515021790555050565b6000600154905090565b6000600560009054906101000a900460ff1615151561105657600080fd5b83600760009054906101000a900460ff16806110bb5750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156110c657600080fd5b83600760009054906101000a900460ff168061112b5750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561113657600080fd5b611141868686612857565b925050509392505050565b600760009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111be57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111f857600080fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561129e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112d857600080fd5b83600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561133157600080fd5b60006008541415151561134357600080fd5b60006009541415151561135557600080fd5b620f42406103e80261137285600154612c1190919063ffffffff16565b1115151561137f57600080fd5b61139484600154612c1190919063ffffffff16565b6001819055506113eb846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885856040518082815260200191505060405180910390a260019250505092915050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114e857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561152257600080fd5b600061159784600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b101515156115a457600080fd5b60006115bb84600154612c2f90919063ffffffff16565b101515156115c857600080fd5b61163b83600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116b483600154612c2f90919063ffffffff16565b6001819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb836040518082815260200191505060405180910390a16001915050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561175a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561179457600080fd5b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b620f424081565b6000806000806000600854141515156117f857600080fd5b60006009541415151561180a57600080fd5b61184860085461183a60095461182c620f42408a612c4890919063ffffffff16565b612c8390919063ffffffff16565b612c8390919063ffffffff16565b9150611865611856836119d4565b86612c2f90919063ffffffff16565b90508181935093505050915091565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156118f957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561193357600080fd5b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60006119848383612c9e565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600854141515156119e757600080fd5b6000600954141515156119f957600080fd5b611a37620f4240611a29600954611a1b60085487612c4890919063ffffffff16565b612c4890919063ffffffff16565b612c8390919063ffffffff16565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ac357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611afd57600080fd5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f1f756c8b089af6b33ee121fee8badac2553a2fa89c0575ea91ff8792617746c260405160405180910390a25050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bfd57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c3757600080fd5b600091505b83839050821015611c8757611c7a8484848181101515611c5857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16612318565b8180600101925050611c3c565b50505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d6f5780601f10611d4457610100808354040283529160200191611d6f565b820191906000526020600020905b815481529060010190602001808311611d5257829003601f168201915b505050505081565b60066020528060005260406000206000915054906101000a900460ff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e1c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e5657600080fd5b816008819055505050565b6000600560009054906101000a900460ff16151515611e7f57600080fd5b33600760009054906101000a900460ff1680611ee45750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515611eef57600080fd5b83600760009054906101000a900460ff1680611f545750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515611f5f57600080fd5b611f698585612f2f565b9250505092915050565b600560009054906101000a900460ff1681565b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515611fe457600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561204057600080fd5b80600760006101000a81548160ff02191690831515021790555050565b60085481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120c257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120fc57600080fd5b816009819055505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561216657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121a057600080fd5b81600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600560009054906101000a900460ff1615151561220357600080fd5b33600760009054906101000a900460ff16806122685750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561227357600080fd5b61227d848461314e565b91505092915050565b620f42406103e80281565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561237757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123b157600080fd5b6001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f75b2135d1c8c3519f3c09c43fe6527089ef09f40c7981ebf0ed46e79e79032c760405160405180910390a25050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156124af57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124e957600080fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156125b357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561262957600080fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60095481565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156126d557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561270f57600080fd5b600091505b8383905082101561275f57612752848484818110151561273057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16611a64565b8180600101925050612714565b50505050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561289457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156128e157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561296c57600080fd5b6129bd826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a50826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b2182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6000808284019050838110151515612c2557fe5b8091505092915050565b6000828211151515612c3d57fe5b818303905092915050565b6000806000841415612c5d5760009150612c7c565b8284029050828482811515612c6e57fe5b04141515612c7857fe5b8091505b5092915050565b6000808284811515612c9157fe5b0490508091505092915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612daf576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e43565b612dc28382612c2f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612f6c57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612fb957600080fd5b61300a826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c2f90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061309d826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60006131df82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a360019050929150505600a165627a7a72305820e0dad1aec2bd471baaab87569366721921c6f3131a99ab21b54275fa860668b30029
Swarm Source
bzzr://e0dad1aec2bd471baaab87569366721921c6f3131a99ab21b54275fa860668b3
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.