More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,437 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Deposit | 19887414 | 6 hrs ago | IN | 0.00002 ETH | 0.00027763 | ||||
Deposit | 19046346 | 118 days ago | IN | 0.00001 ETH | 0.001221 | ||||
Deposit | 17748508 | 299 days ago | IN | 0.0001 ETH | 0.00164723 | ||||
Deposit | 16905220 | 418 days ago | IN | 0.05 ETH | 0.00162735 | ||||
Deposit | 16302135 | 503 days ago | IN | 0.001 ETH | 0.00124564 | ||||
Cancel Transfer | 16302120 | 503 days ago | IN | 0 ETH | 0.0005679 | ||||
Deposit | 16299603 | 503 days ago | IN | 0.001 ETH | 0.00148704 | ||||
Deposit | 16062550 | 536 days ago | IN | 0.0002 ETH | 0.00082542 | ||||
Deposit | 15870124 | 563 days ago | IN | 0.02 ETH | 0.00148155 | ||||
Deposit | 14978585 | 700 days ago | IN | 0.001 ETH | 0.00162247 | ||||
Cancel Transfer | 14874241 | 717 days ago | IN | 0 ETH | 0.00049443 | ||||
Deposit | 14874198 | 717 days ago | IN | 0.00001 ETH | 0.00143603 | ||||
Deposit | 14515738 | 774 days ago | IN | 0.04 ETH | 0.00561992 | ||||
Deposit | 14344312 | 801 days ago | IN | 0.001 ETH | 0.00184906 | ||||
Deposit | 14222496 | 820 days ago | IN | 0.001 ETH | 0.00461018 | ||||
Deposit | 13656233 | 908 days ago | IN | 0.01 ETH | 0.00695482 | ||||
Cancel Transfer | 13644924 | 910 days ago | IN | 0 ETH | 0.00354133 | ||||
Deposit | 13323776 | 960 days ago | IN | 0.005 ETH | 0.00643813 | ||||
Cancel Transfer | 13323759 | 960 days ago | IN | 0 ETH | 0.00325551 | ||||
Deposit | 13322361 | 960 days ago | IN | 0.008 ETH | 0.01329432 | ||||
Cancel Transfer | 13305139 | 963 days ago | IN | 0 ETH | 0.00220426 | ||||
Deposit | 13286753 | 966 days ago | IN | 0.01458 ETH | 0.0040525 | ||||
Cancel Transfer | 13122430 | 991 days ago | IN | 0 ETH | 0.00312398 | ||||
Deposit | 13115532 | 992 days ago | IN | 0.05 ETH | 0.00562481 | ||||
Deposit | 13090550 | 996 days ago | IN | 0.003 ETH | 0.00760923 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
16302120 | 503 days ago | 0.001 ETH | ||||
14874241 | 717 days ago | 0.00001 ETH | ||||
13644924 | 910 days ago | 0.02 ETH | ||||
13323759 | 960 days ago | 0.008 ETH | ||||
13305139 | 963 days ago | 0.01458 ETH | ||||
13122430 | 991 days ago | 0.05 ETH | ||||
13076875 | 998 days ago | 1 ETH | ||||
12901863 | 1025 days ago | 0.005 ETH | ||||
12646138 | 1065 days ago | 0.001 ETH | ||||
12624353 | 1069 days ago | 0.01 ETH | ||||
11860491 | 1187 days ago | 0.01 ETH | ||||
11535477 | 1237 days ago | 0.01 ETH | ||||
11345188 | 1266 days ago | 0.01234 ETH | ||||
11284501 | 1275 days ago | 0.16 ETH | ||||
11228480 | 1284 days ago | 0.001 ETH | ||||
11228480 | 1284 days ago | 0.01 ETH | ||||
10902656 | 1334 days ago | 1 ETH | ||||
10657509 | 1372 days ago | 0.001 ETH | ||||
10617178 | 1378 days ago | 0.0018 ETH | ||||
10542433 | 1389 days ago | 0.05 ETH | ||||
10516387 | 1393 days ago | 0.046 ETH | ||||
10516348 | 1393 days ago | 0.028 ETH | ||||
10516336 | 1393 days ago | 0.045 ETH | ||||
10405301 | 1411 days ago | 0.1 ETH | ||||
10381916 | 1414 days ago | 0.001 ETH |
Loading...
Loading
Contract Name:
e2pEscrow
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-14 */ pragma solidity 0.4.23; /* * Ownable * * Base contract with an owner. * Provides onlyOwner modifier, which prevents function from running if it is called by anyone other than the owner. */ contract Ownable { address public owner; constructor() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() public onlyOwner whenNotPaused { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() public onlyOwner whenPaused { paused = false; emit Unpause(); } } contract SafeMath { function safeMul(uint a, uint b) internal pure returns (uint256) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function safeDiv(uint a, uint b) internal pure returns (uint256) { uint c = a / b; return c; } function safeSub(uint a, uint b) internal pure returns (uint256) { assert(b <= a); return a - b; } function safeAdd(uint a, uint b) internal pure returns (uint256) { uint c = a + b; assert(c >= a); return c; } function max64(uint64 a, uint64 b) internal pure returns (uint64) { return a >= b ? a : b; } function min64(uint64 a, uint64 b) internal pure returns (uint64) { return a < b ? a : b; } function max256(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } function min256(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } } /** * @title Stoppable * @dev Base contract which allows children to implement final irreversible stop mechanism. */ contract Stoppable is Pausable { event Stop(); bool public stopped = false; /** * @dev Modifier to make a function callable only when the contract is not stopped. */ modifier whenNotStopped() { require(!stopped); _; } /** * @dev Modifier to make a function callable only when the contract is stopped. */ modifier whenStopped() { require(stopped); _; } /** * @dev called by the owner to pause, triggers stopped state */ function stop() public onlyOwner whenNotStopped { stopped = true; emit Stop(); } } /** * @title Eth2Phone Escrow Contract * @dev Contract allows to send ether through verifier (owner of contract). * * Only verifier can initiate withdrawal to recipient's address. * Verifier cannot choose recipient's address without * transit private key generated by sender. * * Sender is responsible to provide transit private key * to recipient off-chain. * * Recepient signs address to receive with transit private key and * provides signed address to verification server. * (See VerifyTransferSignature method for details.) * * Verifier verifies off-chain the recipient in accordance with verification * conditions (e.g., phone ownership via SMS authentication) and initiates * withdrawal to the address provided by recipient. * (See withdraw method for details.) * * Verifier charges commission for it's services. * * Sender is able to cancel transfer if it's not yet cancelled or withdrawn * by recipient. * (See cancelTransfer method for details.) */ contract e2pEscrow is Stoppable, SafeMath { // fixed amount of wei accrued to verifier with each transfer uint public commissionFee; // verifier can withdraw this amount from smart-contract uint public commissionToWithdraw; // in wei // verifier's address address public verifier; /* * EVENTS */ event LogDeposit( address indexed sender, address indexed transitAddress, uint amount, uint commission ); event LogCancel( address indexed sender, address indexed transitAddress ); event LogWithdraw( address indexed sender, address indexed transitAddress, address indexed recipient, uint amount ); event LogWithdrawCommission(uint commissionAmount); event LogChangeFixedCommissionFee( uint oldCommissionFee, uint newCommissionFee ); event LogChangeVerifier( address oldVerifier, address newVerifier ); struct Transfer { address from; uint amount; // in wei } // Mappings of transitAddress => Transfer Struct mapping (address => Transfer) transferDct; /** * @dev Contructor that sets msg.sender as owner (verifier) in Ownable * and sets verifier's fixed commission fee. * @param _commissionFee uint Verifier's fixed commission for each transfer */ constructor(uint _commissionFee, address _verifier) public { commissionFee = _commissionFee; verifier = _verifier; } modifier onlyVerifier() { require(msg.sender == verifier); _; } /** * @dev Deposit ether to smart-contract and create transfer. * Transit address is assigned to transfer by sender. * Recipient should sign withrawal address with the transit private key * * @param _transitAddress transit address assigned to transfer. * @return True if success. */ function deposit(address _transitAddress) public whenNotPaused whenNotStopped payable returns(bool) { // can not override existing transfer require(transferDct[_transitAddress].amount == 0); require(msg.value > commissionFee); // saving transfer details transferDct[_transitAddress] = Transfer( msg.sender, safeSub(msg.value, commissionFee)//amount = msg.value - comission ); // accrue verifier's commission commissionToWithdraw = safeAdd(commissionToWithdraw, commissionFee); // log deposit event emit LogDeposit(msg.sender, _transitAddress, msg.value, commissionFee); return true; } /** * @dev Change verifier's fixed commission fee. * Only owner can change commision fee. * * @param _newCommissionFee uint New verifier's fixed commission * @return True if success. */ function changeFixedCommissionFee(uint _newCommissionFee) public whenNotPaused whenNotStopped onlyOwner returns(bool success) { uint oldCommissionFee = commissionFee; commissionFee = _newCommissionFee; emit LogChangeFixedCommissionFee(oldCommissionFee, commissionFee); return true; } /** * @dev Change verifier's address. * Only owner can change verifier's address. * * @param _newVerifier address New verifier's address * @return True if success. */ function changeVerifier(address _newVerifier) public whenNotPaused whenNotStopped onlyOwner returns(bool success) { address oldVerifier = verifier; verifier = _newVerifier; emit LogChangeVerifier(oldVerifier, verifier); return true; } /** * @dev Transfer accrued commission to verifier's address. * @return True if success. */ function withdrawCommission() public whenNotPaused returns(bool success) { uint commissionToTransfer = commissionToWithdraw; commissionToWithdraw = 0; owner.transfer(commissionToTransfer); // owner is verifier emit LogWithdrawCommission(commissionToTransfer); return true; } /** * @dev Get transfer details. * @param _transitAddress transit address assigned to transfer * @return Transfer details (id, sender, amount) */ function getTransfer(address _transitAddress) public constant returns ( address id, address from, // transfer sender uint amount) // in wei { Transfer memory transfer = transferDct[_transitAddress]; return ( _transitAddress, transfer.from, transfer.amount ); } /** * @dev Cancel transfer and get sent ether back. Only transfer sender can * cancel transfer. * @param _transitAddress transit address assigned to transfer * @return True if success. */ function cancelTransfer(address _transitAddress) public returns (bool success) { Transfer memory transferOrder = transferDct[_transitAddress]; // only sender can cancel transfer; require(msg.sender == transferOrder.from); delete transferDct[_transitAddress]; // transfer ether to recipient's address msg.sender.transfer(transferOrder.amount); // log cancel event emit LogCancel(msg.sender, _transitAddress); return true; } /** * @dev Verify that address is signed with correct verification private key. * @param _transitAddress transit address assigned to transfer * @param _recipient address Signed address. * @param _v ECDSA signature parameter v. * @param _r ECDSA signature parameters r. * @param _s ECDSA signature parameters s. * @return True if signature is correct. */ function verifySignature( address _transitAddress, address _recipient, uint8 _v, bytes32 _r, bytes32 _s) public pure returns(bool success) { bytes32 prefixedHash = keccak256("\x19Ethereum Signed Message:\n32", _recipient); address retAddr = ecrecover(prefixedHash, _v, _r, _s); return retAddr == _transitAddress; } /** * @dev Verify that address is signed with correct private key for * verification public key assigned to transfer. * @param _transitAddress transit address assigned to transfer * @param _recipient address Signed address. * @param _v ECDSA signature parameter v. * @param _r ECDSA signature parameters r. * @param _s ECDSA signature parameters s. * @return True if signature is correct. */ function verifyTransferSignature( address _transitAddress, address _recipient, uint8 _v, bytes32 _r, bytes32 _s) public pure returns(bool success) { return (verifySignature(_transitAddress, _recipient, _v, _r, _s)); } /** * @dev Withdraw transfer to recipient's address if it is correctly signed * with private key for verification public key assigned to transfer. * * @param _transitAddress transit address assigned to transfer * @param _recipient address Signed address. * @param _v ECDSA signature parameter v. * @param _r ECDSA signature parameters r. * @param _s ECDSA signature parameters s. * @return True if success. */ function withdraw( address _transitAddress, address _recipient, uint8 _v, bytes32 _r, bytes32 _s ) public onlyVerifier // only through verifier can withdraw transfer; whenNotPaused whenNotStopped returns (bool success) { Transfer memory transferOrder = transferDct[_transitAddress]; // verifying signature require(verifySignature(_transitAddress, _recipient, _v, _r, _s )); delete transferDct[_transitAddress]; // transfer ether to recipient's address _recipient.transfer(transferOrder.amount); // log withdraw event emit LogWithdraw(transferOrder.from, _transitAddress, _recipient, transferOrder.amount); return true; } // fallback function - do not receive ether by default function() public payable { revert(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"commissionToWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"verifier","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_transitAddress","type":"address"},{"name":"_recipient","type":"address"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"verifySignature","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"withdrawCommission","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_transitAddress","type":"address"},{"name":"_recipient","type":"address"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"verifyTransferSignature","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"commissionFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newCommissionFee","type":"uint256"}],"name":"changeFixedCommissionFee","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_transitAddress","type":"address"},{"name":"_recipient","type":"address"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"withdraw","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_transitAddress","type":"address"}],"name":"cancelTransfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newVerifier","type":"address"}],"name":"changeVerifier","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_transitAddress","type":"address"}],"name":"getTransfer","outputs":[{"name":"id","type":"address"},{"name":"from","type":"address"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_transitAddress","type":"address"}],"name":"deposit","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[{"name":"_commissionFee","type":"uint256"},{"name":"_verifier","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transitAddress","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"commission","type":"uint256"}],"name":"LogDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transitAddress","type":"address"}],"name":"LogCancel","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transitAddress","type":"address"},{"indexed":true,"name":"recipient","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"commissionAmount","type":"uint256"}],"name":"LogWithdrawCommission","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldCommissionFee","type":"uint256"},{"indexed":false,"name":"newCommissionFee","type":"uint256"}],"name":"LogChangeFixedCommissionFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldVerifier","type":"address"},{"indexed":false,"name":"newVerifier","type":"address"}],"name":"LogChangeVerifier","type":"event"},{"anonymous":false,"inputs":[],"name":"Stop","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]
Contract Creation Code
608060405260008060146101000a81548160ff02191690831515021790555060008060156101000a81548160ff02191690831515021790555034801561004457600080fd5b5060405160408061177d8339810180604052810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160018190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506116738061010a6000396000f3006080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307da68f5146101015780630ee2b0e6146101185780632b7ac3f3146101435780633dabb0f61461019a5780633e25e8371461023e5780633f4ba83a1461026d5780635ac3835d146102845780635c975abb146103285780636fb1eb0c146103575780637297be7f1461038257806375f12b21146103c75780638456cb59146103f65780638bdc5a5f1461040d5780638da5cb5b146104b1578063a7c1e62914610508578063cf04fb9414610563578063db0d5175146105be578063f340fa011461067b575b600080fd5b34801561010d57600080fd5b506101166106c9565b005b34801561012457600080fd5b5061012d610789565b6040518082815260200191505060405180910390f35b34801561014f57600080fd5b5061015861078f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a657600080fd5b50610224600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291905050506107b5565b604051808215151515815260200191505060405180910390f35b34801561024a57600080fd5b506102536108f4565b604051808215151515815260200191505060405180910390f35b34801561027957600080fd5b506102826109c7565b005b34801561029057600080fd5b5061030e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610a85565b604051808215151515815260200191505060405180910390f35b34801561033457600080fd5b5061033d610a9f565b604051808215151515815260200191505060405180910390f35b34801561036357600080fd5b5061036c610ab2565b6040518082815260200191505060405180910390f35b34801561038e57600080fd5b506103ad60048036038101908080359060200190929190505050610ab8565b604051808215151515815260200191505060405180910390f35b3480156103d357600080fd5b506103dc610ba5565b604051808215151515815260200191505060405180910390f35b34801561040257600080fd5b5061040b610bb8565b005b34801561041957600080fd5b50610497600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610c78565b604051808215151515815260200191505060405180910390f35b3480156104bd57600080fd5b506104c6610f28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561051457600080fd5b50610549600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4d565b604051808215151515815260200191505060405180910390f35b34801561056f57600080fd5b506105a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b604051808215151515815260200191505060405180910390f35b3480156105ca57600080fd5b506105ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131f565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b6106af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f1565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561072457600080fd5b600060159054906101000a900460ff1615151561074057600080fd5b6001600060156101000a81548160ff0219169083151502179055507fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b60405160405180910390a1565b60025481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008660405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390209150600182878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156108ac573d6000803e3d6000fd5b5050506020604051035190508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16149250505095945050505050565b600080600060149054906101000a900460ff1615151561091357600080fd5b600254905060006002819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610987573d6000803e3d6000fd5b507f3edf228d54016de2c57c145318c98467681be853eb40b70bc72ffd795550aa26816040518082815260200191505060405180910390a1600191505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2257600080fd5b600060149054906101000a900460ff161515610a3d57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000610a9486868686866107b5565b905095945050505050565b600060149054906101000a900460ff1681565b60015481565b600080600060149054906101000a900460ff16151515610ad757600080fd5b600060159054906101000a900460ff16151515610af357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b4e57600080fd5b6001549050826001819055507f9f43d788b36e7b67ff4c6a52197dfb4a40cce888efd52a5a7240c1276c85adbf81600154604051808381526020018281526020019250505060405180910390a16001915050919050565b600060159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1357600080fd5b600060149054906101000a900460ff16151515610c2f57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000610c82611617565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde57600080fd5b600060149054906101000a900460ff16151515610cfa57600080fd5b600060159054906101000a900460ff16151515610d1657600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050610dcf87878787876107b5565b1515610dda57600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550508573ffffffffffffffffffffffffffffffffffffffff166108fc82602001519081150290604051600060405180830381858888f19350505050158015610e95573d6000803e3d6000fd5b508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff167faa5b60cdfa493767441e10be5daea291b831cb9faa638ebf160d434588d7ecbd84602001516040518082815260200191505060405180910390a4600191505095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f57611617565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050806000015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104157600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550503373ffffffffffffffffffffffffffffffffffffffff166108fc82602001519081150290604051600060405180830381858888f193505050501580156110fc573d6000803e3d6000fd5b508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fbadeab042d3a4137cdc34a05ee0e698eb9bb91cea276c79d4c8cafeeee302a3760405160405180910390a36001915050919050565b600080600060149054906101000a900460ff1615151561118057600080fd5b600060159054906101000a900460ff1615151561119c57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111f757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507e23b4b8d3b24bb4e63a4d72a2a8012e5134c4b51c84fa61ae55749793c6418381600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16001915050919050565b600080600061132c611617565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505090508481600001518260200151935093509350509193909250565b60008060149054906101000a900460ff1615151561140e57600080fd5b600060159054906101000a900460ff1615151561142a57600080fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414151561147b57600080fd5b6001543411151561148b57600080fd5b60408051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016114be346001546115e0565b815250600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506115626002546001546115f9565b6002819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4e3e4894f24a7c50bcb21d1ef785e34688bee05663c55d822eed7cefc253312334600154604051808381526020018281526020019250505060405180910390a360019050919050565b60008282111515156115ee57fe5b818303905092915050565b600080828401905083811015151561160d57fe5b8091505092915050565b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250905600a165627a7a72305820b09d845a1ccae545a3d2818772a714c6c0412e02e25a6b1003658ab8369970f60029000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307da68f5146101015780630ee2b0e6146101185780632b7ac3f3146101435780633dabb0f61461019a5780633e25e8371461023e5780633f4ba83a1461026d5780635ac3835d146102845780635c975abb146103285780636fb1eb0c146103575780637297be7f1461038257806375f12b21146103c75780638456cb59146103f65780638bdc5a5f1461040d5780638da5cb5b146104b1578063a7c1e62914610508578063cf04fb9414610563578063db0d5175146105be578063f340fa011461067b575b600080fd5b34801561010d57600080fd5b506101166106c9565b005b34801561012457600080fd5b5061012d610789565b6040518082815260200191505060405180910390f35b34801561014f57600080fd5b5061015861078f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a657600080fd5b50610224600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291905050506107b5565b604051808215151515815260200191505060405180910390f35b34801561024a57600080fd5b506102536108f4565b604051808215151515815260200191505060405180910390f35b34801561027957600080fd5b506102826109c7565b005b34801561029057600080fd5b5061030e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610a85565b604051808215151515815260200191505060405180910390f35b34801561033457600080fd5b5061033d610a9f565b604051808215151515815260200191505060405180910390f35b34801561036357600080fd5b5061036c610ab2565b6040518082815260200191505060405180910390f35b34801561038e57600080fd5b506103ad60048036038101908080359060200190929190505050610ab8565b604051808215151515815260200191505060405180910390f35b3480156103d357600080fd5b506103dc610ba5565b604051808215151515815260200191505060405180910390f35b34801561040257600080fd5b5061040b610bb8565b005b34801561041957600080fd5b50610497600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610c78565b604051808215151515815260200191505060405180910390f35b3480156104bd57600080fd5b506104c6610f28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561051457600080fd5b50610549600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4d565b604051808215151515815260200191505060405180910390f35b34801561056f57600080fd5b506105a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b604051808215151515815260200191505060405180910390f35b3480156105ca57600080fd5b506105ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131f565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b6106af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f1565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561072457600080fd5b600060159054906101000a900460ff1615151561074057600080fd5b6001600060156101000a81548160ff0219169083151502179055507fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b60405160405180910390a1565b60025481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008660405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390209150600182878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156108ac573d6000803e3d6000fd5b5050506020604051035190508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16149250505095945050505050565b600080600060149054906101000a900460ff1615151561091357600080fd5b600254905060006002819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610987573d6000803e3d6000fd5b507f3edf228d54016de2c57c145318c98467681be853eb40b70bc72ffd795550aa26816040518082815260200191505060405180910390a1600191505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2257600080fd5b600060149054906101000a900460ff161515610a3d57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000610a9486868686866107b5565b905095945050505050565b600060149054906101000a900460ff1681565b60015481565b600080600060149054906101000a900460ff16151515610ad757600080fd5b600060159054906101000a900460ff16151515610af357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b4e57600080fd5b6001549050826001819055507f9f43d788b36e7b67ff4c6a52197dfb4a40cce888efd52a5a7240c1276c85adbf81600154604051808381526020018281526020019250505060405180910390a16001915050919050565b600060159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1357600080fd5b600060149054906101000a900460ff16151515610c2f57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000610c82611617565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde57600080fd5b600060149054906101000a900460ff16151515610cfa57600080fd5b600060159054906101000a900460ff16151515610d1657600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050610dcf87878787876107b5565b1515610dda57600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550508573ffffffffffffffffffffffffffffffffffffffff166108fc82602001519081150290604051600060405180830381858888f19350505050158015610e95573d6000803e3d6000fd5b508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff167faa5b60cdfa493767441e10be5daea291b831cb9faa638ebf160d434588d7ecbd84602001516040518082815260200191505060405180910390a4600191505095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f57611617565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050806000015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104157600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550503373ffffffffffffffffffffffffffffffffffffffff166108fc82602001519081150290604051600060405180830381858888f193505050501580156110fc573d6000803e3d6000fd5b508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fbadeab042d3a4137cdc34a05ee0e698eb9bb91cea276c79d4c8cafeeee302a3760405160405180910390a36001915050919050565b600080600060149054906101000a900460ff1615151561118057600080fd5b600060159054906101000a900460ff1615151561119c57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111f757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507e23b4b8d3b24bb4e63a4d72a2a8012e5134c4b51c84fa61ae55749793c6418381600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16001915050919050565b600080600061132c611617565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505090508481600001518260200151935093509350509193909250565b60008060149054906101000a900460ff1615151561140e57600080fd5b600060159054906101000a900460ff1615151561142a57600080fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414151561147b57600080fd5b6001543411151561148b57600080fd5b60408051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016114be346001546115e0565b815250600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506115626002546001546115f9565b6002819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4e3e4894f24a7c50bcb21d1ef785e34688bee05663c55d822eed7cefc253312334600154604051808381526020018281526020019250505060405180910390a360019050919050565b60008282111515156115ee57fe5b818303905092915050565b600080828401905083811015151561160d57fe5b8091505092915050565b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250905600a165627a7a72305820b09d845a1ccae545a3d2818772a714c6c0412e02e25a6b1003658ab8369970f60029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _commissionFee (uint256): 10000000000000000
Arg [1] : _verifier (address): 0x0000000000000000000000000000000000000000
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000002386f26fc10000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://b09d845a1ccae545a3d2818772a714c6c0412e02e25a6b1003658ab8369970f6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 25 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,030.19 | 2.1755 | $6,592.07 |
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.