More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 98 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Resolve Prior Be... | 7049532 | 2249 days ago | IN | 0 ETH | 0.00008539 | ||||
Resolve Prior Be... | 6986700 | 2261 days ago | IN | 0 ETH | 0.00017501 | ||||
Resolve Prior Be... | 6978802 | 2262 days ago | IN | 0 ETH | 0.00043753 | ||||
Resolve Prior Be... | 6941617 | 2268 days ago | IN | 0 ETH | 0.00021875 | ||||
Resolve Prior Be... | 6762431 | 2298 days ago | IN | 0 ETH | 0.00010138 | ||||
Resolve Prior Be... | 6672956 | 2313 days ago | IN | 0 ETH | 0.00017078 | ||||
Resolve Prior Be... | 6616192 | 2322 days ago | IN | 0 ETH | 0.00022473 | ||||
Resolve Prior Be... | 6610474 | 2323 days ago | IN | 0 ETH | 0.00009512 | ||||
Resolve Prior Be... | 6610457 | 2323 days ago | IN | 0 ETH | 0.00017079 | ||||
Place Bet Eth | 6608419 | 2323 days ago | IN | 0.0001 ETH | 0.00038194 | ||||
Place Bet Eth | 6608407 | 2323 days ago | IN | 0.0001 ETH | 0.00029964 | ||||
Resolve Prior Be... | 6603049 | 2324 days ago | IN | 0 ETH | 0.00025618 | ||||
Resolve Prior Be... | 6588559 | 2326 days ago | IN | 0 ETH | 0.00025618 | ||||
Resolve Prior Be... | 6586335 | 2327 days ago | IN | 0 ETH | 0.00034158 | ||||
Resolve Prior Be... | 6578867 | 2328 days ago | IN | 0 ETH | 0.00034158 | ||||
Resolve Prior Be... | 6577135 | 2328 days ago | IN | 0 ETH | 0.00030625 | ||||
Resolve Prior Be... | 6569658 | 2330 days ago | IN | 0 ETH | 0.0001132 | ||||
Resolve Prior Be... | 6565419 | 2330 days ago | IN | 0 ETH | 0.0000982 | ||||
Resolve Prior Be... | 6554100 | 2332 days ago | IN | 0 ETH | 0.00021348 | ||||
Resolve Prior Be... | 6550773 | 2333 days ago | IN | 0 ETH | 0.00025048 | ||||
Resolve Prior Be... | 6547255 | 2333 days ago | IN | 0 ETH | 0.00006792 | ||||
Resolve Prior Be... | 6547217 | 2333 days ago | IN | 0 ETH | 0.00013125 | ||||
Resolve Prior Be... | 6546589 | 2333 days ago | IN | 0 ETH | 0.0003525 | ||||
Resolve Prior Be... | 6545908 | 2333 days ago | IN | 0 ETH | 0.00017885 | ||||
Resolve Prior Be... | 6545898 | 2333 days ago | IN | 0 ETH | 0.00014174 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
VRFBet
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-10-09 */ pragma solidity ^0.4.24; contract AutomatedExchange{ function buyTokens() public payable; function calculateTokenSell(uint256 tokens) public view returns(uint256); function calculateTokenBuy(uint256 eth,uint256 contractBalance) public view returns(uint256); function balanceOf(address tokenOwner) public view returns (uint balance); } contract VerifyToken { function totalSupply() public constant returns (uint); function balanceOf(address tokenOwner) public constant returns (uint balance); function allowance(address tokenOwner, address spender) public constant returns (uint remaining); function transfer(address to, uint tokens) public returns (bool success); function approve(address spender, uint tokens) public returns (bool success); function transferFrom(address from, address to, uint tokens) public returns (bool success); bool public activated; event Transfer(address indexed from, address indexed to, uint tokens); event Approval(address indexed tokenOwner, address indexed spender, uint tokens); } contract ApproveAndCallFallBack { function receiveApproval(address from, uint256 tokens, address token, bytes data) public; } contract VRFBet is ApproveAndCallFallBack{ using SafeMath for uint; struct Bet{ uint blockPlaced; address bettor; uint betAmount; } mapping(address => bytes) public victoryMessages; mapping(uint => Bet) public betQueue; uint public MAX_SIMULTANEOUS_BETS=20; uint public index=0;//index for processing bets uint public indexBetPlace=0;//index for placing bets address vrfAddress= 0x5BD574410F3A2dA202bABBa1609330Db02aD64C2;//0xe0832c4f024D2427bBC6BD0C4931096d2ab5CCaF; //0x5BD574410F3A2dA202bABBa1609330Db02aD64C2; VerifyToken vrfcontract=VerifyToken(vrfAddress); AutomatedExchange exchangecontract=AutomatedExchange(0x48bF5e13A1ee8Bd4385C182904B3ABf73E042675); event Payout(address indexed to, uint tokens); event BetFinalized(address indexed bettor,uint tokensWagered,uint tokensAgainst,uint tokensWon,bytes victoryMessage); //Send tokens with ApproveAndCallFallBack, place a bet function receiveApproval(address from, uint256 tokens, address token, bytes data) public{ require(msg.sender==vrfAddress); vrfcontract.transferFrom(from,this,tokens); _placeBet(tokens,from,data); } function placeBetEth(bytes victoryMessage) public payable{ require(indexBetPlace-index<MAX_SIMULTANEOUS_BETS);//ensures you don't get a situation where there are too many existing bets to process, locking VRF in the contract uint tokensBefore=vrfcontract.balanceOf(this); exchangecontract.buyTokens.value(msg.value)(); _placeBet(vrfcontract.balanceOf(this).sub(tokensBefore),msg.sender,victoryMessage); } function payout(address to,uint numTokens) private{ vrfcontract.transfer(to,numTokens); emit Payout(to,numTokens); } function _placeBet(uint numTokens,address from,bytes victoryMessage) private{ resolvePriorBets(); betQueue[indexBetPlace]=Bet({blockPlaced:block.number,bettor:from,betAmount:numTokens}); indexBetPlace+=1; victoryMessages[from]=victoryMessage; } function resolvePriorBets() public{ while(betQueue[index].blockPlaced!=0){ if(betQueue[index+1].blockPlaced!=0){ if(betQueue[index+1].blockPlaced+250>block.number){//bet is not expired if(block.number>betQueue[index+1].blockPlaced){//bet was in the past, future blockhash can be safely used to compute random /* Bet is between two players. Outcome is computed as whether rand(bet1+bet2)<bet1. This makes the probability of winning proportional to the size of your bet, ensuring all bets are EV neutral. */ uint totalbet=betQueue[index].betAmount+betQueue[index+1].betAmount; uint randval= random(totalbet,betQueue[index+1].blockPlaced,betQueue[index+1].bettor); if(randval < betQueue[index].betAmount){ payout(betQueue[index].bettor,totalbet); emit BetFinalized(betQueue[index+1].bettor,betQueue[index+1].betAmount,betQueue[index].betAmount,0,victoryMessages[betQueue[index].bettor]); emit BetFinalized(betQueue[index].bettor,betQueue[index].betAmount,betQueue[index+1].betAmount,totalbet,victoryMessages[betQueue[index].bettor]); } else{ payout(betQueue[index+1].bettor,totalbet); emit BetFinalized(betQueue[index+1].bettor,betQueue[index+1].betAmount,betQueue[index].betAmount,totalbet,victoryMessages[betQueue[index+1].bettor]); emit BetFinalized(betQueue[index].bettor,betQueue[index].betAmount,betQueue[index+1].betAmount,0,victoryMessages[betQueue[index+1].bettor]); } index+=2; } else{ //bet is in the current block, cannot be resolved, no point in continuing the loop return; } } else{//bet has expired, return tokens to users payout(betQueue[index+1].bettor,betQueue[index+1].betAmount); payout(betQueue[index].bettor,betQueue[index].betAmount); index+=2; emit BetFinalized(betQueue[index].bettor,betQueue[index].betAmount,betQueue[index+1].betAmount,betQueue[index].betAmount,""); emit BetFinalized(betQueue[index+1].bettor,betQueue[index+1].betAmount,betQueue[index].betAmount,betQueue[index+1].betAmount,""); } } else{ //single bet with no other to pair it to, must wait for another bet return; } } } function cancelBet() public{ resolvePriorBets(); require(indexBetPlace-index==1 && betQueue[index].bettor==msg.sender); index+=1;//skip the last remaining bet } /* requires an odd number of bets and your bet is the last one */ function canCancelBet() public view returns(bool){ return indexBetPlace>0 && !isEven(indexBetPlace-index) && betQueue[indexBetPlace-1].bettor==msg.sender; } function isEven(uint num) public view returns(bool){ return 2*(num/2)==num; } function maxRandom(uint blockn, address entropy) internal returns (uint256 randomNumber) { return uint256(keccak256( abi.encodePacked( blockhash(blockn), entropy) )); } function random(uint256 upper, uint256 blockn, address entropy) internal returns (uint256 randomNumber) { return maxRandom(blockn, entropy) % upper + 1; } /* only for frontend viewing purposes */ function getBetState(address bettor) public view returns(uint){ for(uint i=index;i<indexBetPlace;i++){ if(betQueue[i].bettor==bettor){ if(!isEven(indexBetPlace-index)){//i<indexBetPlace-1){ return 1; } else{ return 2; } } } return 0; } } // ---------------------------------------------------------------------------- // Safe maths // ---------------------------------------------------------------------------- library SafeMath { function add(uint a, uint b) internal pure returns (uint c) { c = a + b; require(c >= a); } function sub(uint a, uint b) internal pure returns (uint c) { require(b <= a); c = a - b; } function mul(uint a, uint b) internal pure returns (uint c) { c = a * b; require(a == 0 || c / a == b); } function div(uint a, uint b) internal pure returns (uint c) { require(b > 0); c = a / b; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"index","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"victoryMessages","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"num","type":"uint256"}],"name":"isEven","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"cancelBet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"bettor","type":"address"}],"name":"getBetState","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"tokens","type":"uint256"},{"name":"token","type":"address"},{"name":"data","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"betQueue","outputs":[{"name":"blockPlaced","type":"uint256"},{"name":"bettor","type":"address"},{"name":"betAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"victoryMessage","type":"bytes"}],"name":"placeBetEth","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"canCancelBet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"indexBetPlace","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resolvePriorBets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_SIMULTANEOUS_BETS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Payout","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"bettor","type":"address"},{"indexed":false,"name":"tokensWagered","type":"uint256"},{"indexed":false,"name":"tokensAgainst","type":"uint256"},{"indexed":false,"name":"tokensWon","type":"uint256"},{"indexed":false,"name":"victoryMessage","type":"bytes"}],"name":"BetFinalized","type":"event"}]
Contract Creation Code
608060405260146002556000600381905560045560058054600160a060020a0319908116735bd574410f3a2da202babba1609330db02ad64c21791829055600680548216600160a060020a039390931692909217909155600780549091167348bf5e13a1ee8bd4385c182904b3abf73e04267517905534801561008157600080fd5b50611188806100916000396000f3006080604052600436106100b95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632986c0e581146100be57806329f98d50146100e55780632a2e13201461017b5780637b6d79f1146101a75780637d836281146101be5780638f4ffcb1146101df5780639d719ee61461024f578063b6629d981461028d578063b90f65a2146102d9578063bad2e1da146102ee578063cb7129a314610303578063f7ffa29f14610318575b600080fd5b3480156100ca57600080fd5b506100d361032d565b60408051918252519081900360200190f35b3480156100f157600080fd5b50610106600160a060020a0360043516610333565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610140578181015183820152602001610128565b50505050905090810190601f16801561016d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018757600080fd5b506101936004356103cd565b604080519115158252519081900360200190f35b3480156101b357600080fd5b506101bc6103d7565b005b3480156101ca57600080fd5b506100d3600160a060020a0360043516610428565b3480156101eb57600080fd5b50604080516020601f6064356004818101359283018490048402850184019095528184526101bc94600160a060020a038135811695602480359660443590931695369560849492019181908401838280828437509497506104999650505050505050565b34801561025b57600080fd5b50610267600435610563565b60408051938452600160a060020a03909216602084015282820152519081900360600190f35b6040805160206004803580820135601f81018490048402850184019095528484526101bc94369492936024939284019190819084018382808284375094975061058f9650505050505050565b3480156102e557600080fd5b50610193610768565b3480156102fa57600080fd5b506100d36107ba565b34801561030f57600080fd5b506101bc6107c0565b34801561032457600080fd5b506100d3610e56565b60035481565b600060208181529181526040908190208054825160026001831615610100026000190190921691909104601f8101859004850282018501909352828152929091908301828280156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b6002808204021490565b6103df6107c0565b600354600454036001148015610412575060035460009081526001602081905260409091200154600160a060020a031633145b151561041d57600080fd5b600380546001019055565b6003546000905b60045481101561048e5760008181526001602081905260409091200154600160a060020a03848116911614156104865761046e600354600454036103cd565b151561047d5760019150610493565b60029150610493565b60010161042f565b600091505b50919050565b600554600160a060020a031633146104b057600080fd5b600654604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015230602483015260448201879052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561052557600080fd5b505af1158015610539573d6000803e3d6000fd5b505050506040513d602081101561054f57600080fd5b5061055d9050838583610e5c565b50505050565b6001602081905260009182526040909120805491810154600290910154600160a060020a039091169083565b6000600254600354600454031015156105a757600080fd5b600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561060d57600080fd5b505af1158015610621573d6000803e3d6000fd5b505050506040513d602081101561063757600080fd5b5051600754604080517fd0febe4c0000000000000000000000000000000000000000000000000000000081529051929350600160a060020a039091169163d0febe4c913491600480830192600092919082900301818588803b15801561069c57600080fd5b505af11580156106b0573d6000803e3d6000fd5b5050600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610764955061075d9450869350600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561072557600080fd5b505af1158015610739573d6000803e3d6000fd5b505050506040513d602081101561074f57600080fd5b50519063ffffffff610eed16565b3384610e5c565b5050565b6000806004541180156107875750610785600354600454036103cd565b155b80156107b457506004546000190160009081526001602081905260409091200154600160a060020a031633145b90505b90565b60045481565b6000805b600354600090815260016020526040902054156107645760035460019081016000908152602091909152604090205415610cf157436001600060035460010181526020019081526020016000206000015460fa011115610cfb57600354600190810160009081526020919091526040902054431115610cf1576003546001818101600081815260208390526040808220600280820154968452918320909101549290915280549201549201935061088691849190600160a060020a0316610f02565b600354600090815260016020526040902060020154909150811015610ac457600354600090815260016020819052604090912001546108ce90600160a060020a031683610f25565b6003546001818101600090815260208281526040808320808501546002918201549685528285208083015490870154600160a060020a03908116875286865284872085518a815296870183905294860187905260806060870181815286546000199a811615610100029a909a01909916949094049386018490529091169660008051602061113d833981519152969095919491939260a0830190849080156109b75780601f1061098c576101008083540402835291602001916109b7565b820191906000526020600020905b81548152906001019060200180831161099a57829003601f168201915b50509550505050505060405180910390a26003546000818152600160208181526040808420808401546002918201549685018652828620820154600160a060020a03909116808752868552958390208351888152948501829052928401899052608060608501818152845460001997811615610100029790970190961692909204918401829052949560008051602061113d833981519152959094909389939290919060a083019084908015610aae5780601f10610a8357610100808354040283529160200191610aae565b820191906000526020600020905b815481529060010190602001808311610a9157829003601f168201915b50509550505050505060405180910390a2610ce3565b600354600190810160009081526020829052604090200154610aef90600160a060020a031683610f25565b600354600181810160009081526020828152604080832080850154600291820154968552828520820154600160a060020a03909116808652858552948390208351888152948501829052928401899052608060608501818152845460001998811615610100029890980190971692909204918401829052939560008051602061113d8339815191529590949389939290919060a083019084908015610bd55780601f10610baa57610100808354040283529160200191610bd5565b820191906000526020600020905b815481529060010190602001808311610bb857829003601f168201915b50509550505050505060405180910390a260035460008181526001602081815260408084208084015460029182015496850186528286208083015490860154600160a060020a03908116885287865284882085518a81529687018390529486018890526080606087018181528654600019998116156101000299909901909816949094049386018490529091169660008051602061113d833981519152969095919490939290919060a083019084908015610cd15780601f10610ca657610100808354040283529160200191610cd1565b820191906000526020600020905b815481529060010190602001808311610cb457829003601f168201915b50509550505050505060405180910390a25b600380546002019055610cf6565b610764565b610e51565b6003546001908101600090815260208290526040902090810154600290910154610d2e91600160a060020a031690610f25565b600354600090815260016020819052604090912090810154600290910154610d5f91600160a060020a031690610f25565b6003805460028181018084556000818152600160208181526040808420928301549286015496909701835286832090940154928252855185815293840192909252828501939093526080606083018190528201929092529151600160a060020a039091169160008051602061113d833981519152919081900360c00190a2600354600181810160008181526020838152604080832094850154600295860154968452818420909501549383528051868152918201939093528083019490945260806060850181905284015251600160a060020a039091169160008051602061113d833981519152919081900360c00190a25b6107c4565b60025481565b610e646107c0565b60408051606081018252438152600160a060020a0384811660208084018281528486018981526004805460009081526001808652898220985189559351888501805473ffffffffffffffffffffffffffffffffffffffff191691909816179096559051600290960195909555845401909355815280825291909120825161055d928401906110a4565b600082821115610efc57600080fd5b50900390565b600083610f0f8484611003565b811515610f1857fe5b0660010190509392505050565b600654604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b505050506040513d6020811015610fbe57600080fd5b5050604080518281529051600160a060020a038416917f5afeca38b2064c23a692c4cf353015d80ab3ecc417b4f893f372690c11fbd9a6919081900360200190a25050565b6040805183406020808301919091526c01000000000000000000000000600160a060020a0385160282840152825160348184030181526054909201928390528151600093918291908401908083835b602083106110715780518252601f199092019160209182019101611052565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110e557805160ff1916838001178555611112565b82800160010185558215611112579182015b828111156111125782518255916020019190600101906110f7565b5061111e929150611122565b5090565b6107b791905b8082111561111e57600081556001016111285600a6e9143cb8d7c13147d335a6b9f817747d5af0482f228d5faa4331e503e4aaa3a165627a7a72305820223385bc6a5db3261a26efa0b5e7f488b982b0347206ff563addf2edcb0f77c60029
Deployed Bytecode
0x6080604052600436106100b95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632986c0e581146100be57806329f98d50146100e55780632a2e13201461017b5780637b6d79f1146101a75780637d836281146101be5780638f4ffcb1146101df5780639d719ee61461024f578063b6629d981461028d578063b90f65a2146102d9578063bad2e1da146102ee578063cb7129a314610303578063f7ffa29f14610318575b600080fd5b3480156100ca57600080fd5b506100d361032d565b60408051918252519081900360200190f35b3480156100f157600080fd5b50610106600160a060020a0360043516610333565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610140578181015183820152602001610128565b50505050905090810190601f16801561016d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018757600080fd5b506101936004356103cd565b604080519115158252519081900360200190f35b3480156101b357600080fd5b506101bc6103d7565b005b3480156101ca57600080fd5b506100d3600160a060020a0360043516610428565b3480156101eb57600080fd5b50604080516020601f6064356004818101359283018490048402850184019095528184526101bc94600160a060020a038135811695602480359660443590931695369560849492019181908401838280828437509497506104999650505050505050565b34801561025b57600080fd5b50610267600435610563565b60408051938452600160a060020a03909216602084015282820152519081900360600190f35b6040805160206004803580820135601f81018490048402850184019095528484526101bc94369492936024939284019190819084018382808284375094975061058f9650505050505050565b3480156102e557600080fd5b50610193610768565b3480156102fa57600080fd5b506100d36107ba565b34801561030f57600080fd5b506101bc6107c0565b34801561032457600080fd5b506100d3610e56565b60035481565b600060208181529181526040908190208054825160026001831615610100026000190190921691909104601f8101859004850282018501909352828152929091908301828280156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b6002808204021490565b6103df6107c0565b600354600454036001148015610412575060035460009081526001602081905260409091200154600160a060020a031633145b151561041d57600080fd5b600380546001019055565b6003546000905b60045481101561048e5760008181526001602081905260409091200154600160a060020a03848116911614156104865761046e600354600454036103cd565b151561047d5760019150610493565b60029150610493565b60010161042f565b600091505b50919050565b600554600160a060020a031633146104b057600080fd5b600654604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015230602483015260448201879052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561052557600080fd5b505af1158015610539573d6000803e3d6000fd5b505050506040513d602081101561054f57600080fd5b5061055d9050838583610e5c565b50505050565b6001602081905260009182526040909120805491810154600290910154600160a060020a039091169083565b6000600254600354600454031015156105a757600080fd5b600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561060d57600080fd5b505af1158015610621573d6000803e3d6000fd5b505050506040513d602081101561063757600080fd5b5051600754604080517fd0febe4c0000000000000000000000000000000000000000000000000000000081529051929350600160a060020a039091169163d0febe4c913491600480830192600092919082900301818588803b15801561069c57600080fd5b505af11580156106b0573d6000803e3d6000fd5b5050600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610764955061075d9450869350600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561072557600080fd5b505af1158015610739573d6000803e3d6000fd5b505050506040513d602081101561074f57600080fd5b50519063ffffffff610eed16565b3384610e5c565b5050565b6000806004541180156107875750610785600354600454036103cd565b155b80156107b457506004546000190160009081526001602081905260409091200154600160a060020a031633145b90505b90565b60045481565b6000805b600354600090815260016020526040902054156107645760035460019081016000908152602091909152604090205415610cf157436001600060035460010181526020019081526020016000206000015460fa011115610cfb57600354600190810160009081526020919091526040902054431115610cf1576003546001818101600081815260208390526040808220600280820154968452918320909101549290915280549201549201935061088691849190600160a060020a0316610f02565b600354600090815260016020526040902060020154909150811015610ac457600354600090815260016020819052604090912001546108ce90600160a060020a031683610f25565b6003546001818101600090815260208281526040808320808501546002918201549685528285208083015490870154600160a060020a03908116875286865284872085518a815296870183905294860187905260806060870181815286546000199a811615610100029a909a01909916949094049386018490529091169660008051602061113d833981519152969095919491939260a0830190849080156109b75780601f1061098c576101008083540402835291602001916109b7565b820191906000526020600020905b81548152906001019060200180831161099a57829003601f168201915b50509550505050505060405180910390a26003546000818152600160208181526040808420808401546002918201549685018652828620820154600160a060020a03909116808752868552958390208351888152948501829052928401899052608060608501818152845460001997811615610100029790970190961692909204918401829052949560008051602061113d833981519152959094909389939290919060a083019084908015610aae5780601f10610a8357610100808354040283529160200191610aae565b820191906000526020600020905b815481529060010190602001808311610a9157829003601f168201915b50509550505050505060405180910390a2610ce3565b600354600190810160009081526020829052604090200154610aef90600160a060020a031683610f25565b600354600181810160009081526020828152604080832080850154600291820154968552828520820154600160a060020a03909116808652858552948390208351888152948501829052928401899052608060608501818152845460001998811615610100029890980190971692909204918401829052939560008051602061113d8339815191529590949389939290919060a083019084908015610bd55780601f10610baa57610100808354040283529160200191610bd5565b820191906000526020600020905b815481529060010190602001808311610bb857829003601f168201915b50509550505050505060405180910390a260035460008181526001602081815260408084208084015460029182015496850186528286208083015490860154600160a060020a03908116885287865284882085518a81529687018390529486018890526080606087018181528654600019998116156101000299909901909816949094049386018490529091169660008051602061113d833981519152969095919490939290919060a083019084908015610cd15780601f10610ca657610100808354040283529160200191610cd1565b820191906000526020600020905b815481529060010190602001808311610cb457829003601f168201915b50509550505050505060405180910390a25b600380546002019055610cf6565b610764565b610e51565b6003546001908101600090815260208290526040902090810154600290910154610d2e91600160a060020a031690610f25565b600354600090815260016020819052604090912090810154600290910154610d5f91600160a060020a031690610f25565b6003805460028181018084556000818152600160208181526040808420928301549286015496909701835286832090940154928252855185815293840192909252828501939093526080606083018190528201929092529151600160a060020a039091169160008051602061113d833981519152919081900360c00190a2600354600181810160008181526020838152604080832094850154600295860154968452818420909501549383528051868152918201939093528083019490945260806060850181905284015251600160a060020a039091169160008051602061113d833981519152919081900360c00190a25b6107c4565b60025481565b610e646107c0565b60408051606081018252438152600160a060020a0384811660208084018281528486018981526004805460009081526001808652898220985189559351888501805473ffffffffffffffffffffffffffffffffffffffff191691909816179096559051600290960195909555845401909355815280825291909120825161055d928401906110a4565b600082821115610efc57600080fd5b50900390565b600083610f0f8484611003565b811515610f1857fe5b0660010190509392505050565b600654604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b505050506040513d6020811015610fbe57600080fd5b5050604080518281529051600160a060020a038416917f5afeca38b2064c23a692c4cf353015d80ab3ecc417b4f893f372690c11fbd9a6919081900360200190a25050565b6040805183406020808301919091526c01000000000000000000000000600160a060020a0385160282840152825160348184030181526054909201928390528151600093918291908401908083835b602083106110715780518252601f199092019160209182019101611052565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110e557805160ff1916838001178555611112565b82800160010185558215611112579182015b828111156111125782518255916020019190600101906110f7565b5061111e929150611122565b5090565b6107b791905b8082111561111e57600081556001016111285600a6e9143cb8d7c13147d335a6b9f817747d5af0482f228d5faa4331e503e4aaa3a165627a7a72305820223385bc6a5db3261a26efa0b5e7f488b982b0347206ff563addf2edcb0f77c60029
Swarm Source
bzzr://223385bc6a5db3261a26efa0b5e7f488b982b0347206ff563addf2edcb0f77c6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.