Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Factory
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-28 */ pragma solidity ^0.4.24; contract Factory { address developer = 0x007C67F0CDBea74592240d492Aef2a712DAFa094c3; event ContractCreated(address creator, address newcontract, uint timestamp, string contract_type); function setDeveloper (address _dev) public { if(developer==address(0) || developer==msg.sender){ developer = _dev; } } function createContract (bool isbroker, string contract_type, bool _brokerrequired) public { address newContract = new Broker(isbroker, developer, msg.sender, _brokerrequired); emit ContractCreated(msg.sender, newContract, block.timestamp, contract_type); } } contract Broker { enum State { Created, Validated, Locked, Finished } State public state; enum FileState { Created, Invalidated // , Confirmed } struct File{ // The purpose of this file. Like, picture, license info., etc. // to save the space, we better use short name. // Dapps should match proper long name for this. bytes32 purpose; // name of the file string name; // ipfs id for this file string ipfshash; FileState state; } struct Item{ string name; // At least 0.1 Finney, because it's the fee to the developer uint price; // this could be a link to an Web page explaining about this item string detail; File[] documents; } struct BuyInfo{ address buyer; bool completed; } Item public item; address public seller = address(0); address public broker = address(0); uint public brokerFee; // Minimum 0.1 Finney (0.0001 eth ~ 25Cent) to 0.01% of the price. uint public developerfee = 0.1 finney; uint minimumdeveloperfee = 0.1 finney; address developer = 0x007C67F0CDBea74592240d492Aef2a712DAFa094c3; // bool public validated; address creator = 0x0; address factory = 0x0; bool bBrokerRequired = true; BuyInfo[] public buyinfo; modifier onlySeller() { require(msg.sender == seller); _; } modifier onlyCreator() { require(msg.sender == creator); _; } modifier onlyBroker() { require(msg.sender == broker); _; } modifier inState(State _state) { require(state == _state); _; } modifier condition(bool _condition) { require(_condition); _; } event AbortedBySeller(); event AbortedByBroker(); event PurchaseConfirmed(address buyer); event ItemReceived(); event IndividualItemReceived(address buyer); event Validated(); event ItemInfoChanged(string name, uint price, string detail, uint developerfee); event SellerChanged(address seller); event BrokerChanged(address broker); event BrokerFeeChanged(uint fee); // The constructor constructor(bool isbroker, address _dev, address _creator, bool _brokerrequired) public { bBrokerRequired = _brokerrequired; if(creator==address(0)){ //storedData = initialValue; if(isbroker) broker = _creator; else seller = _creator; creator = _creator; // value = msg.value / 2; // require((2 * value) == msg.value); state = State.Created; // validated = false; brokerFee = 50; } if(developer==address(0) || developer==msg.sender){ developer = _dev; } if(factory==address(0)){ factory = msg.sender; } } function joinAsBroker() public { if(broker==address(0)){ broker = msg.sender; } } function createOrSet(string name, uint price, string detail) public inState(State.Created) onlyCreator { require(price > minimumdeveloperfee); item.name = name; item.price = price; item.detail = detail; developerfee = (price/1000)<minimumdeveloperfee ? minimumdeveloperfee : (price/1000); emit ItemInfoChanged(name, price, detail, developerfee); } function getBroker() public constant returns(address, uint) { return (broker, brokerFee); } function getSeller() public constant returns(address) { return (seller); } function getBuyers() public constant returns(address[]) { address[] memory buyers = new address[](buyinfo.length); //uint val = address(this).balance / buyinfo.length; for (uint256 x = 0; x < buyinfo.length; x++) { buyers[x] = buyinfo[x].buyer; } return (buyers); } function getBuyerInfoAt(uint256 x) public constant returns(address, bool) { return (buyinfo[x].buyer, buyinfo[x].completed); } function setBroker(address _address) public onlySeller inState(State.Created) { broker = _address; emit BrokerChanged(broker); } function setBrokerFee(uint fee) public onlyCreator inState(State.Created) { brokerFee = fee; emit BrokerFeeChanged(fee); } function setSeller(address _address) public onlyBroker inState(State.Created) { seller = _address; emit SellerChanged(seller); } // We will have some 'peculiar' list of documents // for each deals. // For ex, for House we will require // proof of documents about the basic information of the House, // and some insurance information. // So we can make a template for each differene kind of deals. // Deals for a house, deals for a Car, etc. function addDocument(bytes32 _purpose, string _name, string _ipfshash) public { require(state != State.Finished); require(state != State.Locked); item.documents.push( File({ purpose:_purpose, name:_name, ipfshash:_ipfshash, state:FileState.Created} ) ); } // deleting actual file on the IPFS network is very hard. function deleteDocument(uint index) public { require(state != State.Finished); require(state != State.Locked); if(index<item.documents.length){ item.documents[index].state = FileState.Invalidated; } } function validate() public onlyBroker inState(State.Created) { // if(index<item.documents.length){ // item.documents[index].state = FileState.Confirmed; // } emit Validated(); // validated = true; state = State.Validated; } function returnMoneyToBuyers() private { require(state != State.Finished); if(buyinfo.length>0){ uint val = address(this).balance / buyinfo.length; for (uint256 x = 0; x < buyinfo.length; x++) { if(buyinfo[x].completed==false){ buyinfo[x].buyer.transfer(val); } } } state = State.Finished; } /// Abort the purchase and reclaim the ether. /// Can only be called by the seller before /// the contract is locked. function abort() public onlySeller { returnMoneyToBuyers(); emit AbortedBySeller(); // validated = false; seller.transfer(address(this).balance); } function abortByBroker() public onlyBroker { if(!bBrokerRequired) return; returnMoneyToBuyers(); emit AbortedByBroker(); } /// Confirm the purchase as buyer. /// The ether will be locked until confirmReceived /// is called. function confirmPurchase() public condition(msg.value == item.price) payable { if(bBrokerRequired){ if(state != State.Validated || state != State.Locked){ return; } } if(state == State.Finished){ return; } state = State.Locked; emit PurchaseConfirmed(msg.sender); bool complete = false; if(!bBrokerRequired){ // send money right away complete = true; seller.transfer(item.price-developerfee); developer.transfer(developerfee); } buyinfo.push(BuyInfo(msg.sender, complete)); } /// Confirm that you (the buyer) received the item. /// This will release the locked ether. function confirmReceived() public onlyBroker inState(State.Locked) { // It is important to change the state first because // otherwise, the contracts called using `send` below // can call in again here. state = State.Finished; // NOTE: This actually allows both the buyer and the seller to // block the refund - the withdraw pattern should be used. seller.transfer(address(this).balance-brokerFee-developerfee); broker.transfer(brokerFee); developer.transfer(developerfee); emit ItemReceived(); } // function confirmReceivedAt(uint index) public onlyBroker inState(State.Locked) { // In this case the broker is confirming one by one, // the other purchase should go on. So we don't change the status. if(index>=buyinfo.length) return; if(buyinfo[index].completed) return; // NOTE: This actually allows both the buyer and the seller to // block the refund - the withdraw pattern should be used. seller.transfer(item.price-brokerFee-developerfee); broker.transfer(brokerFee); developer.transfer(developerfee); buyinfo[index].completed = true; emit IndividualItemReceived(buyinfo[index].buyer); } function getInfo() constant public returns (State, string, uint, string, uint, uint, address, address, bool) { return (state, item.name, item.price, item.detail, item.documents.length, developerfee, seller, broker, bBrokerRequired); } function getBalance() constant public returns (uint256) { return address(this).balance; } function getFileAt(uint index) public constant returns(uint, bytes32, string, string, FileState) { return (index, item.documents[index].purpose, item.documents[index].name, item.documents[index].ipfshash, item.documents[index].state); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"isbroker","type":"bool"},{"name":"contract_type","type":"string"},{"name":"_brokerrequired","type":"bool"}],"name":"createContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_dev","type":"address"}],"name":"setDeveloper","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"creator","type":"address"},{"indexed":false,"name":"newcontract","type":"address"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"contract_type","type":"string"}],"name":"ContractCreated","type":"event"}]
Contract Creation Code
6080604052737c67f0cdbea74592240d492aef2a712dafa094c36000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006457600080fd5b50613275806100746000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680639cf9342e14610051578063ff70fa49146100d2575b600080fd5b34801561005d57600080fd5b506100d0600480360381019080803515159060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803515159060200190929190505050610115565b005b3480156100de57600080fd5b50610113600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f4565b005b6000836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846101446103e5565b80851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182151515158152602001945050505050604051809103906000f0801580156101df573d6000803e3d6000fd5b5090507f0de9c1a487b0b8d32ae985845249f33f22f7c4a93285a9d4675bd34ff8e5cd5033824286604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102b1578082015181840152602081019050610296565b50505050905090810190601f1680156102de5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061039c57503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156103e257806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b604051612e54806103f683390190560060806040526000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550655af3107a4000600855655af3107a4000600955737c67f0cdbea74592240d492aef2a712dafa094c3600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff0219169083151502179055503480156200019d57600080fd5b5060405160808062002e548339810180604052810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505080600c60146101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200034f5783156200029f5781600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002e1565b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548160ff021916908360038111156200034157fe5b021790555060326007819055505b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480620003fa57503373ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15620004425782600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415620004dc5733600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050505061296480620004f06000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806308551a53146101645780630da5b5e3146101bb57806312065fe01461023357806335a063b41461025e578063423a7954146102755780635a9b0b89146102a0578063628e50b51461043757806362d93527146104625780636901f6681461048f5780636a6e88ba146104a65780636c5dee171461051e57806373fac6f01461065b57806385be8fe6146106725780638d69121d1461069f578063980fb0aa1461075c578063a0fb149714610773578063abff0110146107a0578063b2774b17146107f7578063bf0d0213146108b0578063c19d93fb146108f3578063d1314ee01461092c578063d69606971461098a578063dbd0e1b614610994578063e94087d6146109eb578063e99d286614610a02578063f2a4a82e14610a45578063f64bfaba14610b48575b600080fd5b34801561017057600080fd5b50610179610bb4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101e660048036038101908080359060200190929190505050610bda565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390f35b34801561023f57600080fd5b50610248610c36565b6040518082815260200191505060405180910390f35b34801561026a57600080fd5b50610273610c55565b005b34801561028157600080fd5b5061028a610d67565b6040518082815260200191505060405180910390f35b3480156102ac57600080fd5b506102b5610d6d565b604051808a60038111156102c557fe5b60ff16815260200180602001898152602001806020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018415151515815260200183810383528b818151815260200191508051906020019080838360005b8381101561038d578082015181840152602081019050610372565b50505050905090810190601f1680156103ba5780820380516001836020036101000a031916815260200191505b50838103825289818151815260200191508051906020019080838360005b838110156103f35780820151818401526020810190506103d8565b50505050905090810190601f1680156104205780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b34801561044357600080fd5b5061044c610f52565b6040518082815260200191505060405180910390f35b34801561046e57600080fd5b5061048d60048036038101908080359060200190929190505050610f58565b005b34801561049b57600080fd5b506104a461102a565b005b3480156104b257600080fd5b506104d16004803603810190808035906020019092919050505061110c565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390f35b34801561052a57600080fd5b506105496004803603810190808035906020019092919050505061117f565b604051808681526020018560001916600019168152602001806020018060200184600181111561057557fe5b60ff168152602001838103835286818151815260200191508051906020019080838360005b838110156105b557808201518184015260208101905061059a565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561061b578082015181840152602081019050610600565b50505050905090810190601f1680156106485780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561066757600080fd5b5061067061136e565b005b34801561067e57600080fd5b5061069d600480360381019080803590602001909291905050506115ae565b005b3480156106ab57600080fd5b5061075a6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506118a9565b005b34801561076857600080fd5b506107716119ed565b005b34801561077f57600080fd5b5061079e60048036038101908080359060200190929190505050611a9b565b005b3480156107ac57600080fd5b506107b5611b5a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561080357600080fd5b506108ae600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611b80565b005b3480156108bc57600080fd5b506108f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611db1565b005b3480156108ff57600080fd5b50610908611f0b565b6040518082600381111561091857fe5b60ff16815260200191505060405180910390f35b34801561093857600080fd5b50610941611f1d565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b610992611f4e565b005b3480156109a057600080fd5b506109a9612253565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f757600080fd5b50610a0061227d565b005b348015610a0e57600080fd5b50610a43600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612318565b005b348015610a5157600080fd5b50610a5a612472565b604051808060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610aa4578082015181840152602081019050610a89565b50505050905090810190601f168015610ad15780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b0a578082015181840152602081019050610aef565b50505050905090810190601f168015610b375780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b348015610b5457600080fd5b50610b5d6125ba565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610ba0578082015181840152602081019050610b85565b505050509050019250505060405180910390f35b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d81815481101515610be957fe5b906000526020600020016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460ff16905082565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb157600080fd5b610cb96126a4565b7f2e59d174afd41f9394b228b6d712c9b94b57d035e8e654713937c2ed1805d31960405160405180910390a1600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610d64573d6000803e3d6000fd5b50565b60085481565b600060606000606060008060008060008060009054906101000a900460ff16600160000160018001546001600201600160030180549050600854600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60149054906101000a900460ff16878054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e925780601f10610e6757610100808354040283529160200191610e92565b820191906000526020600020905b815481529060010190602001808311610e7557829003601f168201915b50505050509750858054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f2e5780601f10610f0357610100808354040283529160200191610f2e565b820191906000526020600020905b815481529060010190602001808311610f1157829003601f168201915b50505050509550985098509850985098509850985098509850909192939495969798565b60075481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fb457600080fd5b6000806003811115610fc257fe5b6000809054906101000a900460ff166003811115610fdc57fe5b141515610fe857600080fd5b816007819055507feddf6a5d82f8c9f95f788c0e19a85a523cbb07c55552e3bb8d6f8a5854a21e8d826040518082815260200191505060405180910390a15050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561108657600080fd5b600080600381111561109457fe5b6000809054906101000a900460ff1660038111156110ae57fe5b1415156110ba57600080fd5b7f8fce3301e80cf917ce4c6e2b16b8323799f73469be2157dcbb210a93539c22c560405160405180910390a160016000806101000a81548160ff0219169083600381111561110457fe5b021790555050565b600080600d8381548110151561111e57fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d8481548110151561115b57fe5b9060005260206000200160000160149054906101000a900460ff1691509150915091565b60008060608060008560016003018781548110151561119a57fe5b9060005260206000209060040201600001546001600301888154811015156111be57fe5b90600052602060002090600402016001016001600301898154811015156111e157fe5b906000526020600020906004020160020160016003018a81548110151561120457fe5b906000526020600020906004020160030160009054906101000a900460ff16828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112b85780601f1061128d576101008083540402835291602001916112b8565b820191906000526020600020905b81548152906001019060200180831161129b57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113545780601f1061132957610100808354040283529160200191611354565b820191906000526020600020905b81548152906001019060200180831161133757829003601f168201915b505050505091509450945094509450945091939590929450565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113ca57600080fd5b60028060038111156113d857fe5b6000809054906101000a900460ff1660038111156113f257fe5b1415156113fe57600080fd5b60036000806101000a81548160ff0219169083600381111561141c57fe5b0217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008546007543073ffffffffffffffffffffffffffffffffffffffff163103039081150290604051600060405180830381858888f193505050501580156114a8573d6000803e3d6000fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6007549081150290604051600060405180830381858888f19350505050158015611513573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008549081150290604051600060405180830381858888f1935050505015801561157e573d6000803e3d6000fd5b507fe89152acd703c9d8c7d28829d443260b411454d45394e7995815140c8cbcbcf760405160405180910390a150565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561160a57600080fd5b600280600381111561161857fe5b6000809054906101000a900460ff16600381111561163257fe5b14151561163e57600080fd5b600d8054905082101515611651576118a5565b600d8281548110151561166057fe5b9060005260206000200160000160149054906101000a900460ff1615611685576118a5565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600854600754600180015403039081150290604051600060405180830381858888f193505050501580156116f9573d6000803e3d6000fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6007549081150290604051600060405180830381858888f19350505050158015611764573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008549081150290604051600060405180830381858888f193505050501580156117cf573d6000803e3d6000fd5b506001600d838154811015156117e157fe5b9060005260206000200160000160146101000a81548160ff0219169083151502179055507fa98aaaa10623abf440af32fc7b0787b98272a5d05e687450a6c445698f55683f600d8381548110151561183557fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b6003808111156118b557fe5b6000809054906101000a900460ff1660038111156118cf57fe5b141515156118dc57600080fd5b600260038111156118e957fe5b6000809054906101000a900460ff16600381111561190357fe5b1415151561191057600080fd5b6001600301608060405190810160405280856000191681526020018481526020018381526020016000600181111561194457fe5b8152509080600181540180825580915050906001820390600052602060002090600402016000909192909190915060008201518160000190600019169055602082015181600101908051906020019061199e929190612813565b5060408201518160020190805190602001906119bb929190612813565b5060608201518160030160006101000a81548160ff021916908360018111156119e057fe5b0217905550505050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a4957600080fd5b600c60149054906101000a900460ff161515611a6457611a99565b611a6c6126a4565b7f69dbd123ab068cca278e2b306a6c70755e68a9f42177efdff8d82f538afff86d60405160405180910390a15b565b600380811115611aa757fe5b6000809054906101000a900460ff166003811115611ac157fe5b14151515611ace57600080fd5b60026003811115611adb57fe5b6000809054906101000a900460ff166003811115611af557fe5b14151515611b0257600080fd5b600160030180549050811015611b575760018060030182815481101515611b2557fe5b906000526020600020906004020160030160006101000a81548160ff02191690836001811115611b5157fe5b02179055505b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806003811115611b8e57fe5b6000809054906101000a900460ff166003811115611ba857fe5b141515611bb457600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c1057600080fd5b60095483111515611c2057600080fd5b8360016000019080519060200190611c39929190612893565b508260018001819055508160016002019080519060200190611c5c929190612893565b506009546103e884811515611c6d57fe5b0410611c86576103e883811515611c8057fe5b04611c8a565b6009545b6008819055507fb2e22e97fe2a63979c4686c61caf76f7184161b2e09fc886ee321717ca69a26e848484600854604051808060200185815260200180602001848152602001838103835287818151815260200191508051906020019080838360005b83811015611d07578082015181840152602081019050611cec565b50505050905090810190601f168015611d345780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015611d6d578082015181840152602081019050611d52565b50505050905090810190601f168015611d9a5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0d57600080fd5b6000806003811115611e1b57fe5b6000809054906101000a900460ff166003811115611e3557fe5b141515611e4157600080fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1b75d8270e5afe939fdff3cae33a061487ace0ba93a965f2548656f2369d9ca2600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b6000809054906101000a900460ff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600754915091509091565b600060018001543414801515611f6357600080fd5b600c60149054906101000a900460ff1615611fdc5760016003811115611f8557fe5b6000809054906101000a900460ff166003811115611f9f57fe5b141580611fd1575060026003811115611fb457fe5b6000809054906101000a900460ff166003811115611fce57fe5b14155b15611fdb5761224f565b5b600380811115611fe857fe5b6000809054906101000a900460ff16600381111561200257fe5b141561200d5761224f565b60026000806101000a81548160ff0219169083600381111561202b57fe5b02179055507f65674dd17109911bdb8eb8960c9589170ab40adbc59f4551a8523e3ae64c14bc33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a160009150600c60149054906101000a900460ff16151561218e5760019150600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008546001800154039081150290604051600060405180830381858888f19350505050158015612121573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008549081150290604051600060405180830381858888f1935050505015801561218c573d6000803e3d6000fd5b505b600d60408051908101604052803373ffffffffffffffffffffffffffffffffffffffff16815260200184151581525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055505050505b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156123165733600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561237457600080fd5b600080600381111561238257fe5b6000809054906101000a900460ff16600381111561239c57fe5b1415156123a857600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe46d82ca18b3efbc720137c06201d9d5f5f97d3ee36c2b3d412884fe6801c104600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b6001806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561250c5780601f106124e15761010080835404028352916020019161250c565b820191906000526020600020905b8154815290600101906020018083116124ef57829003601f168201915b505050505090806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125b05780601f10612585576101008083540402835291602001916125b0565b820191906000526020600020905b81548152906001019060200180831161259357829003601f168201915b5050505050905083565b6060806000600d805490506040519080825280602002602001820160405280156125f35781602001602082028038833980820191505090505b509150600090505b600d8054905081101561269c57600d8181548110151561261757fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110151561265357fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806001019150506125fb565b819250505090565b6000806003808111156126b357fe5b6000809054906101000a900460ff1660038111156126cd57fe5b141515156126da57600080fd5b6000600d8054905011156127ec57600d805490503073ffffffffffffffffffffffffffffffffffffffff163181151561270f57fe5b049150600090505b600d805490508110156127eb5760001515600d8281548110151561273757fe5b9060005260206000200160000160149054906101000a900460ff16151514156127de57600d8181548110151561276957fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156127dc573d6000803e3d6000fd5b505b8080600101915050612717565b5b60036000806101000a81548160ff0219169083600381111561280a57fe5b02179055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061285457805160ff1916838001178555612882565b82800160010185558215612882579182015b82811115612881578251825591602001919060010190612866565b5b50905061288f9190612913565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106128d457805160ff1916838001178555612902565b82800160010185558215612902579182015b828111156129015782518255916020019190600101906128e6565b5b50905061290f9190612913565b5090565b61293591905b80821115612931576000816000905550600101612919565b5090565b905600a165627a7a72305820229b83d3ad2e55105bb4eb995dfcd1980f583131b120fde5a17398f7140c808f0029a165627a7a72305820a3ff69d8fedaf326cbb649526c093b7263822e402bf5168d9584a41d4a7869a00029
Deployed Bytecode
0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680639cf9342e14610051578063ff70fa49146100d2575b600080fd5b34801561005d57600080fd5b506100d0600480360381019080803515159060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803515159060200190929190505050610115565b005b3480156100de57600080fd5b50610113600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102f4565b005b6000836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846101446103e5565b80851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182151515158152602001945050505050604051809103906000f0801580156101df573d6000803e3d6000fd5b5090507f0de9c1a487b0b8d32ae985845249f33f22f7c4a93285a9d4675bd34ff8e5cd5033824286604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156102b1578082015181840152602081019050610296565b50505050905090810190601f1680156102de5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a150505050565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061039c57503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156103e257806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b604051612e54806103f683390190560060806040526000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550655af3107a4000600855655af3107a4000600955737c67f0cdbea74592240d492aef2a712dafa094c3600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff0219169083151502179055503480156200019d57600080fd5b5060405160808062002e548339810180604052810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505080600c60146101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200034f5783156200029f5781600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002e1565b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548160ff021916908360038111156200034157fe5b021790555060326007819055505b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480620003fa57503373ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15620004425782600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415620004dc5733600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5050505061296480620004f06000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806308551a53146101645780630da5b5e3146101bb57806312065fe01461023357806335a063b41461025e578063423a7954146102755780635a9b0b89146102a0578063628e50b51461043757806362d93527146104625780636901f6681461048f5780636a6e88ba146104a65780636c5dee171461051e57806373fac6f01461065b57806385be8fe6146106725780638d69121d1461069f578063980fb0aa1461075c578063a0fb149714610773578063abff0110146107a0578063b2774b17146107f7578063bf0d0213146108b0578063c19d93fb146108f3578063d1314ee01461092c578063d69606971461098a578063dbd0e1b614610994578063e94087d6146109eb578063e99d286614610a02578063f2a4a82e14610a45578063f64bfaba14610b48575b600080fd5b34801561017057600080fd5b50610179610bb4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c757600080fd5b506101e660048036038101908080359060200190929190505050610bda565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390f35b34801561023f57600080fd5b50610248610c36565b6040518082815260200191505060405180910390f35b34801561026a57600080fd5b50610273610c55565b005b34801561028157600080fd5b5061028a610d67565b6040518082815260200191505060405180910390f35b3480156102ac57600080fd5b506102b5610d6d565b604051808a60038111156102c557fe5b60ff16815260200180602001898152602001806020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018415151515815260200183810383528b818151815260200191508051906020019080838360005b8381101561038d578082015181840152602081019050610372565b50505050905090810190601f1680156103ba5780820380516001836020036101000a031916815260200191505b50838103825289818151815260200191508051906020019080838360005b838110156103f35780820151818401526020810190506103d8565b50505050905090810190601f1680156104205780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b34801561044357600080fd5b5061044c610f52565b6040518082815260200191505060405180910390f35b34801561046e57600080fd5b5061048d60048036038101908080359060200190929190505050610f58565b005b34801561049b57600080fd5b506104a461102a565b005b3480156104b257600080fd5b506104d16004803603810190808035906020019092919050505061110c565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390f35b34801561052a57600080fd5b506105496004803603810190808035906020019092919050505061117f565b604051808681526020018560001916600019168152602001806020018060200184600181111561057557fe5b60ff168152602001838103835286818151815260200191508051906020019080838360005b838110156105b557808201518184015260208101905061059a565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b8381101561061b578082015181840152602081019050610600565b50505050905090810190601f1680156106485780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561066757600080fd5b5061067061136e565b005b34801561067e57600080fd5b5061069d600480360381019080803590602001909291905050506115ae565b005b3480156106ab57600080fd5b5061075a6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506118a9565b005b34801561076857600080fd5b506107716119ed565b005b34801561077f57600080fd5b5061079e60048036038101908080359060200190929190505050611a9b565b005b3480156107ac57600080fd5b506107b5611b5a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561080357600080fd5b506108ae600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611b80565b005b3480156108bc57600080fd5b506108f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611db1565b005b3480156108ff57600080fd5b50610908611f0b565b6040518082600381111561091857fe5b60ff16815260200191505060405180910390f35b34801561093857600080fd5b50610941611f1d565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b610992611f4e565b005b3480156109a057600080fd5b506109a9612253565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109f757600080fd5b50610a0061227d565b005b348015610a0e57600080fd5b50610a43600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612318565b005b348015610a5157600080fd5b50610a5a612472565b604051808060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610aa4578082015181840152602081019050610a89565b50505050905090810190601f168015610ad15780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610b0a578082015181840152602081019050610aef565b50505050905090810190601f168015610b375780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b348015610b5457600080fd5b50610b5d6125ba565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610ba0578082015181840152602081019050610b85565b505050509050019250505060405180910390f35b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d81815481101515610be957fe5b906000526020600020016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460ff16905082565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb157600080fd5b610cb96126a4565b7f2e59d174afd41f9394b228b6d712c9b94b57d035e8e654713937c2ed1805d31960405160405180910390a1600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610d64573d6000803e3d6000fd5b50565b60085481565b600060606000606060008060008060008060009054906101000a900460ff16600160000160018001546001600201600160030180549050600854600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60149054906101000a900460ff16878054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e925780601f10610e6757610100808354040283529160200191610e92565b820191906000526020600020905b815481529060010190602001808311610e7557829003601f168201915b50505050509750858054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f2e5780601f10610f0357610100808354040283529160200191610f2e565b820191906000526020600020905b815481529060010190602001808311610f1157829003601f168201915b50505050509550985098509850985098509850985098509850909192939495969798565b60075481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fb457600080fd5b6000806003811115610fc257fe5b6000809054906101000a900460ff166003811115610fdc57fe5b141515610fe857600080fd5b816007819055507feddf6a5d82f8c9f95f788c0e19a85a523cbb07c55552e3bb8d6f8a5854a21e8d826040518082815260200191505060405180910390a15050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561108657600080fd5b600080600381111561109457fe5b6000809054906101000a900460ff1660038111156110ae57fe5b1415156110ba57600080fd5b7f8fce3301e80cf917ce4c6e2b16b8323799f73469be2157dcbb210a93539c22c560405160405180910390a160016000806101000a81548160ff0219169083600381111561110457fe5b021790555050565b600080600d8381548110151561111e57fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d8481548110151561115b57fe5b9060005260206000200160000160149054906101000a900460ff1691509150915091565b60008060608060008560016003018781548110151561119a57fe5b9060005260206000209060040201600001546001600301888154811015156111be57fe5b90600052602060002090600402016001016001600301898154811015156111e157fe5b906000526020600020906004020160020160016003018a81548110151561120457fe5b906000526020600020906004020160030160009054906101000a900460ff16828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112b85780601f1061128d576101008083540402835291602001916112b8565b820191906000526020600020905b81548152906001019060200180831161129b57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113545780601f1061132957610100808354040283529160200191611354565b820191906000526020600020905b81548152906001019060200180831161133757829003601f168201915b505050505091509450945094509450945091939590929450565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113ca57600080fd5b60028060038111156113d857fe5b6000809054906101000a900460ff1660038111156113f257fe5b1415156113fe57600080fd5b60036000806101000a81548160ff0219169083600381111561141c57fe5b0217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008546007543073ffffffffffffffffffffffffffffffffffffffff163103039081150290604051600060405180830381858888f193505050501580156114a8573d6000803e3d6000fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6007549081150290604051600060405180830381858888f19350505050158015611513573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008549081150290604051600060405180830381858888f1935050505015801561157e573d6000803e3d6000fd5b507fe89152acd703c9d8c7d28829d443260b411454d45394e7995815140c8cbcbcf760405160405180910390a150565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561160a57600080fd5b600280600381111561161857fe5b6000809054906101000a900460ff16600381111561163257fe5b14151561163e57600080fd5b600d8054905082101515611651576118a5565b600d8281548110151561166057fe5b9060005260206000200160000160149054906101000a900460ff1615611685576118a5565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600854600754600180015403039081150290604051600060405180830381858888f193505050501580156116f9573d6000803e3d6000fd5b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6007549081150290604051600060405180830381858888f19350505050158015611764573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008549081150290604051600060405180830381858888f193505050501580156117cf573d6000803e3d6000fd5b506001600d838154811015156117e157fe5b9060005260206000200160000160146101000a81548160ff0219169083151502179055507fa98aaaa10623abf440af32fc7b0787b98272a5d05e687450a6c445698f55683f600d8381548110151561183557fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5050565b6003808111156118b557fe5b6000809054906101000a900460ff1660038111156118cf57fe5b141515156118dc57600080fd5b600260038111156118e957fe5b6000809054906101000a900460ff16600381111561190357fe5b1415151561191057600080fd5b6001600301608060405190810160405280856000191681526020018481526020018381526020016000600181111561194457fe5b8152509080600181540180825580915050906001820390600052602060002090600402016000909192909190915060008201518160000190600019169055602082015181600101908051906020019061199e929190612813565b5060408201518160020190805190602001906119bb929190612813565b5060608201518160030160006101000a81548160ff021916908360018111156119e057fe5b0217905550505050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a4957600080fd5b600c60149054906101000a900460ff161515611a6457611a99565b611a6c6126a4565b7f69dbd123ab068cca278e2b306a6c70755e68a9f42177efdff8d82f538afff86d60405160405180910390a15b565b600380811115611aa757fe5b6000809054906101000a900460ff166003811115611ac157fe5b14151515611ace57600080fd5b60026003811115611adb57fe5b6000809054906101000a900460ff166003811115611af557fe5b14151515611b0257600080fd5b600160030180549050811015611b575760018060030182815481101515611b2557fe5b906000526020600020906004020160030160006101000a81548160ff02191690836001811115611b5157fe5b02179055505b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806003811115611b8e57fe5b6000809054906101000a900460ff166003811115611ba857fe5b141515611bb457600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c1057600080fd5b60095483111515611c2057600080fd5b8360016000019080519060200190611c39929190612893565b508260018001819055508160016002019080519060200190611c5c929190612893565b506009546103e884811515611c6d57fe5b0410611c86576103e883811515611c8057fe5b04611c8a565b6009545b6008819055507fb2e22e97fe2a63979c4686c61caf76f7184161b2e09fc886ee321717ca69a26e848484600854604051808060200185815260200180602001848152602001838103835287818151815260200191508051906020019080838360005b83811015611d07578082015181840152602081019050611cec565b50505050905090810190601f168015611d345780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015611d6d578082015181840152602081019050611d52565b50505050905090810190601f168015611d9a5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0d57600080fd5b6000806003811115611e1b57fe5b6000809054906101000a900460ff166003811115611e3557fe5b141515611e4157600080fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1b75d8270e5afe939fdff3cae33a061487ace0ba93a965f2548656f2369d9ca2600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b6000809054906101000a900460ff1681565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600754915091509091565b600060018001543414801515611f6357600080fd5b600c60149054906101000a900460ff1615611fdc5760016003811115611f8557fe5b6000809054906101000a900460ff166003811115611f9f57fe5b141580611fd1575060026003811115611fb457fe5b6000809054906101000a900460ff166003811115611fce57fe5b14155b15611fdb5761224f565b5b600380811115611fe857fe5b6000809054906101000a900460ff16600381111561200257fe5b141561200d5761224f565b60026000806101000a81548160ff0219169083600381111561202b57fe5b02179055507f65674dd17109911bdb8eb8960c9589170ab40adbc59f4551a8523e3ae64c14bc33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a160009150600c60149054906101000a900460ff16151561218e5760019150600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008546001800154039081150290604051600060405180830381858888f19350505050158015612121573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6008549081150290604051600060405180830381858888f1935050505015801561218c573d6000803e3d6000fd5b505b600d60408051908101604052803373ffffffffffffffffffffffffffffffffffffffff16815260200184151581525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055505050505b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156123165733600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561237457600080fd5b600080600381111561238257fe5b6000809054906101000a900460ff16600381111561239c57fe5b1415156123a857600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe46d82ca18b3efbc720137c06201d9d5f5f97d3ee36c2b3d412884fe6801c104600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b6001806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561250c5780601f106124e15761010080835404028352916020019161250c565b820191906000526020600020905b8154815290600101906020018083116124ef57829003601f168201915b505050505090806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125b05780601f10612585576101008083540402835291602001916125b0565b820191906000526020600020905b81548152906001019060200180831161259357829003601f168201915b5050505050905083565b6060806000600d805490506040519080825280602002602001820160405280156125f35781602001602082028038833980820191505090505b509150600090505b600d8054905081101561269c57600d8181548110151561261757fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110151561265357fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806001019150506125fb565b819250505090565b6000806003808111156126b357fe5b6000809054906101000a900460ff1660038111156126cd57fe5b141515156126da57600080fd5b6000600d8054905011156127ec57600d805490503073ffffffffffffffffffffffffffffffffffffffff163181151561270f57fe5b049150600090505b600d805490508110156127eb5760001515600d8281548110151561273757fe5b9060005260206000200160000160149054906101000a900460ff16151514156127de57600d8181548110151561276957fe5b9060005260206000200160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156127dc573d6000803e3d6000fd5b505b8080600101915050612717565b5b60036000806101000a81548160ff0219169083600381111561280a57fe5b02179055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061285457805160ff1916838001178555612882565b82800160010185558215612882579182015b82811115612881578251825591602001919060010190612866565b5b50905061288f9190612913565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106128d457805160ff1916838001178555612902565b82800160010185558215612902579182015b828111156129015782518255916020019190600101906128e6565b5b50905061290f9190612913565b5090565b61293591905b80821115612931576000816000905550600101612919565b5090565b905600a165627a7a72305820229b83d3ad2e55105bb4eb995dfcd1980f583131b120fde5a17398f7140c808f0029a165627a7a72305820a3ff69d8fedaf326cbb649526c093b7263822e402bf5168d9584a41d4a7869a00029
Swarm Source
bzzr://a3ff69d8fedaf326cbb649526c093b7263822e402bf5168d9584a41d4a7869a0
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.