Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 377 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 7302983 | 1971 days ago | IN | 0 ETH | 0.00007558 | ||||
Withdraw Token | 7302906 | 1971 days ago | IN | 0 ETH | 0.00016356 | ||||
Withdraw Token | 7302896 | 1971 days ago | IN | 0 ETH | 0.000434 | ||||
Withdraw | 7302891 | 1971 days ago | IN | 0 ETH | 0.00011357 | ||||
Withdraw Token | 7302885 | 1971 days ago | IN | 0 ETH | 0.0002975 | ||||
Withdraw Token | 7302880 | 1971 days ago | IN | 0 ETH | 0.00009832 | ||||
Trade | 6973268 | 2036 days ago | IN | 0 ETH | 0.00034692 | ||||
Cancel Order | 6973268 | 2036 days ago | IN | 0 ETH | 0.00006146 | ||||
Trade | 6758451 | 2072 days ago | IN | 0 ETH | 0.00015342 | ||||
Cancel Order | 6758451 | 2072 days ago | IN | 0 ETH | 0.00006153 | ||||
Trade | 6690039 | 2083 days ago | IN | 0 ETH | 0.00043681 | ||||
Trade | 6690039 | 2083 days ago | IN | 0 ETH | 0.00043745 | ||||
Trade | 6689991 | 2083 days ago | IN | 0 ETH | 0.00066116 | ||||
Trade | 6689988 | 2083 days ago | IN | 0 ETH | 0.00066116 | ||||
Trade | 6689907 | 2083 days ago | IN | 0 ETH | 0.00087363 | ||||
Trade | 6689907 | 2083 days ago | IN | 0 ETH | 0.00087491 | ||||
Trade | 6689804 | 2083 days ago | IN | 0 ETH | 0.00035871 | ||||
Trade | 6689796 | 2083 days ago | IN | 0 ETH | 0.00061154 | ||||
Trade | 6689665 | 2083 days ago | IN | 0 ETH | 0.00052494 | ||||
Trade | 6689662 | 2083 days ago | IN | 0 ETH | 0.00052379 | ||||
Trade | 6689659 | 2083 days ago | IN | 0 ETH | 0.00052456 | ||||
Trade | 6689659 | 2083 days ago | IN | 0 ETH | 0.00052379 | ||||
Trade | 6689598 | 2083 days ago | IN | 0 ETH | 0.00034996 | ||||
Trade | 6689597 | 2083 days ago | IN | 0 ETH | 0.00043713 | ||||
Trade | 6689532 | 2083 days ago | IN | 0 ETH | 0.00043745 |
Latest 11 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
7302983 | 1971 days ago | 0.92 ETH | ||||
7302891 | 1971 days ago | 0.121139 ETH | ||||
6666656 | 2087 days ago | 0.500678 ETH | ||||
6666618 | 2087 days ago | 0.11599 ETH | ||||
6612663 | 2096 days ago | 0.78788 ETH | ||||
6604983 | 2097 days ago | 0.2 ETH | ||||
6574992 | 2102 days ago | 0.035 ETH | ||||
6574957 | 2102 days ago | 0.097 ETH | ||||
6568799 | 2103 days ago | 0.04 ETH | ||||
6568792 | 2103 days ago | 0.1 ETH | ||||
6531528 | 2109 days ago | 0.001 ETH |
Loading...
Loading
Contract Name:
Excalibur
Compiler Version
v0.4.11+commit.68ef5810
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-10-12 */ pragma solidity ^0.4.9; contract SafeMath { function safeMul(uint a, uint b) internal returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function safeSub(uint a, uint b) internal returns (uint) { assert(b <= a); return a - b; } function safeAdd(uint a, uint b) internal returns (uint) { uint c = a + b; assert(c>=a && c>=b); return c; } function assert(bool assertion) internal { if (!assertion) throw; } } contract Token { /// @notice send `_value` token to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transfer(address _to, uint256 _value) returns (bool success) {} /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from` /// @param _from The address of the sender /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {} } contract Excalibur is SafeMath { address public admin; bool public tradeState; string public message; mapping (address => mapping (address => uint)) public tokens; // mapping of token addresses to mapping of account balances (token=0 means Ether) mapping (address => mapping (bytes32 => bool)) public orders; // mapping of user accounts to mapping of order hashes to booleans (true = submitted by user, equivalent to offchain signature) mapping (address => mapping (bytes32 => uint)) public orderFills; // mapping of user accounts to mapping of order hashes to uints (amount of order that has been filled) event Order(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user, bytes32 hash); event Cancel(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user, uint8 v, bytes32 r, bytes32 s, bytes32 hash, string pair); event Trade(address tokenGet, uint amountGet, address tokenGive, uint amountGive, address get, address give, bytes32 hash, string pair); event Deposit(address token, address user, uint amount, uint balance); event Withdraw(address token, address user, uint amount, uint balance); function Excalibur() { admin = msg.sender; tradeState = true; } modifier onlyAdmin { if (msg.sender != admin) throw; _; } modifier tradeIsOpen { if (!tradeState) throw; _; } function checkAdmin() onlyAdmin constant returns (bool) { return true; } function transferOwnership(address newAdmin) onlyAdmin { admin = newAdmin; } function systemMessage(string msg) onlyAdmin { message = msg; } function changeTradeState(bool state_) onlyAdmin { tradeState = state_; } function deposit() payable tradeIsOpen { // 0x0000000000000000000000000000000000000000 tokens[0][msg.sender] = safeAdd(tokens[0][msg.sender], msg.value); Deposit(0, msg.sender, msg.value, tokens[0][msg.sender]); } function withdraw(uint amount) { if (tokens[0][msg.sender] < amount) throw; tokens[0][msg.sender] = safeSub(tokens[0][msg.sender], amount); if (!msg.sender.call.value(amount)()) throw; Withdraw(0x0000000000000000000000000000000000000000, msg.sender, amount, tokens[0][msg.sender]); } function depositToken(address token, uint amount) tradeIsOpen { // remember to call Token(address).approve(this, amount) or this contract will not be able to do the transfer on your behalf. if (token==0) throw; if (!Token(token).transferFrom(msg.sender, this, amount)) throw; tokens[token][msg.sender] = safeAdd(tokens[token][msg.sender], amount); Deposit(token, msg.sender, amount, tokens[token][msg.sender]); } function withdrawToken(address token, uint amount) { if (token==0) throw; if (tokens[token][msg.sender] < amount) throw; tokens[token][msg.sender] = safeSub(tokens[token][msg.sender], amount); if (!Token(token).transfer(msg.sender, amount)) throw; Withdraw(token, msg.sender, amount, tokens[token][msg.sender]); } function balanceOf(address token, address user) constant returns (uint) { return tokens[token][user]; } function order(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce) { bytes32 hash = sha3(this, tokenGet, amountGet, tokenGive, amountGive, expires, nonce); orders[msg.sender][hash] = true; Order(tokenGet, amountGet, tokenGive, amountGive, expires, nonce, msg.sender, hash); } function trade(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, address user, uint8 v, bytes32 r, bytes32 s, uint amount, string pair) { // amount is in amountGet terms bytes32 hash = sha3(this, tokenGet, amountGet, tokenGive, amountGive, expires, nonce); if (!( (orders[user][hash] || ecrecover(sha3("\x19Ethereum Signed Message:\n32", hash),v,r,s) == user) && block.number <= expires && safeAdd(orderFills[user][hash], amount) <= amountGet)) throw; tradeBalances(tokenGet, amountGet, tokenGive, amountGive, user, amount); orderFills[user][hash] = safeAdd(orderFills[user][hash], amount); Trade(tokenGet, amount, tokenGive, amountGive * amount / amountGet, user, msg.sender, hash, pair); } function tradeBalances(address tokenGet, uint amountGet, address tokenGive, uint amountGive, address user, uint amount) private { tokens[tokenGet][msg.sender] = safeSub(tokens[tokenGet][msg.sender], amount); tokens[tokenGet][user] = safeAdd(tokens[tokenGet][user], amount); tokens[tokenGive][user] = safeSub(tokens[tokenGive][user], safeMul(amountGive, amount) / amountGet); tokens[tokenGive][msg.sender] = safeAdd(tokens[tokenGive][msg.sender], safeMul(amountGive, amount) / amountGet); } function cancelOrder(address tokenGet, uint amountGet, address tokenGive, uint amountGive, uint expires, uint nonce, uint8 v, bytes32 r, bytes32 s, string pair) { bytes32 hash = sha3(this, tokenGet, amountGet, tokenGive, amountGive, expires, nonce); if (!(orders[msg.sender][hash] || ecrecover(sha3("\x19Ethereum Signed Message:\n32", hash),v,r,s) == msg.sender)) throw; orderFills[msg.sender][hash] = amountGet; Cancel(tokenGet, amountGet, tokenGive, amountGive, expires, nonce, msg.sender, v, r, s, hash, pair); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"tokenGet","type":"address"},{"name":"amountGet","type":"uint256"},{"name":"tokenGive","type":"address"},{"name":"amountGive","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"nonce","type":"uint256"}],"name":"order","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"orderFills","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"}],"name":"depositToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"tokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"msg","type":"string"}],"name":"systemMessage","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tradeState","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"checkAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"orders","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"tokenGet","type":"address"},{"name":"amountGet","type":"uint256"},{"name":"tokenGive","type":"address"},{"name":"amountGive","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"pair","type":"string"}],"name":"cancelOrder","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"message","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"state_","type":"bool"}],"name":"changeTradeState","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"tokenGet","type":"address"},{"name":"amountGet","type":"uint256"},{"name":"tokenGive","type":"address"},{"name":"amountGive","type":"uint256"},{"name":"expires","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"user","type":"address"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"amount","type":"uint256"},{"name":"pair","type":"string"}],"name":"trade","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"token","type":"address"},{"name":"user","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenGet","type":"address"},{"indexed":false,"name":"amountGet","type":"uint256"},{"indexed":false,"name":"tokenGive","type":"address"},{"indexed":false,"name":"amountGive","type":"uint256"},{"indexed":false,"name":"expires","type":"uint256"},{"indexed":false,"name":"nonce","type":"uint256"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"hash","type":"bytes32"}],"name":"Order","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenGet","type":"address"},{"indexed":false,"name":"amountGet","type":"uint256"},{"indexed":false,"name":"tokenGive","type":"address"},{"indexed":false,"name":"amountGive","type":"uint256"},{"indexed":false,"name":"expires","type":"uint256"},{"indexed":false,"name":"nonce","type":"uint256"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"v","type":"uint8"},{"indexed":false,"name":"r","type":"bytes32"},{"indexed":false,"name":"s","type":"bytes32"},{"indexed":false,"name":"hash","type":"bytes32"},{"indexed":false,"name":"pair","type":"string"}],"name":"Cancel","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenGet","type":"address"},{"indexed":false,"name":"amountGet","type":"uint256"},{"indexed":false,"name":"tokenGive","type":"address"},{"indexed":false,"name":"amountGive","type":"uint256"},{"indexed":false,"name":"get","type":"address"},{"indexed":false,"name":"give","type":"address"},{"indexed":false,"name":"hash","type":"bytes32"},{"indexed":false,"name":"pair","type":"string"}],"name":"Trade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"Withdraw","type":"event"}]
Contract Creation Code
6060604052341561000c57fe5b5b6000805474010000000000000000000000000000000000000000600160a060020a031990911633600160a060020a03161760a060020a60ff0219161790555b5b61164b8061005c6000396000f300606060405236156100f95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b92766681146100fb57806319774d431461012c5780632e1a7d4d1461015d578063338b5dea14610172578063508493bc14610193578063780f4987146101c7578063864e18271461021f5780639e281a9814610243578063ab15022614610264578063bb5f462914610288578063d0e30db0146102bb578063d25d603c146102c5578063e21f37ce14610351578063ea769e97146103e1578063eb30db7b146103f8578063f2fde38b1461048a578063f7888aec146104a8578063f851a440146104dc575bfe5b341561010357fe5b61012a600160a060020a03600435811690602435906044351660643560843560a435610508565b005b341561013457fe5b61014b600160a060020a03600435166024356105f8565b60408051918252519081900360200190f35b341561016557fe5b61012a600435610615565b005b341561017a57fe5b61012a600160a060020a0360043516602435610735565b005b341561019b57fe5b61014b600160a060020a03600435811690602435166108a6565b60408051918252519081900360200190f35b34156101cf57fe5b61012a600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437509496506108c395505050505050565b005b341561022757fe5b61022f6108f8565b604080519115158252519081900360200190f35b341561024b57fe5b61012a600160a060020a0360043516602435610908565b005b341561026c57fe5b61022f610aaa565b604080519115158252519081900360200190f35b341561029057fe5b61022f600160a060020a0360043516602435610acf565b604080519115158252519081900360200190f35b61012a610aef565b005b34156102cd57fe5b60408051602060046101243581810135601f810184900484028501840190955284845261012a948235600160a060020a0390811695602480359660443590931695606435956084359560a4359560c43560ff169560e43595610104359594610144949293910191908190840183828082843750949650610bab95505050505050565b005b341561035957fe5b610361610e8c565b6040805160208082528351818301528351919283929083019185019080838382156103a7575b8051825260208311156103a757601f199092019160209182019101610387565b505050905090810190601f1680156103d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e957fe5b61012a6004351515610f19565b005b341561040057fe5b604080516020601f6101643560048181013592830184900484028501840190955281845261012a94600160a060020a0381358116956024803596604435841696606435966084359660a4359660c435169560ff60e4351695610104359561012435956101443595610184949301918190840183828082843750949650610f6295505050505050565b005b341561049257fe5b61012a600160a060020a036004351661130c565b005b34156104b057fe5b61014b600160a060020a0360043581169060243516611355565b60408051918252519081900360200190f35b34156104e457fe5b6104ec611382565b60408051600160a060020a039092168252519081900360200190f35b604080516c01000000000000000000000000600160a060020a0330811682028352808a168083026014850152602884018a90528189169283026048850152605c8401889052607c8401879052609c840186905284519384900360bc01842033909216600081815260036020908152878220858352815290879020805460ff191660011790559185529084018a905283850192909252606083018790526080830186905260a0830185905260c083019190915260e0820181905291517f08b7c7403064bde78ffa9e582e006036e20bd05b350cc9873bd55ad22ad475c9918190036101000190a15b50505050505050565b600460209081526000928352604080842090915290825290205481565b33600160a060020a031660009081526000805160206116008339815191526020526040902054819010156106495760006000fd5b33600160a060020a0316600090815260008051602061160083398151915260205260409020546106799082611391565b33600160a060020a031660008181526000805160206116008339815191526020526040808220939093559151909183919081818185876187965a03f19250505015156106c55760006000fd5b600160a060020a03331660008181526000805160206116008339815191526020908152604080832054815193845291830193909352818301849052606082015290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b50565b60005460a060020a900460ff16151561074e5760006000fd5b600160a060020a03821615156107645760006000fd5b604080516000602091820181905282517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301523081166024830152604482018690529351938616936323b872dd9360648084019491938390030190829087803b15156107dc57fe5b6102c65a03f115156107ea57fe5b505060405151151590506107fe5760006000fd5b600160a060020a038083166000908152600260209081526040808320339094168352929052205461082f90826113aa565b600160a060020a038381166000818152600260209081526040808320339095168084529482529182902085905581519283528201929092528082018490526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15b5b5050565b600260209081526000928352604080842090915290825290205481565b60005433600160a060020a039081169116146108df5760006000fd5b80516108a190600190602084019061155f565b505b5b50565b60005460a060020a900460ff1681565b600160a060020a038216151561091e5760006000fd5b600160a060020a0380831660009081526002602090815260408083203390941683529290522054819010156109535760006000fd5b600160a060020a03808316600090815260026020908152604080832033909416835292905220546109849082611391565b600160a060020a03808416600081815260026020908152604080832033909516808452948252808320959095558451810182905284517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529351919363a9059cbb936044808201949293918390030190829087803b1515610a1157fe5b6102c65a03f11515610a1f57fe5b50506040515115159050610a335760006000fd5b600160a060020a03808316600081815260026020908152604080832033959095168084529482529182902054825193845290830193909352818101849052606082019290925290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b5050565b6000805433600160a060020a03908116911614610ac75760006000fd5b5060015b5b90565b600360209081526000928352604080842090915290825290205460ff1681565b60005460a060020a900460ff161515610b085760006000fd5b33600160a060020a031660009081526000805160206116008339815191526020526040902054610b3890346113aa565b33600160a060020a031660008181526000805160206116008339815191526020908152604080832085905580519283529082019290925234818301526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15b5b565b604080516c01000000000000000000000000600160a060020a0330811682028352808e1682026014840152602883018d9052808c169091026048830152605c82018a9052607c8201899052609c820188905282519182900360bc01909120339091166000908152600360209081528382208383529052919091205460ff1680610cdd5750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101839052815190819003603c018120600082815260208381018552928401819052835191825260ff891682840152818401889052606082018790529251600160a060020a033316936001936080808501949193601f1981019392819003909101918661646e5a03f11515610cc957fe5b505060206040510351600160a060020a0316145b1515610ce95760006000fd5b896004600033600160a060020a0316600160a060020a0316815260200190815260200160002060008360001916600019168152602001908152602001600020819055507f48a0ef50295081b3381c5929b1f7bf4ba631f3668fb00d0b9b8907b4f40f395f8b8b8b8b8b8b338c8c8c8b8d604051808d600160a060020a0316600160a060020a031681526020018c81526020018b600160a060020a0316600160a060020a031681526020018a815260200189815260200188815260200187600160a060020a0316600160a060020a031681526020018660ff1660ff16815260200185600019166000191681526020018460001916600019168152602001836000191660001916815260200180602001828103825283818151815260200191508051906020019080838360008314610e3a575b805182526020831115610e3a57601f199092019160209182019101610e1a565b505050905090810190601f168015610e665780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390a15b5050505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610f115780601f10610ee657610100808354040283529160200191610f11565b820191906000526020600020905b815481529060010190602001808311610ef457829003601f168201915b505050505081565b60005433600160a060020a03908116911614610f355760006000fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a831515021790555b5b50565b6000308d8d8d8d8d8d6040518088600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140187600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140186815260200185600160a060020a0316600160a060020a03166c01000000000000000000000000028152601401848152602001838152602001828152602001975050505050505050604051809103902090506003600088600160a060020a0316600160a060020a031681526020019081526020016000206000826000191660001916815260200190815260200160002060009054906101000a900460ff168061110f5750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101839052815190819003603c018120600082815260208381018552928401819052835191825260ff8a1682840152818401899052606082018890529251600160a060020a038b16936001936080808501949193601f1981019392819003909101918661646e5a03f115156110fb57fe5b505060206040510351600160a060020a0316145b801561111b5750884311155b80156111555750600160a060020a03871660009081526004602090815260408083208484529091529020548c9061115290856113aa565b11155b15156111615760006000fd5b61116f8d8d8d8d8b886113d2565b600160a060020a038716600090815260046020908152604080832084845290915290205461119d90846113aa565b600160a060020a03881660009081526004602090815260408083208584529091529020557fd1d68e612a72065830c390ff50559490fe823b841adfa01a3d0bdf132b00ca748d848d8f8e83028115156111f257fe5b048b3387896040518089600160a060020a0316600160a060020a0316815260200188815260200187600160a060020a0316600160a060020a0316815260200186815260200185600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a031681526020018360001916600019168152602001806020018281038252838181518152602001915080519060200190808383600083146112bc575b8051825260208311156112bc57601f19909201916020918201910161129c565b505050905090810190601f1680156112e85780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390a15b50505050505050505050505050565b60005433600160a060020a039081169116146113285760006000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600054600160a060020a031681565b600061139f8383111561151f565b508082035b92915050565b60008282016113c78482108015906113c25750838210155b61151f565b8091505b5092915050565b600160a060020a03808716600090815260026020908152604080832033909416835292905220546114039082611391565b600160a060020a0387811660009081526002602090815260408083203385168452909152808220939093559084168152205461143f90826113aa565b600160a060020a0380881660009081526002602081815260408084208886168086529083528185209690965593891683529081528282209382529290925290205461149e908661148f8685611530565b81151561149857fe5b04611391565b600160a060020a03858116600090815260026020908152604080832087851684529091528082209390935533909116815220546114ef90866114e08685611530565b8115156114e957fe5b046113aa565b600160a060020a03808616600090815260026020908152604080832033909416835292905220555b505050505050565b8015156107325760006000fd5b5b50565b60008282026113c78415806113c2575083858381151561154c57fe5b04145b61151f565b8091505b5092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115a057805160ff19168380011785556115cd565b828001600101855582156115cd579182015b828111156115cd5782518255916020019190600101906115b2565b5b506115da9291506115de565b5090565b610acb91905b808211156115da57600081556001016115e4565b5090565b905600ac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077ba165627a7a7230582019f5096d59207930c492856f1b132b131a2052a5be5c254aab14abdb189985bb0029
Deployed Bytecode
0x606060405236156100f95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b92766681146100fb57806319774d431461012c5780632e1a7d4d1461015d578063338b5dea14610172578063508493bc14610193578063780f4987146101c7578063864e18271461021f5780639e281a9814610243578063ab15022614610264578063bb5f462914610288578063d0e30db0146102bb578063d25d603c146102c5578063e21f37ce14610351578063ea769e97146103e1578063eb30db7b146103f8578063f2fde38b1461048a578063f7888aec146104a8578063f851a440146104dc575bfe5b341561010357fe5b61012a600160a060020a03600435811690602435906044351660643560843560a435610508565b005b341561013457fe5b61014b600160a060020a03600435166024356105f8565b60408051918252519081900360200190f35b341561016557fe5b61012a600435610615565b005b341561017a57fe5b61012a600160a060020a0360043516602435610735565b005b341561019b57fe5b61014b600160a060020a03600435811690602435166108a6565b60408051918252519081900360200190f35b34156101cf57fe5b61012a600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437509496506108c395505050505050565b005b341561022757fe5b61022f6108f8565b604080519115158252519081900360200190f35b341561024b57fe5b61012a600160a060020a0360043516602435610908565b005b341561026c57fe5b61022f610aaa565b604080519115158252519081900360200190f35b341561029057fe5b61022f600160a060020a0360043516602435610acf565b604080519115158252519081900360200190f35b61012a610aef565b005b34156102cd57fe5b60408051602060046101243581810135601f810184900484028501840190955284845261012a948235600160a060020a0390811695602480359660443590931695606435956084359560a4359560c43560ff169560e43595610104359594610144949293910191908190840183828082843750949650610bab95505050505050565b005b341561035957fe5b610361610e8c565b6040805160208082528351818301528351919283929083019185019080838382156103a7575b8051825260208311156103a757601f199092019160209182019101610387565b505050905090810190601f1680156103d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e957fe5b61012a6004351515610f19565b005b341561040057fe5b604080516020601f6101643560048181013592830184900484028501840190955281845261012a94600160a060020a0381358116956024803596604435841696606435966084359660a4359660c435169560ff60e4351695610104359561012435956101443595610184949301918190840183828082843750949650610f6295505050505050565b005b341561049257fe5b61012a600160a060020a036004351661130c565b005b34156104b057fe5b61014b600160a060020a0360043581169060243516611355565b60408051918252519081900360200190f35b34156104e457fe5b6104ec611382565b60408051600160a060020a039092168252519081900360200190f35b604080516c01000000000000000000000000600160a060020a0330811682028352808a168083026014850152602884018a90528189169283026048850152605c8401889052607c8401879052609c840186905284519384900360bc01842033909216600081815260036020908152878220858352815290879020805460ff191660011790559185529084018a905283850192909252606083018790526080830186905260a0830185905260c083019190915260e0820181905291517f08b7c7403064bde78ffa9e582e006036e20bd05b350cc9873bd55ad22ad475c9918190036101000190a15b50505050505050565b600460209081526000928352604080842090915290825290205481565b33600160a060020a031660009081526000805160206116008339815191526020526040902054819010156106495760006000fd5b33600160a060020a0316600090815260008051602061160083398151915260205260409020546106799082611391565b33600160a060020a031660008181526000805160206116008339815191526020526040808220939093559151909183919081818185876187965a03f19250505015156106c55760006000fd5b600160a060020a03331660008181526000805160206116008339815191526020908152604080832054815193845291830193909352818301849052606082015290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b50565b60005460a060020a900460ff16151561074e5760006000fd5b600160a060020a03821615156107645760006000fd5b604080516000602091820181905282517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301523081166024830152604482018690529351938616936323b872dd9360648084019491938390030190829087803b15156107dc57fe5b6102c65a03f115156107ea57fe5b505060405151151590506107fe5760006000fd5b600160a060020a038083166000908152600260209081526040808320339094168352929052205461082f90826113aa565b600160a060020a038381166000818152600260209081526040808320339095168084529482529182902085905581519283528201929092528082018490526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15b5b5050565b600260209081526000928352604080842090915290825290205481565b60005433600160a060020a039081169116146108df5760006000fd5b80516108a190600190602084019061155f565b505b5b50565b60005460a060020a900460ff1681565b600160a060020a038216151561091e5760006000fd5b600160a060020a0380831660009081526002602090815260408083203390941683529290522054819010156109535760006000fd5b600160a060020a03808316600090815260026020908152604080832033909416835292905220546109849082611391565b600160a060020a03808416600081815260026020908152604080832033909516808452948252808320959095558451810182905284517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018690529351919363a9059cbb936044808201949293918390030190829087803b1515610a1157fe5b6102c65a03f11515610a1f57fe5b50506040515115159050610a335760006000fd5b600160a060020a03808316600081815260026020908152604080832033959095168084529482529182902054825193845290830193909352818101849052606082019290925290517ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679181900360800190a15b5050565b6000805433600160a060020a03908116911614610ac75760006000fd5b5060015b5b90565b600360209081526000928352604080842090915290825290205460ff1681565b60005460a060020a900460ff161515610b085760006000fd5b33600160a060020a031660009081526000805160206116008339815191526020526040902054610b3890346113aa565b33600160a060020a031660008181526000805160206116008339815191526020908152604080832085905580519283529082019290925234818301526060810192909252517fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79181900360800190a15b5b565b604080516c01000000000000000000000000600160a060020a0330811682028352808e1682026014840152602883018d9052808c169091026048830152605c82018a9052607c8201899052609c820188905282519182900360bc01909120339091166000908152600360209081528382208383529052919091205460ff1680610cdd5750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101839052815190819003603c018120600082815260208381018552928401819052835191825260ff891682840152818401889052606082018790529251600160a060020a033316936001936080808501949193601f1981019392819003909101918661646e5a03f11515610cc957fe5b505060206040510351600160a060020a0316145b1515610ce95760006000fd5b896004600033600160a060020a0316600160a060020a0316815260200190815260200160002060008360001916600019168152602001908152602001600020819055507f48a0ef50295081b3381c5929b1f7bf4ba631f3668fb00d0b9b8907b4f40f395f8b8b8b8b8b8b338c8c8c8b8d604051808d600160a060020a0316600160a060020a031681526020018c81526020018b600160a060020a0316600160a060020a031681526020018a815260200189815260200188815260200187600160a060020a0316600160a060020a031681526020018660ff1660ff16815260200185600019166000191681526020018460001916600019168152602001836000191660001916815260200180602001828103825283818151815260200191508051906020019080838360008314610e3a575b805182526020831115610e3a57601f199092019160209182019101610e1a565b505050905090810190601f168015610e665780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390a15b5050505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610f115780601f10610ee657610100808354040283529160200191610f11565b820191906000526020600020905b815481529060010190602001808311610ef457829003601f168201915b505050505081565b60005433600160a060020a03908116911614610f355760006000fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a831515021790555b5b50565b6000308d8d8d8d8d8d6040518088600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140187600160a060020a0316600160a060020a03166c0100000000000000000000000002815260140186815260200185600160a060020a0316600160a060020a03166c01000000000000000000000000028152601401848152602001838152602001828152602001975050505050505050604051809103902090506003600088600160a060020a0316600160a060020a031681526020019081526020016000206000826000191660001916815260200190815260200160002060009054906101000a900460ff168061110f5750604080517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c8101839052815190819003603c018120600082815260208381018552928401819052835191825260ff8a1682840152818401899052606082018890529251600160a060020a038b16936001936080808501949193601f1981019392819003909101918661646e5a03f115156110fb57fe5b505060206040510351600160a060020a0316145b801561111b5750884311155b80156111555750600160a060020a03871660009081526004602090815260408083208484529091529020548c9061115290856113aa565b11155b15156111615760006000fd5b61116f8d8d8d8d8b886113d2565b600160a060020a038716600090815260046020908152604080832084845290915290205461119d90846113aa565b600160a060020a03881660009081526004602090815260408083208584529091529020557fd1d68e612a72065830c390ff50559490fe823b841adfa01a3d0bdf132b00ca748d848d8f8e83028115156111f257fe5b048b3387896040518089600160a060020a0316600160a060020a0316815260200188815260200187600160a060020a0316600160a060020a0316815260200186815260200185600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a031681526020018360001916600019168152602001806020018281038252838181518152602001915080519060200190808383600083146112bc575b8051825260208311156112bc57601f19909201916020918201910161129c565b505050905090810190601f1680156112e85780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390a15b50505050505050505050505050565b60005433600160a060020a039081169116146113285760006000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600054600160a060020a031681565b600061139f8383111561151f565b508082035b92915050565b60008282016113c78482108015906113c25750838210155b61151f565b8091505b5092915050565b600160a060020a03808716600090815260026020908152604080832033909416835292905220546114039082611391565b600160a060020a0387811660009081526002602090815260408083203385168452909152808220939093559084168152205461143f90826113aa565b600160a060020a0380881660009081526002602081815260408084208886168086529083528185209690965593891683529081528282209382529290925290205461149e908661148f8685611530565b81151561149857fe5b04611391565b600160a060020a03858116600090815260026020908152604080832087851684529091528082209390935533909116815220546114ef90866114e08685611530565b8115156114e957fe5b046113aa565b600160a060020a03808616600090815260026020908152604080832033909416835292905220555b505050505050565b8015156107325760006000fd5b5b50565b60008282026113c78415806113c2575083858381151561154c57fe5b04145b61151f565b8091505b5092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115a057805160ff19168380011785556115cd565b828001600101855582156115cd579182015b828111156115cd5782518255916020019190600101906115b2565b5b506115da9291506115de565b5090565b610acb91905b808211156115da57600081556001016115e4565b5090565b905600ac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077ba165627a7a7230582019f5096d59207930c492856f1b132b131a2052a5be5c254aab14abdb189985bb0029
Swarm Source
bzzr://19f5096d59207930c492856f1b132b131a2052a5be5c254aab14abdb189985bb
Loading...
Loading
Loading...
Loading
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.