Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 234 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 14790219 | 1014 days ago | IN | 0 ETH | 0.00293752 | ||||
Transfer | 9042431 | 1909 days ago | IN | 0 ETH | 0.00011523 | ||||
Transfer | 9013617 | 1915 days ago | IN | 0 ETH | 0.00004178 | ||||
Transfer | 8535373 | 1991 days ago | IN | 0 ETH | 0.00079857 | ||||
Transfer | 8132062 | 2054 days ago | IN | 0 ETH | 0.00106476 | ||||
Transfer | 8121593 | 2056 days ago | IN | 0 ETH | 0.00191426 | ||||
Transfer | 8034104 | 2069 days ago | IN | 0 ETH | 0.00218013 | ||||
Transfer | 8014967 | 2072 days ago | IN | 0 ETH | 0.00076348 | ||||
Transfer | 8014957 | 2072 days ago | IN | 0 ETH | 0.00076476 | ||||
Transfer | 8014942 | 2072 days ago | IN | 0 ETH | 0.00106476 | ||||
Transfer | 8014914 | 2072 days ago | IN | 0 ETH | 0.0003811 | ||||
Transfer | 8014908 | 2072 days ago | IN | 0 ETH | 0.00076348 | ||||
Transfer | 7994028 | 2075 days ago | IN | 0 ETH | 0.00209957 | ||||
Transfer | 7982378 | 2077 days ago | IN | 0 ETH | 0.00196507 | ||||
Transfer | 7961594 | 2080 days ago | IN | 0 ETH | 0.00194597 | ||||
Transfer | 7950613 | 2082 days ago | IN | 0 ETH | 0.00156513 | ||||
Transfer | 7948356 | 2083 days ago | IN | 0 ETH | 0.00137426 | ||||
Transfer | 7948347 | 2083 days ago | IN | 0 ETH | 0.00191426 | ||||
Transfer | 7948329 | 2083 days ago | IN | 0 ETH | 0.00191426 | ||||
Transfer | 7937730 | 2084 days ago | IN | 0 ETH | 0.00076476 | ||||
Transfer | 7937140 | 2084 days ago | IN | 0 ETH | 0.00003889 | ||||
Transfer | 7936430 | 2084 days ago | IN | 0 ETH | 0.00137808 | ||||
Transfer | 7936411 | 2084 days ago | IN | 0 ETH | 0.00196743 | ||||
Transfer | 7936401 | 2084 days ago | IN | 0 ETH | 0.00137426 | ||||
Transfer | 7931449 | 2085 days ago | IN | 0 ETH | 0.00038174 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
IOAEXBDR
Compiler Version
v0.5.4+commit.9549d8ff
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-04-30 */ pragma solidity 0.5.4; library SafeMath { uint256 constant internal MAX_UINT = 2 ** 256 - 1; // max uint256 /** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 _a, uint256 _b) internal pure returns(uint256) { if (_a == 0) { return 0; } require(MAX_UINT / _a >= _b); return _a * _b; } /** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 _a, uint256 _b) internal pure returns(uint256) { require(_b != 0); return _a / _b; } /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 _a, uint256 _b) internal pure returns(uint256) { require(_b <= _a); return _a - _b; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 _a, uint256 _b) internal pure returns(uint256) { require(MAX_UINT - _a >= _b); return _a + _b; } } interface AbcInterface { function decimals() external view returns (uint8); function tokenFallback(address _from, uint _value, bytes calldata _data) external; function transfer(address _to, uint _value) external returns (bool); } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor () public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused { paused = false; emit Unpause(); } } contract StandardToken { using SafeMath for uint256; mapping(address => uint256) internal balances; mapping(address => mapping(address => uint256)) internal allowed; uint256 public totalSupply; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Gets the balance of the specified address. * @param _owner The address to query the balance of. * @return An uint256 representing the value owned by the passed address. */ function balanceOf(address _owner) public view returns(uint256) { return balances[_owner]; } /** * @dev Function to check the value 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 value of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns(uint256) { return allowed[_owner][_spender]; } /** * @dev Transfer token for a specified address * @param _to The address to transfer to. * @param _value The value to be transferred. */ function transfer(address _to, uint256 _value) public returns(bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified value 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 value of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns(bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @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 value 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); emit Transfer(_from, _to, _value); return true; } /** * @dev Increase the value 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 value of tokens to increase the allowance by. */ function increaseApproval(address _spender, uint256 _addedValue) public returns(bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the value 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 value of tokens to decrease the allowance by. */ function decreaseApproval(address _spender, uint256 _subtractedValue) public returns(bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function _burn(address account, uint256 value) internal { require(account != address(0)); totalSupply = totalSupply.sub(value); balances[account] = balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Internal function that burns an value of the token of a given * account, deducting from the sender's allowance for said account. Uses the * internal burn function. * @param account The account whose tokens will be burnt. * @param value The value that will be burnt. */ function _burnFrom(address account, uint256 value) internal { // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted, // this function needs to emit an event with the updated approval. allowed[account][msg.sender] = allowed[account][msg.sender].sub(value); _burn(account, value); } } contract BurnableToken is StandardToken { /** * @dev Burns a specific value of tokens. * @param value The value of token to be burned. */ function burn(uint256 value) public { _burn(msg.sender, value); } /** * @dev Burns a specific value of tokens from the target address and decrements allowance * @param from address The address which you want to send tokens from * @param value uint256 The value of token to be burned */ function burnFrom(address from, uint256 value) public { _burnFrom(from, value); } } /** * @title Pausable token * @dev ERC20 modified with pausable transfers. */ contract PausableToken is StandardToken, Pausable { function transfer(address to, uint256 value) public whenNotPaused returns (bool) { return super.transfer(to, value); } function transferFrom(address from, address to, uint256 value) public whenNotPaused returns (bool) { return super.transferFrom(from, to, value); } function approve(address spender, uint256 value) public whenNotPaused returns (bool) { return super.approve(spender, value); } function increaseApproval(address spender, uint256 addedValue) public whenNotPaused returns (bool success) { return super.increaseApproval(spender, addedValue); } function decreaseApproval(address spender, uint256 subtractedValue) public whenNotPaused returns (bool success) { return super.decreaseApproval(spender, subtractedValue); } } contract LockableToken is PausableToken { struct LockInfo { uint256 amount; uint256 releaseTime; } mapping(address => LockInfo[]) public lockDetail; mapping(address => uint256) public transferLocked; event LockToken(address indexed benefit, uint256 amount, uint256 releasetime); event ReleaseToken(address indexed benefit, uint256 amount); /** * @dev Transfers and locks tokens. * @param to The address to transfer to. * @param value The value to be transferred. * @param lockdays The days of locking tokens. */ function transferAndLock(address to, uint256 value, uint256 lockdays) public whenNotPaused returns (bool) { release(msg.sender); require(to != address(0) && value != 0 && lockdays != 0); uint256 _releaseTime = now.add(lockdays.mul(1 days)); lockDetail[to].push(LockInfo({amount:value, releaseTime:_releaseTime})); balances[msg.sender] = balances[msg.sender].sub(value); transferLocked[to] = transferLocked[to].add(value); emit Transfer(msg.sender, to, value); emit LockToken(to, value, _releaseTime); return true; } /** * @dev Rewrites function transfer, release tokens before transferring. */ function transfer(address to, uint256 value) public returns (bool) { release(msg.sender); return super.transfer(to, value); } /** * @dev Rewrites function transferFrom, release tokens before transferring. */ function transferFrom(address from, address to, uint256 value) public returns (bool) { release(from); return super.transferFrom(from, to, value); } /** * @dev release tokens. */ function release(address benefit) public whenNotPaused { uint256 len = lockDetail[benefit].length; if( len == 0) return; uint256 totalReleasable = 0; for(uint256 i = 0; i < len; i = i.add(1)){ LockInfo memory tmp = lockDetail[benefit][i]; if(tmp.releaseTime != 0 && now >= tmp.releaseTime){ totalReleasable = totalReleasable.add(tmp.amount); delete lockDetail[benefit][i]; } } if(totalReleasable == 0) return; balances[benefit] = balances[benefit].add(totalReleasable); transferLocked[benefit] = transferLocked[benefit].sub(totalReleasable); if(transferLocked[benefit] == 0) delete lockDetail[benefit]; emit ReleaseToken(benefit, totalReleasable); } /** * @dev Calculates the amount of releasable tokens. */ function releasableTokens(address benefit) public view returns(uint256) { uint256 len = lockDetail[benefit].length; if( len == 0) return 0; uint256 releasable = 0; for(uint256 i = 0; i < len; i = i.add(1)){ LockInfo memory tmp = lockDetail[benefit][i]; if(tmp.releaseTime != 0 && now >= tmp.releaseTime){ releasable = releasable.add(tmp.amount); } } return releasable; } } contract Token is LockableToken, BurnableToken { string public name; // name of Token string public symbol; // symbol of Token uint8 public decimals; constructor(string memory _name, string memory _symbol, uint8 _decimals) public { name = _name; symbol = _symbol; decimals = _decimals; } } contract IOAEXBDR is Token { struct Trx { bool executed; address from; uint256 value; address[] signers; } mapping(address => bool) public isSigner; mapping(uint256 => Trx) public exchangeTrx; address public AbcInstance; // address of AbcToken uint256 public requestSigners = 2; // BDR => Abc need signers number uint256 public applyCounts = 0; // Sequence of exchange request mapping(address => uint256) public exchangeLock; event SetSigner(address indexed signer,bool isSigner); // emit when add/remove signer event ApplyExchangeToken(address indexed from,uint256 value,uint256 trxSeq); // emit when exchange successful event ConfirmTrx(address indexed signer,uint256 indexed trxSeq); // emit when signer confirmed exchange request event CancleConfirmTrx(address indexed signer,uint256 indexed trxSeq); // emit when signer cancles confirmed exchange request event CancleExchangeRequest(address indexed signer,uint256 indexed trxSeq); // emit when signer/requester cancles exchange request event TokenExchange(address indexed from,uint256 value,bool AbcExchangeBDR); // emit when Abc <=> Bdr,true:Abc => BDR,false:BDR => abc event Mint(address indexed target,uint256 value); modifier onlySigner() { require(isSigner[msg.sender]); _; } /** * @dev initialize token info * @param _name string The name of token * @param _symbol string The symbol of token * @param _decimals uint8 The decimals of token */ constructor(string memory _name, string memory _symbol, uint8 _decimals) Token(_name,_symbol,_decimals) public { } /** * @dev rewrite transfer function,user can't transfer token to AbcToken's address directly */ function transfer(address _to,uint256 _value) public returns (bool success) { require(_to != AbcInstance,"can't transfer to AbcToken address directly"); return super.transfer(_to,_value); } /** * @dev rewrite transferFrom function,user can't transfer token to AbcToken's address directly */ function transferFrom(address _from, address _to,uint256 _value) public returns (bool success) { require(_to != AbcInstance,"can't transfer to AbcToken address directly"); return super.transferFrom(_from,_to,_value); } /** * @dev rewrite transferAndLock function,user can't transfer token to AbcToken's address directly */ function transferAndLock(address _to, uint256 _value, uint256 _lockdays) public returns (bool success) { require(_to != AbcInstance,"can't transfer to AbcToken address directly"); return super.transferAndLock(_to,_value,_lockdays); } /** * @dev set AbcToken's address */ function setAbcInstance(address _abc) public onlyOwner { require(_abc != address(0)); AbcInstance = _abc; } /** * @dev add/remove signers * @param _signers address[] The array of signers to add/remove * @param _addSigner bool true:add signers,false:remove:signers */ function setSigners(address[] memory _signers,bool _addSigner) public onlyOwner { for(uint256 i = 0;i< _signers.length;i++){ require(_signers[i] != address(0)); isSigner[_signers[i]] = _addSigner; emit SetSigner(_signers[i],_addSigner); } } /** * @dev set the number of exchange request in order to execute * @param _requestSigners uint256 The number of signers */ function setrequestSigners(uint256 _requestSigners) public onlyOwner { require(_requestSigners != 0); requestSigners = _requestSigners; } /** * @dev check whether the signer confirmed this exchange request */ function isConfirmer(uint256 _trxSeq,address _signer) public view returns (bool) { require(exchangeTrx[_trxSeq].from != address(0),"trxSeq not exist"); for(uint256 i = 0;i < exchangeTrx[_trxSeq].signers.length;i++){ if(exchangeTrx[_trxSeq].signers[i] == _signer){ return true; } } return false; } /** * @dev get how many signers that confirmed this exchange request */ function getConfirmersLengthOfTrx(uint256 _trxSeq) public view returns (uint256) { return exchangeTrx[_trxSeq].signers.length; } /** * @dev get signers's address that confirmed this exchange request * @param _trxSeq uint256 the Sequence of exchange request * @param _index uint256 the index of signers */ function getConfirmerOfTrx(uint256 _trxSeq,uint256 _index) public view returns (address) { require(_index < getConfirmersLengthOfTrx(_trxSeq),"out of range"); return exchangeTrx[_trxSeq].signers[_index]; } /** * @dev apply BDR exchange Abc * @param _value uint256 amount of BDR to exchange * @return uint256 the sequence of exchange request */ function applyExchangeToken(uint256 _value) public whenNotPaused returns (uint256) { uint256 trxSeq = applyCounts; require(exchangeTrx[trxSeq].from == address(0),"trxSeq already exist"); require(balances[msg.sender] >= _value); exchangeTrx[trxSeq].executed = false; exchangeTrx[trxSeq].from = msg.sender; exchangeTrx[trxSeq].value = _value; applyCounts = applyCounts.add(1); balances[address(this)] = balances[address(this)].add(_value); balances[exchangeTrx[trxSeq].from] = balances[exchangeTrx[trxSeq].from].sub(_value); exchangeLock[exchangeTrx[trxSeq].from] = exchangeLock[exchangeTrx[trxSeq].from].add(_value); emit ApplyExchangeToken(exchangeTrx[trxSeq].from,exchangeTrx[trxSeq].value,trxSeq); emit Transfer(msg.sender,address(this),_value); return trxSeq; } /** * @dev signer confirms one exchange request * @param _trxSeq uint256 the Sequence of exchange request */ function confirmExchangeTrx(uint256 _trxSeq) public onlySigner { require(exchangeTrx[_trxSeq].from != address(0),"_trxSeq not exist"); require(exchangeTrx[_trxSeq].signers.length < requestSigners,"trx already has enough signers"); require(exchangeTrx[_trxSeq].executed == false,"trx already executed"); require(isConfirmer(_trxSeq, msg.sender) == false,"signer already confirmed"); exchangeTrx[_trxSeq].signers.push(msg.sender); emit ConfirmTrx(msg.sender, _trxSeq); } /** * @dev signer cancel confirmed exchange request * @param _trxSeq uint256 the Sequence of exchange request */ function cancelConfirm(uint256 _trxSeq) public onlySigner { require(exchangeTrx[_trxSeq].from != address(0),"_trxSeq not exist"); require(isConfirmer(_trxSeq, msg.sender),"Signer didn't confirm"); require(exchangeTrx[_trxSeq].executed == false,"trx already executed"); uint256 len = exchangeTrx[_trxSeq].signers.length; for(uint256 i = 0;i < len;i++){ if(exchangeTrx[_trxSeq].signers[i] == msg.sender){ exchangeTrx[_trxSeq].signers[i] = exchangeTrx[_trxSeq].signers[len.sub(1)] ; exchangeTrx[_trxSeq].signers.length --; break; } } emit CancleConfirmTrx(msg.sender,_trxSeq); } /** * @dev signer cancel exchange request * @param _trxSeq uint256 the Sequence of exchange request */ function cancleExchangeRequest(uint256 _trxSeq) public { require(exchangeTrx[_trxSeq].from != address(0),"_trxSeq not exist"); require(exchangeTrx[_trxSeq].executed == false,"trx already executed"); require(isSigner[msg.sender] || exchangeTrx[_trxSeq].from == msg.sender); balances[address(this)] = balances[address(this)].sub(exchangeTrx[_trxSeq].value); balances[exchangeTrx[_trxSeq].from] = balances[exchangeTrx[_trxSeq].from].add(exchangeTrx[_trxSeq].value); exchangeLock[exchangeTrx[_trxSeq].from] = exchangeLock[exchangeTrx[_trxSeq].from].sub(exchangeTrx[_trxSeq].value); delete exchangeTrx[_trxSeq]; emit CancleExchangeRequest(msg.sender,_trxSeq); emit Transfer(address(this),exchangeTrx[_trxSeq].from,exchangeTrx[_trxSeq].value); } /** * @dev execute exchange request which confirmed by enough signers * @param _trxSeq uint256 the Sequence of exchange request */ function executeExchangeTrx(uint256 _trxSeq) public whenNotPaused{ address from = exchangeTrx[_trxSeq].from; uint256 value = exchangeTrx[_trxSeq].value; require(from != address(0),"trxSeq not exist"); require(exchangeTrx[_trxSeq].executed == false,"trxSeq has executed"); require(exchangeTrx[_trxSeq].signers.length >= requestSigners); require(from == msg.sender|| isSigner[msg.sender]); require(value <= balances[address(this)]); _burn(address(this), value); exchangeLock[from] = exchangeLock[from].sub(value); exchangeTrx[_trxSeq].executed = true; AbcInterface(AbcInstance).tokenFallback(from,value,bytes("")); emit TokenExchange(exchangeTrx[_trxSeq].from,exchangeTrx[_trxSeq].value,false); } /** * @dev exchange Abc token to BDR token,only AbcInstance can invoke this function */ function tokenFallback(address _from, uint _value, bytes memory) public { require(msg.sender == AbcInstance); require(_from != address(0)); require(_value > 0); uint256 exchangeAmount = _value.mul(10**uint256(decimals)).div(10**uint256(AbcInterface(AbcInstance).decimals())); _mint(_from, exchangeAmount); emit Transfer(address(0x00),_from,exchangeAmount); emit TokenExchange(_from,_value,true); } /** * @dev mint BDR token */ function _mint(address target, uint256 value ) internal { balances[target] = balances[target].add(value); totalSupply = totalSupply.add(value); emit Mint(target,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":"_signers","type":"address[]"},{"name":"_addSigner","type":"bool"}],"name":"setSigners","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":"benefit","type":"address"}],"name":"release","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockDetail","outputs":[{"name":"amount","type":"uint256"},{"name":"releaseTime","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"applyCounts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_abc","type":"address"}],"name":"setAbcInstance","outputs":[],"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":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"exchangeTrx","outputs":[{"name":"executed","type":"bool"},{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"transferLocked","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_trxSeq","type":"uint256"},{"name":"_index","type":"uint256"}],"name":"getConfirmerOfTrx","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_requestSigners","type":"uint256"}],"name":"setrequestSigners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"getConfirmersLengthOfTrx","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isSigner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_lockdays","type":"uint256"}],"name":"transferAndLock","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"applyExchangeToken","outputs":[{"name":"","type":"uint256"}],"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":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"benefit","type":"address"}],"name":"releasableTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"AbcInstance","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requestSigners","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"cancleExchangeRequest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trxSeq","type":"uint256"},{"name":"_signer","type":"address"}],"name":"isConfirmer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"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":false,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"executeExchangeTrx","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"exchangeLock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"cancelConfirm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_trxSeq","type":"uint256"}],"name":"confirmExchangeTrx","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"signer","type":"address"},{"indexed":false,"name":"isSigner","type":"bool"}],"name":"SetSigner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"trxSeq","type":"uint256"}],"name":"ApplyExchangeToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"signer","type":"address"},{"indexed":true,"name":"trxSeq","type":"uint256"}],"name":"ConfirmTrx","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"signer","type":"address"},{"indexed":true,"name":"trxSeq","type":"uint256"}],"name":"CancleConfirmTrx","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"signer","type":"address"},{"indexed":true,"name":"trxSeq","type":"uint256"}],"name":"CancleExchangeRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"AbcExchangeBDR","type":"bool"}],"name":"TokenExchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"benefit","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"releasetime","type":"uint256"}],"name":"LockToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"benefit","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ReleaseToken","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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
60806040526003805460a060020a60ff02191690556002600c556000600d553480156200002b57600080fd5b5060405162002ef838038062002ef8833981018060405260608110156200005157600080fd5b8101908080516401000000008111156200006a57600080fd5b820160208101848111156200007e57600080fd5b81516401000000008111828201871017156200009957600080fd5b50509291906020018051640100000000811115620000b657600080fd5b82016020810184811115620000ca57600080fd5b8151640100000000811182820187101715620000e557600080fd5b505060209182015160038054600160a060020a03191633179055855191945092508491849184916200011d9160069186019062000154565b5081516200013390600790602085019062000154565b506008805460ff191660ff9290921691909117905550620001f99350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019757805160ff1916838001178555620001c7565b82800160010185558215620001c7579182015b82811115620001c7578251825591602001919060010190620001aa565b50620001d5929150620001d9565b5090565b620001f691905b80821115620001d55760008155600101620001e0565b90565b612cef80620002096000396000f3fe608060405234801561001057600080fd5b5060043610610270576000357c01000000000000000000000000000000000000000000000000000000009004806379e0ea5011610163578063cb0c515a116100e0578063dd62ed3e116100a4578063dd62ed3e1461088e578063dd781954146108bc578063de482239146108d9578063f0e97390146108ff578063f2fde38b1461091c578063f519a1441461094257610270565b8063cb0c515a14610809578063d05df8ae14610811578063d169dc6b14610819578063d4761b0b14610836578063d73dd6231461086257610270565b8063925834ef11610127578063925834ef146106d757806395d89b41146106f4578063a9059cbb146106fc578063c0ee0b8a14610728578063c4684e9d146107e357610270565b806379e0ea50146106525780637df73e271461066f5780638456cb591461069557806384d5d9441461069d5780638da5cb5b146106cf57610270565b80633f4ba83a116101f15780635c975abb116101b55780635c975abb146105af57806366188463146105b75780636b9e8026146105e357806370a082311461060057806379cc67901461062657610270565b80633f4ba83a146104e057806342966c68146104e857806344225d7f14610505578063462749501461054a57806350b01bda1461057057610270565b80631c490091116102385780631c4900911461041957806323b872dd1461045e57806324d7252c14610494578063295f54421461049c578063313ce567146104c257610270565b806306fdde0314610275578063095ea7b3146102f2578063135aa6fd1461033257806318160ddd146103d957806319165587146103f3575b600080fd5b61027d61095f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b757818101518382015260200161029f565b50505050905090810190601f1680156102e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61031e6004803603604081101561030857600080fd5b50600160a060020a0381351690602001356109ed565b604080519115158252519081900360200190f35b6103d76004803603604081101561034857600080fd5b81019060208101813564010000000081111561036357600080fd5b82018360208201111561037557600080fd5b8035906020019184602083028401116401000000008311171561039757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505050503515159050610a1a565b005b6103e1610b1a565b60408051918252519081900360200190f35b6103d76004803603602081101561040957600080fd5b5035600160a060020a0316610b20565b6104456004803603604081101561042f57600080fd5b50600160a060020a038135169060200135610d34565b6040805192835260208301919091528051918290030190f35b61031e6004803603606081101561047457600080fd5b50600160a060020a03813581169160208101359091169060400135610d6f565b6103e1610dd5565b6103d7600480360360208110156104b257600080fd5b5035600160a060020a0316610ddb565b6104ca610e36565b6040805160ff9092168252519081900360200190f35b6103d7610e3f565b6103d7600480360360208110156104fe57600080fd5b5035610eb7565b6105226004803603602081101561051b57600080fd5b5035610ec1565b604080519315158452600160a060020a03909216602084015282820152519081900360600190f35b6103e16004803603602081101561056057600080fd5b5035600160a060020a0316610eee565b6105936004803603604081101561058657600080fd5b5080359060200135610f00565b60408051600160a060020a039092168252519081900360200190f35b61031e610f9a565b61031e600480360360408110156105cd57600080fd5b50600160a060020a038135169060200135610faa565b6103d7600480360360208110156105f957600080fd5b5035610fce565b6103e16004803603602081101561061657600080fd5b5035600160a060020a0316610ff6565b6103d76004803603604081101561063c57600080fd5b50600160a060020a038135169060200135611015565b6103e16004803603602081101561066857600080fd5b5035611023565b61031e6004803603602081101561068557600080fd5b5035600160a060020a0316611038565b6103d761104d565b61031e600480360360608110156106b357600080fd5b50600160a060020a0381351690602081013590604001356110ca565b610593611128565b6103e1600480360360208110156106ed57600080fd5b5035611137565b61027d611386565b61031e6004803603604081101561071257600080fd5b50600160a060020a0381351690602001356113e1565b6103d76004803603606081101561073e57600080fd5b600160a060020a038235169160208101359181019060608101604082013564010000000081111561076e57600080fd5b82018360208201111561078057600080fd5b803590602001918460018302840111640100000000831117156107a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061143e945050505050565b6103e1600480360360208110156107f957600080fd5b5035600160a060020a03166115c5565b6105936116a0565b6103e16116af565b6103d76004803603602081101561082f57600080fd5b50356116b5565b61031e6004803603604081101561084c57600080fd5b5080359060200135600160a060020a0316611980565b61031e6004803603604081101561087857600080fd5b50600160a060020a038135169060200135611a6f565b6103e1600480360360408110156108a457600080fd5b50600160a060020a0381358116916020013516611a93565b6103d7600480360360208110156108d257600080fd5b5035611abe565b6103e1600480360360208110156108ef57600080fd5b5035600160a060020a0316611de4565b6103d76004803603602081101561091557600080fd5b5035611df6565b6103d76004803603602081101561093257600080fd5b5035600160a060020a03166120a1565b6103d76004803603602081101561095857600080fd5b50356120c1565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109e55780601f106109ba576101008083540402835291602001916109e5565b820191906000526020600020905b8154815290600101906020018083116109c857829003601f168201915b505050505081565b60035460009060a060020a900460ff1615610a0757600080fd5b610a1183836122f1565b90505b92915050565b600354600160a060020a03163314610a3157600080fd5b60005b8251811015610b15578251600090849083908110610a4e57fe5b60209081029091010151600160a060020a03161415610a6c57600080fd5b81600960008584815181101515610a7f57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790558251839082908110610abf57fe5b90602001906020020151600160a060020a03167f5fcbb78b58c04f459e28fba113b7b7248255a48fc71eca69650310daea63045183604051808215151515815260200191505060405180910390a2600101610a34565b505050565b60025481565b60035460a060020a900460ff1615610b3757600080fd5b600160a060020a038116600090815260046020526040902054801515610b5d5750610d31565b6000805b82811015610c4257610b71612bbd565b600160a060020a0385166000908152600460205260409020805483908110610b9557fe5b6000918252602091829020604080518082019091526002909202018054825260010154918101829052915015801590610bd2575080602001514210155b15610c29578051610bea90849063ffffffff61235716565b600160a060020a038616600090815260046020526040902080549194509083908110610c1257fe5b600091825260208220600290910201818155600101555b50610c3b81600163ffffffff61235716565b9050610b61565b50801515610c51575050610d31565b600160a060020a038316600090815260208190526040902054610c7a908263ffffffff61235716565b600160a060020a03841660009081526020818152604080832093909355600590522054610cad908263ffffffff61237116565b600160a060020a03841660009081526005602052604090208190551515610cef57600160a060020a0383166000908152600460205260408120610cef91612bd4565b604080518281529051600160a060020a038516917fd777ee46b5c5e9bff9903e5b77152b900a28b55ea90ea99766fa3b5237f970f6919081900360200190a250505b50565b600460205281600052604060002081815481101515610d4f57fe5b600091825260209091206002909102018054600190910154909250905082565b600b54600090600160a060020a0384811691161415610dc25760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610dcd848484612386565b949350505050565b600d5481565b600354600160a060020a03163314610df257600080fd5b600160a060020a0381161515610e0757600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085460ff1681565b600354600160a060020a03163314610e5657600080fd5b60035460a060020a900460ff161515610e6e57600080fd5b6003805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b610d31338261239c565b600a602052600090815260409020805460019091015460ff8216916101009004600160a060020a03169083565b60056020526000908152604090205481565b6000610f0b83611023565b8210610f61576040805160e560020a62461bcd02815260206004820152600c60248201527f6f7574206f662072616e67650000000000000000000000000000000000000000604482015290519081900360640190fd5b6000838152600a60205260409020600201805483908110610f7e57fe5b600091825260209091200154600160a060020a03169392505050565b60035460a060020a900460ff1681565b60035460009060a060020a900460ff1615610fc457600080fd5b610a118383612433565b600354600160a060020a03163314610fe557600080fd5b801515610ff157600080fd5b600c55565b600160a060020a0381166000908152602081905260409020545b919050565b61101f8282612522565b5050565b6000908152600a602052604090206002015490565b60096020526000908152604090205460ff1681565b600354600160a060020a0316331461106457600080fd5b60035460a060020a900460ff161561107b57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600b54600090600160a060020a038581169116141561111d5760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610dcd848484612584565b600354600160a060020a031681565b60035460009060a060020a900460ff161561115157600080fd5b600d546000818152600a60205260409020546101009004600160a060020a0316156111c6576040805160e560020a62461bcd02815260206004820152601460248201527f74727853657120616c7265616479206578697374000000000000000000000000604482015290519081900360640190fd5b336000908152602081905260409020548311156111e257600080fd5b6000818152600a60205260409020805474ffffffffffffffffffffffffffffffffffffffffff191661010033021781556001908101849055600d5461122691612357565b600d5530600090815260208190526040902054611249908463ffffffff61235716565b3060009081526020818152604080832093909355838252600a8152828220546101009004600160a060020a03168252819052205461128d908463ffffffff61237116565b6000828152600a602090815260408083208054600160a060020a036101009182900481168652858552838620969096559054049093168252600e905220546112db908463ffffffff61235716565b6000828152600a602081815260408084208054600160a060020a036101009182900481168752600e8552838720979097559487905292825282546001909301548151908152918201869052805193909204909316927f0d6395d68f2be6d031c8d9fb4808936534aa889710bbe57ef570d9c1c8f656f9929081900390910190a260408051848152905130913391600080516020612c798339815191529181900360200190a392915050565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109e55780601f106109ba576101008083540402835291602001916109e5565b600b54600090600160a060020a03848116911614156114345760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610a118383612728565b600b54600160a060020a0316331461145557600080fd5b600160a060020a038316151561146a57600080fd5b6000821161147757600080fd5b6000611541600b60009054906101000a9004600160a060020a0316600160a060020a031663313ce5676040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156114e657600080fd5b505afa1580156114fa573d6000803e3d6000fd5b505050506040513d602081101561151057600080fd5b505160085460ff918216600a90810a926115359288929116900a63ffffffff61273d16565b9063ffffffff61276d16565b905061154d848261278e565b604080518281529051600160a060020a03861691600091600080516020612c798339815191529181900360200190a360408051848152600160208201528151600160a060020a038716927f7d3799764c16f58d28ad04f3ef5f27c8010bbdc67768bfc7b3b6701ae0e53903928290030190a250505050565b600160a060020a0381166000908152600460205260408120548015156115ef576000915050611010565b6000805b8281101561169857611603612bbd565b600160a060020a038616600090815260046020526040902080548390811061162757fe5b6000918252602091829020604080518082019091526002909202018054825260010154918101829052915015801590611664575080602001514210155b1561167f57805161167c90849063ffffffff61235716565b92505b5061169181600163ffffffff61235716565b90506115f3565b509392505050565b600b54600160a060020a031681565b600c5481565b6000818152600a60205260409020546101009004600160a060020a03161515611728576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b6000818152600a602052604090205460ff161561178f576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b3360009081526009602052604090205460ff16806117c857506000818152600a60205260409020546101009004600160a060020a031633145b15156117d357600080fd5b6000818152600a602090815260408083206001015430845291839052909120546118029163ffffffff61237116565b3060009081526020818152604080832093909355838252600a8152828220600181015490546101009004600160a060020a03168352908290529190205461184e9163ffffffff61235716565b6000828152600a602090815260408083208054600160a060020a0361010091829004811686528585528386209690965560018201549154049094168352600e9091529020546118a29163ffffffff61237116565b6000828152600a6020818152604080842080546101009004600160a060020a03168552600e83529084209490945584835252815474ffffffffffffffffffffffffffffffffffffffffff19168255600182018190556119046002830182612bf5565b5050604051819033907f36dae67a6b2662fa6156a4fdb499b74c51e3ea6d9de9ccc86b23d2e2fe085b6c90600090a36000818152600a6020908152604091829020805460019091015483519081529251610100909104600160a060020a0316923092600080516020612c7983398151915292918290030190a350565b6000828152600a60205260408120546101009004600160a060020a031615156119f3576040805160e560020a62461bcd02815260206004820152601060248201527f747278536571206e6f7420657869737400000000000000000000000000000000604482015290519081900360640190fd5b60005b6000848152600a6020526040902060020154811015611a65576000848152600a602052604090206002018054600160a060020a038516919083908110611a3857fe5b600091825260209091200154600160a060020a03161415611a5d576001915050610a14565b6001016119f6565b5060009392505050565b60035460009060a060020a900460ff1615611a8957600080fd5b610a118383612829565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60035460a060020a900460ff1615611ad557600080fd5b6000818152600a602052604090208054600190910154610100909104600160a060020a031690811515611b52576040805160e560020a62461bcd02815260206004820152601060248201527f747278536571206e6f7420657869737400000000000000000000000000000000604482015290519081900360640190fd5b6000838152600a602052604090205460ff1615611bb9576040805160e560020a62461bcd02815260206004820152601360248201527f7472785365712068617320657865637574656400000000000000000000000000604482015290519081900360640190fd5b600c546000848152600a60205260409020600201541015611bd957600080fd5b600160a060020a038216331480611bff57503360009081526009602052604090205460ff165b1515611c0a57600080fd5b30600090815260208190526040902054811115611c2657600080fd5b611c30308261239c565b600160a060020a0382166000908152600e6020526040902054611c59908263ffffffff61237116565b600160a060020a038084166000818152600e6020908152604080832095909555878252600a8152848220805460ff19166001179055600b54855191820180875283835295517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081526004810194855260248101889052606060448201908152835160648301528351929096169663c0ee0b8a968a968a96909491936084019291908190849084905b83811015611d19578181015183820152602001611d01565b50505050905090810190601f168015611d465780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611d6757600080fd5b505af1158015611d7b573d6000803e3d6000fd5b5050506000848152600a6020908152604080832080546001909101548251908152928301939093528051610100909304600160a060020a031693507f7d3799764c16f58d28ad04f3ef5f27c8010bbdc67768bfc7b3b6701ae0e5390392918290030190a2505050565b600e6020526000908152604090205481565b3360009081526009602052604090205460ff161515611e1457600080fd5b6000818152600a60205260409020546101009004600160a060020a03161515611e87576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b611e918133611980565b1515611ee7576040805160e560020a62461bcd02815260206004820152601560248201527f5369676e6572206469646e277420636f6e6669726d0000000000000000000000604482015290519081900360640190fd5b6000818152600a602052604090205460ff1615611f4e576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b6000818152600a6020526040812060020154905b8181101561206f576000838152600a60205260409020600201805433919083908110611f8a57fe5b600091825260209091200154600160a060020a03161415612067576000838152600a60205260409020600201611fc783600163ffffffff61237116565b81548110611fd157fe5b6000918252602080832090910154858352600a90915260409091206002018054600160a060020a03909216918390811061200757fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039490941693909317909255848152600a90915260409020600201805490612061906000198301612c13565b5061206f565b600101611f62565b50604051829033907fdc2bfd080c3790dca6b377550e4f31b952c6a0fb6153080dd81677e219ec99c890600090a35050565b600354600160a060020a031633146120b857600080fd5b610d31816128c2565b3360009081526009602052604090205460ff1615156120df57600080fd5b6000818152600a60205260409020546101009004600160a060020a03161515612152576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b600c546000828152600a6020526040902060020154106121bc576040805160e560020a62461bcd02815260206004820152601e60248201527f74727820616c72656164792068617320656e6f756768207369676e6572730000604482015290519081900360640190fd5b6000818152600a602052604090205460ff1615612223576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b61222d8133611980565b15612282576040805160e560020a62461bcd02815260206004820152601860248201527f7369676e657220616c726561647920636f6e6669726d65640000000000000000604482015290519081900360640190fd5b6000818152600a602090815260408083206002018054600181018255908452918320909101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155905183927f8c6087d792119c81c59c5de009a30bb0f1e1feffd604ab5bb0975478e785e06e91a350565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60008183600019031015151561236c57600080fd5b500190565b60008282111561238057600080fd5b50900390565b600061239184610b20565b610dcd848484612940565b600160a060020a03821615156123b157600080fd5b6002546123c4908263ffffffff61237116565b600255600160a060020a0382166000908152602081905260409020546123f0908263ffffffff61237116565b600160a060020a03831660008181526020818152604080832094909455835185815293519193600080516020612c79833981519152929081900390910190a35050565b336000908152600160209081526040808320600160a060020a038616845290915281205480831061248757336000908152600160209081526040808320600160a060020a03881684529091528120556124bc565b612497818463ffffffff61237116565b336000908152600160209081526040808320600160a060020a03891684529091529020555b336000818152600160209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a0382166000908152600160209081526040808320338452909152902054612556908263ffffffff61237116565b600160a060020a038316600090815260016020908152604080832033845290915290205561101f828261239c565b60035460009060a060020a900460ff161561259e57600080fd5b6125a733610b20565b600160a060020a038416158015906125be57508215155b80156125c957508115155b15156125d457600080fd5b60006125f96125ec846201518063ffffffff61273d16565b429063ffffffff61235716565b600160a060020a038616600090815260046020908152604080832081518083018352898152808401868152825460018181018555938752858720925160029091029092019182555191015533835290829052902054909150612661908563ffffffff61237116565b3360009081526020818152604080832093909355600160a060020a0388168252600590522054612697908563ffffffff61235716565b600160a060020a038616600081815260056020908152604091829020939093558051878152905191923392600080516020612c798339815191529281900390910190a360408051858152602081018390528151600160a060020a038816927f2d814308d70a2c356e04b9495a463b35b22563f541e00d2dad99471d28496612928290030190a2506001949350505050565b600061273333610b20565b610a118383612965565b600082151561274e57506000610a14565b818360001981151561275c57fe5b04101561276857600080fd5b500290565b600081151561277b57600080fd5b818381151561278657fe5b049392505050565b600160a060020a0382166000908152602081905260409020546127b7908263ffffffff61235716565b600160a060020a0383166000908152602081905260409020556002546127e3908263ffffffff61235716565b600255604080518281529051600160a060020a038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b336000908152600160209081526040808320600160a060020a038616845290915281205461285d908363ffffffff61235716565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156128d757600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035460009060a060020a900460ff161561295a57600080fd5b610dcd848484612989565b60035460009060a060020a900460ff161561297f57600080fd5b610a118383612aee565b6000600160a060020a03831615156129a057600080fd5b600160a060020a0384166000908152602081905260409020548211156129c557600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020548211156129f557600080fd5b600160a060020a038416600090815260208190526040902054612a1e908363ffffffff61237116565b600160a060020a038086166000908152602081905260408082209390935590851681522054612a53908363ffffffff61235716565b600160a060020a03808516600090815260208181526040808320949094559187168152600182528281203382529091522054612a95908363ffffffff61237116565b600160a060020a0380861660008181526001602090815260408083203384528252918290209490945580518681529051928716939192600080516020612c79833981519152929181900390910190a35060019392505050565b6000600160a060020a0383161515612b0557600080fd5b33600090815260208190526040902054821115612b2157600080fd5b33600090815260208190526040902054612b41908363ffffffff61237116565b3360009081526020819052604080822092909255600160a060020a03851681522054612b73908363ffffffff61235716565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020612c798339815191529281900390910190a350600192915050565b604080518082019091526000808252602082015290565b5080546000825560020290600052602060002090810190610d319190612c37565b5080546000825590600052602060002090810190610d319190612c5e565b815481835581811115610b1557600083815260209020610b15918101908301612c5e565b612c5b91905b80821115612c575760008082556001820155600201612c3d565b5090565b90565b612c5b91905b80821115612c575760008155600101612c6456feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef63616e2774207472616e7366657220746f20416263546f6b656e2061646472657373206469726563746c79a165627a7a7230582095f333281ce631d56ea7fea94929f15c4db9f737966538a4a532c0b389fcbb340029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000f494f4145582042445220544f4b454e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003494f420000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b5060043610610270576000357c01000000000000000000000000000000000000000000000000000000009004806379e0ea5011610163578063cb0c515a116100e0578063dd62ed3e116100a4578063dd62ed3e1461088e578063dd781954146108bc578063de482239146108d9578063f0e97390146108ff578063f2fde38b1461091c578063f519a1441461094257610270565b8063cb0c515a14610809578063d05df8ae14610811578063d169dc6b14610819578063d4761b0b14610836578063d73dd6231461086257610270565b8063925834ef11610127578063925834ef146106d757806395d89b41146106f4578063a9059cbb146106fc578063c0ee0b8a14610728578063c4684e9d146107e357610270565b806379e0ea50146106525780637df73e271461066f5780638456cb591461069557806384d5d9441461069d5780638da5cb5b146106cf57610270565b80633f4ba83a116101f15780635c975abb116101b55780635c975abb146105af57806366188463146105b75780636b9e8026146105e357806370a082311461060057806379cc67901461062657610270565b80633f4ba83a146104e057806342966c68146104e857806344225d7f14610505578063462749501461054a57806350b01bda1461057057610270565b80631c490091116102385780631c4900911461041957806323b872dd1461045e57806324d7252c14610494578063295f54421461049c578063313ce567146104c257610270565b806306fdde0314610275578063095ea7b3146102f2578063135aa6fd1461033257806318160ddd146103d957806319165587146103f3575b600080fd5b61027d61095f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b757818101518382015260200161029f565b50505050905090810190601f1680156102e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61031e6004803603604081101561030857600080fd5b50600160a060020a0381351690602001356109ed565b604080519115158252519081900360200190f35b6103d76004803603604081101561034857600080fd5b81019060208101813564010000000081111561036357600080fd5b82018360208201111561037557600080fd5b8035906020019184602083028401116401000000008311171561039757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505050503515159050610a1a565b005b6103e1610b1a565b60408051918252519081900360200190f35b6103d76004803603602081101561040957600080fd5b5035600160a060020a0316610b20565b6104456004803603604081101561042f57600080fd5b50600160a060020a038135169060200135610d34565b6040805192835260208301919091528051918290030190f35b61031e6004803603606081101561047457600080fd5b50600160a060020a03813581169160208101359091169060400135610d6f565b6103e1610dd5565b6103d7600480360360208110156104b257600080fd5b5035600160a060020a0316610ddb565b6104ca610e36565b6040805160ff9092168252519081900360200190f35b6103d7610e3f565b6103d7600480360360208110156104fe57600080fd5b5035610eb7565b6105226004803603602081101561051b57600080fd5b5035610ec1565b604080519315158452600160a060020a03909216602084015282820152519081900360600190f35b6103e16004803603602081101561056057600080fd5b5035600160a060020a0316610eee565b6105936004803603604081101561058657600080fd5b5080359060200135610f00565b60408051600160a060020a039092168252519081900360200190f35b61031e610f9a565b61031e600480360360408110156105cd57600080fd5b50600160a060020a038135169060200135610faa565b6103d7600480360360208110156105f957600080fd5b5035610fce565b6103e16004803603602081101561061657600080fd5b5035600160a060020a0316610ff6565b6103d76004803603604081101561063c57600080fd5b50600160a060020a038135169060200135611015565b6103e16004803603602081101561066857600080fd5b5035611023565b61031e6004803603602081101561068557600080fd5b5035600160a060020a0316611038565b6103d761104d565b61031e600480360360608110156106b357600080fd5b50600160a060020a0381351690602081013590604001356110ca565b610593611128565b6103e1600480360360208110156106ed57600080fd5b5035611137565b61027d611386565b61031e6004803603604081101561071257600080fd5b50600160a060020a0381351690602001356113e1565b6103d76004803603606081101561073e57600080fd5b600160a060020a038235169160208101359181019060608101604082013564010000000081111561076e57600080fd5b82018360208201111561078057600080fd5b803590602001918460018302840111640100000000831117156107a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061143e945050505050565b6103e1600480360360208110156107f957600080fd5b5035600160a060020a03166115c5565b6105936116a0565b6103e16116af565b6103d76004803603602081101561082f57600080fd5b50356116b5565b61031e6004803603604081101561084c57600080fd5b5080359060200135600160a060020a0316611980565b61031e6004803603604081101561087857600080fd5b50600160a060020a038135169060200135611a6f565b6103e1600480360360408110156108a457600080fd5b50600160a060020a0381358116916020013516611a93565b6103d7600480360360208110156108d257600080fd5b5035611abe565b6103e1600480360360208110156108ef57600080fd5b5035600160a060020a0316611de4565b6103d76004803603602081101561091557600080fd5b5035611df6565b6103d76004803603602081101561093257600080fd5b5035600160a060020a03166120a1565b6103d76004803603602081101561095857600080fd5b50356120c1565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109e55780601f106109ba576101008083540402835291602001916109e5565b820191906000526020600020905b8154815290600101906020018083116109c857829003601f168201915b505050505081565b60035460009060a060020a900460ff1615610a0757600080fd5b610a1183836122f1565b90505b92915050565b600354600160a060020a03163314610a3157600080fd5b60005b8251811015610b15578251600090849083908110610a4e57fe5b60209081029091010151600160a060020a03161415610a6c57600080fd5b81600960008584815181101515610a7f57fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790558251839082908110610abf57fe5b90602001906020020151600160a060020a03167f5fcbb78b58c04f459e28fba113b7b7248255a48fc71eca69650310daea63045183604051808215151515815260200191505060405180910390a2600101610a34565b505050565b60025481565b60035460a060020a900460ff1615610b3757600080fd5b600160a060020a038116600090815260046020526040902054801515610b5d5750610d31565b6000805b82811015610c4257610b71612bbd565b600160a060020a0385166000908152600460205260409020805483908110610b9557fe5b6000918252602091829020604080518082019091526002909202018054825260010154918101829052915015801590610bd2575080602001514210155b15610c29578051610bea90849063ffffffff61235716565b600160a060020a038616600090815260046020526040902080549194509083908110610c1257fe5b600091825260208220600290910201818155600101555b50610c3b81600163ffffffff61235716565b9050610b61565b50801515610c51575050610d31565b600160a060020a038316600090815260208190526040902054610c7a908263ffffffff61235716565b600160a060020a03841660009081526020818152604080832093909355600590522054610cad908263ffffffff61237116565b600160a060020a03841660009081526005602052604090208190551515610cef57600160a060020a0383166000908152600460205260408120610cef91612bd4565b604080518281529051600160a060020a038516917fd777ee46b5c5e9bff9903e5b77152b900a28b55ea90ea99766fa3b5237f970f6919081900360200190a250505b50565b600460205281600052604060002081815481101515610d4f57fe5b600091825260209091206002909102018054600190910154909250905082565b600b54600090600160a060020a0384811691161415610dc25760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610dcd848484612386565b949350505050565b600d5481565b600354600160a060020a03163314610df257600080fd5b600160a060020a0381161515610e0757600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085460ff1681565b600354600160a060020a03163314610e5657600080fd5b60035460a060020a900460ff161515610e6e57600080fd5b6003805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b610d31338261239c565b600a602052600090815260409020805460019091015460ff8216916101009004600160a060020a03169083565b60056020526000908152604090205481565b6000610f0b83611023565b8210610f61576040805160e560020a62461bcd02815260206004820152600c60248201527f6f7574206f662072616e67650000000000000000000000000000000000000000604482015290519081900360640190fd5b6000838152600a60205260409020600201805483908110610f7e57fe5b600091825260209091200154600160a060020a03169392505050565b60035460a060020a900460ff1681565b60035460009060a060020a900460ff1615610fc457600080fd5b610a118383612433565b600354600160a060020a03163314610fe557600080fd5b801515610ff157600080fd5b600c55565b600160a060020a0381166000908152602081905260409020545b919050565b61101f8282612522565b5050565b6000908152600a602052604090206002015490565b60096020526000908152604090205460ff1681565b600354600160a060020a0316331461106457600080fd5b60035460a060020a900460ff161561107b57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600b54600090600160a060020a038581169116141561111d5760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610dcd848484612584565b600354600160a060020a031681565b60035460009060a060020a900460ff161561115157600080fd5b600d546000818152600a60205260409020546101009004600160a060020a0316156111c6576040805160e560020a62461bcd02815260206004820152601460248201527f74727853657120616c7265616479206578697374000000000000000000000000604482015290519081900360640190fd5b336000908152602081905260409020548311156111e257600080fd5b6000818152600a60205260409020805474ffffffffffffffffffffffffffffffffffffffffff191661010033021781556001908101849055600d5461122691612357565b600d5530600090815260208190526040902054611249908463ffffffff61235716565b3060009081526020818152604080832093909355838252600a8152828220546101009004600160a060020a03168252819052205461128d908463ffffffff61237116565b6000828152600a602090815260408083208054600160a060020a036101009182900481168652858552838620969096559054049093168252600e905220546112db908463ffffffff61235716565b6000828152600a602081815260408084208054600160a060020a036101009182900481168752600e8552838720979097559487905292825282546001909301548151908152918201869052805193909204909316927f0d6395d68f2be6d031c8d9fb4808936534aa889710bbe57ef570d9c1c8f656f9929081900390910190a260408051848152905130913391600080516020612c798339815191529181900360200190a392915050565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109e55780601f106109ba576101008083540402835291602001916109e5565b600b54600090600160a060020a03848116911614156114345760405160e560020a62461bcd02815260040180806020018281038252602b815260200180612c99602b913960400191505060405180910390fd5b610a118383612728565b600b54600160a060020a0316331461145557600080fd5b600160a060020a038316151561146a57600080fd5b6000821161147757600080fd5b6000611541600b60009054906101000a9004600160a060020a0316600160a060020a031663313ce5676040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156114e657600080fd5b505afa1580156114fa573d6000803e3d6000fd5b505050506040513d602081101561151057600080fd5b505160085460ff918216600a90810a926115359288929116900a63ffffffff61273d16565b9063ffffffff61276d16565b905061154d848261278e565b604080518281529051600160a060020a03861691600091600080516020612c798339815191529181900360200190a360408051848152600160208201528151600160a060020a038716927f7d3799764c16f58d28ad04f3ef5f27c8010bbdc67768bfc7b3b6701ae0e53903928290030190a250505050565b600160a060020a0381166000908152600460205260408120548015156115ef576000915050611010565b6000805b8281101561169857611603612bbd565b600160a060020a038616600090815260046020526040902080548390811061162757fe5b6000918252602091829020604080518082019091526002909202018054825260010154918101829052915015801590611664575080602001514210155b1561167f57805161167c90849063ffffffff61235716565b92505b5061169181600163ffffffff61235716565b90506115f3565b509392505050565b600b54600160a060020a031681565b600c5481565b6000818152600a60205260409020546101009004600160a060020a03161515611728576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b6000818152600a602052604090205460ff161561178f576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b3360009081526009602052604090205460ff16806117c857506000818152600a60205260409020546101009004600160a060020a031633145b15156117d357600080fd5b6000818152600a602090815260408083206001015430845291839052909120546118029163ffffffff61237116565b3060009081526020818152604080832093909355838252600a8152828220600181015490546101009004600160a060020a03168352908290529190205461184e9163ffffffff61235716565b6000828152600a602090815260408083208054600160a060020a0361010091829004811686528585528386209690965560018201549154049094168352600e9091529020546118a29163ffffffff61237116565b6000828152600a6020818152604080842080546101009004600160a060020a03168552600e83529084209490945584835252815474ffffffffffffffffffffffffffffffffffffffffff19168255600182018190556119046002830182612bf5565b5050604051819033907f36dae67a6b2662fa6156a4fdb499b74c51e3ea6d9de9ccc86b23d2e2fe085b6c90600090a36000818152600a6020908152604091829020805460019091015483519081529251610100909104600160a060020a0316923092600080516020612c7983398151915292918290030190a350565b6000828152600a60205260408120546101009004600160a060020a031615156119f3576040805160e560020a62461bcd02815260206004820152601060248201527f747278536571206e6f7420657869737400000000000000000000000000000000604482015290519081900360640190fd5b60005b6000848152600a6020526040902060020154811015611a65576000848152600a602052604090206002018054600160a060020a038516919083908110611a3857fe5b600091825260209091200154600160a060020a03161415611a5d576001915050610a14565b6001016119f6565b5060009392505050565b60035460009060a060020a900460ff1615611a8957600080fd5b610a118383612829565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60035460a060020a900460ff1615611ad557600080fd5b6000818152600a602052604090208054600190910154610100909104600160a060020a031690811515611b52576040805160e560020a62461bcd02815260206004820152601060248201527f747278536571206e6f7420657869737400000000000000000000000000000000604482015290519081900360640190fd5b6000838152600a602052604090205460ff1615611bb9576040805160e560020a62461bcd02815260206004820152601360248201527f7472785365712068617320657865637574656400000000000000000000000000604482015290519081900360640190fd5b600c546000848152600a60205260409020600201541015611bd957600080fd5b600160a060020a038216331480611bff57503360009081526009602052604090205460ff165b1515611c0a57600080fd5b30600090815260208190526040902054811115611c2657600080fd5b611c30308261239c565b600160a060020a0382166000908152600e6020526040902054611c59908263ffffffff61237116565b600160a060020a038084166000818152600e6020908152604080832095909555878252600a8152848220805460ff19166001179055600b54855191820180875283835295517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081526004810194855260248101889052606060448201908152835160648301528351929096169663c0ee0b8a968a968a96909491936084019291908190849084905b83811015611d19578181015183820152602001611d01565b50505050905090810190601f168015611d465780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611d6757600080fd5b505af1158015611d7b573d6000803e3d6000fd5b5050506000848152600a6020908152604080832080546001909101548251908152928301939093528051610100909304600160a060020a031693507f7d3799764c16f58d28ad04f3ef5f27c8010bbdc67768bfc7b3b6701ae0e5390392918290030190a2505050565b600e6020526000908152604090205481565b3360009081526009602052604090205460ff161515611e1457600080fd5b6000818152600a60205260409020546101009004600160a060020a03161515611e87576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b611e918133611980565b1515611ee7576040805160e560020a62461bcd02815260206004820152601560248201527f5369676e6572206469646e277420636f6e6669726d0000000000000000000000604482015290519081900360640190fd5b6000818152600a602052604090205460ff1615611f4e576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b6000818152600a6020526040812060020154905b8181101561206f576000838152600a60205260409020600201805433919083908110611f8a57fe5b600091825260209091200154600160a060020a03161415612067576000838152600a60205260409020600201611fc783600163ffffffff61237116565b81548110611fd157fe5b6000918252602080832090910154858352600a90915260409091206002018054600160a060020a03909216918390811061200757fe5b6000918252602080832091909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039490941693909317909255848152600a90915260409020600201805490612061906000198301612c13565b5061206f565b600101611f62565b50604051829033907fdc2bfd080c3790dca6b377550e4f31b952c6a0fb6153080dd81677e219ec99c890600090a35050565b600354600160a060020a031633146120b857600080fd5b610d31816128c2565b3360009081526009602052604090205460ff1615156120df57600080fd5b6000818152600a60205260409020546101009004600160a060020a03161515612152576040805160e560020a62461bcd02815260206004820152601160248201527f5f747278536571206e6f74206578697374000000000000000000000000000000604482015290519081900360640190fd5b600c546000828152600a6020526040902060020154106121bc576040805160e560020a62461bcd02815260206004820152601e60248201527f74727820616c72656164792068617320656e6f756768207369676e6572730000604482015290519081900360640190fd5b6000818152600a602052604090205460ff1615612223576040805160e560020a62461bcd02815260206004820152601460248201527f74727820616c7265616479206578656375746564000000000000000000000000604482015290519081900360640190fd5b61222d8133611980565b15612282576040805160e560020a62461bcd02815260206004820152601860248201527f7369676e657220616c726561647920636f6e6669726d65640000000000000000604482015290519081900360640190fd5b6000818152600a602090815260408083206002018054600181018255908452918320909101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155905183927f8c6087d792119c81c59c5de009a30bb0f1e1feffd604ab5bb0975478e785e06e91a350565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60008183600019031015151561236c57600080fd5b500190565b60008282111561238057600080fd5b50900390565b600061239184610b20565b610dcd848484612940565b600160a060020a03821615156123b157600080fd5b6002546123c4908263ffffffff61237116565b600255600160a060020a0382166000908152602081905260409020546123f0908263ffffffff61237116565b600160a060020a03831660008181526020818152604080832094909455835185815293519193600080516020612c79833981519152929081900390910190a35050565b336000908152600160209081526040808320600160a060020a038616845290915281205480831061248757336000908152600160209081526040808320600160a060020a03881684529091528120556124bc565b612497818463ffffffff61237116565b336000908152600160209081526040808320600160a060020a03891684529091529020555b336000818152600160209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a0382166000908152600160209081526040808320338452909152902054612556908263ffffffff61237116565b600160a060020a038316600090815260016020908152604080832033845290915290205561101f828261239c565b60035460009060a060020a900460ff161561259e57600080fd5b6125a733610b20565b600160a060020a038416158015906125be57508215155b80156125c957508115155b15156125d457600080fd5b60006125f96125ec846201518063ffffffff61273d16565b429063ffffffff61235716565b600160a060020a038616600090815260046020908152604080832081518083018352898152808401868152825460018181018555938752858720925160029091029092019182555191015533835290829052902054909150612661908563ffffffff61237116565b3360009081526020818152604080832093909355600160a060020a0388168252600590522054612697908563ffffffff61235716565b600160a060020a038616600081815260056020908152604091829020939093558051878152905191923392600080516020612c798339815191529281900390910190a360408051858152602081018390528151600160a060020a038816927f2d814308d70a2c356e04b9495a463b35b22563f541e00d2dad99471d28496612928290030190a2506001949350505050565b600061273333610b20565b610a118383612965565b600082151561274e57506000610a14565b818360001981151561275c57fe5b04101561276857600080fd5b500290565b600081151561277b57600080fd5b818381151561278657fe5b049392505050565b600160a060020a0382166000908152602081905260409020546127b7908263ffffffff61235716565b600160a060020a0383166000908152602081905260409020556002546127e3908263ffffffff61235716565b600255604080518281529051600160a060020a038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b336000908152600160209081526040808320600160a060020a038616845290915281205461285d908363ffffffff61235716565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156128d757600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035460009060a060020a900460ff161561295a57600080fd5b610dcd848484612989565b60035460009060a060020a900460ff161561297f57600080fd5b610a118383612aee565b6000600160a060020a03831615156129a057600080fd5b600160a060020a0384166000908152602081905260409020548211156129c557600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020548211156129f557600080fd5b600160a060020a038416600090815260208190526040902054612a1e908363ffffffff61237116565b600160a060020a038086166000908152602081905260408082209390935590851681522054612a53908363ffffffff61235716565b600160a060020a03808516600090815260208181526040808320949094559187168152600182528281203382529091522054612a95908363ffffffff61237116565b600160a060020a0380861660008181526001602090815260408083203384528252918290209490945580518681529051928716939192600080516020612c79833981519152929181900390910190a35060019392505050565b6000600160a060020a0383161515612b0557600080fd5b33600090815260208190526040902054821115612b2157600080fd5b33600090815260208190526040902054612b41908363ffffffff61237116565b3360009081526020819052604080822092909255600160a060020a03851681522054612b73908363ffffffff61235716565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020612c798339815191529281900390910190a350600192915050565b604080518082019091526000808252602082015290565b5080546000825560020290600052602060002090810190610d319190612c37565b5080546000825590600052602060002090810190610d319190612c5e565b815481835581811115610b1557600083815260209020610b15918101908301612c5e565b612c5b91905b80821115612c575760008082556001820155600201612c3d565b5090565b90565b612c5b91905b80821115612c575760008155600101612c6456feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef63616e2774207472616e7366657220746f20416263546f6b656e2061646472657373206469726563746c79a165627a7a7230582095f333281ce631d56ea7fea94929f15c4db9f737966538a4a532c0b389fcbb340029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000f494f4145582042445220544f4b454e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003494f420000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): IOAEX BDR TOKEN
Arg [1] : _symbol (string): IOB
Arg [2] : _decimals (uint8): 3
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [4] : 494f4145582042445220544f4b454e0000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 494f420000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://95f333281ce631d56ea7fea94929f15c4db9f737966538a4a532c0b389fcbb34
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 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.