Latest 25 from a total of 975 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Take | 17959548 | 899 days ago | IN | 0 ETH | 0.00035098 | ||||
| Initiate Trade | 16181822 | 1149 days ago | IN | 0 ETH | 0.00478352 | ||||
| Claim Fees | 15405642 | 1261 days ago | IN | 0 ETH | 0.00056342 | ||||
| Claim Fees | 15405631 | 1261 days ago | IN | 0 ETH | 0.00052074 | ||||
| Claim Fees | 15405631 | 1261 days ago | IN | 0 ETH | 0.00076701 | ||||
| Claim Fees | 15405627 | 1261 days ago | IN | 0 ETH | 0.00103382 | ||||
| Claim Fees | 15405627 | 1261 days ago | IN | 0 ETH | 0.00044996 | ||||
| Claim Fees | 15405622 | 1261 days ago | IN | 0 ETH | 0.00058449 | ||||
| Claim Fees | 15405622 | 1261 days ago | IN | 0 ETH | 0.00127134 | ||||
| Claim Fees | 15405616 | 1261 days ago | IN | 0 ETH | 0.00037741 | ||||
| Initiate Trade | 15060993 | 1314 days ago | IN | 0 ETH | 0.00033789 | ||||
| Initiate Trade | 15060993 | 1314 days ago | IN | 0 ETH | 0.00030393 | ||||
| Initiate Trade | 15060634 | 1314 days ago | IN | 0 ETH | 0.00033485 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00035478 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00054361 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00039261 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00042281 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00039261 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00045301 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00045301 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00042281 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00039261 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00046811 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00314067 | ||||
| Initiate Trade | 15060467 | 1314 days ago | IN | 0 ETH | 0.00289908 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 23379891 | 141 days ago | 0.0009998 ETH | ||||
| Transfer | 23379891 | 141 days ago | 0.009998 ETH | ||||
| Transfer | 23374264 | 142 days ago | 0.009998 ETH | ||||
| Transfer | 23374264 | 142 days ago | 0.0009998 ETH | ||||
| Transfer | 23374264 | 142 days ago | 0.009998 ETH | ||||
| Transfer | 23374264 | 142 days ago | 0.124975 ETH | ||||
| Transfer | 17959548 | 899 days ago | 0.09998 ETH | ||||
| Transfer | 15405642 | 1261 days ago | 0.97911716 ETH | ||||
| - | 13385379 | 1580 days ago | 8.4983 ETH | ||||
| - | 13366150 | 1583 days ago | 8.39832 ETH | ||||
| - | 13361581 | 1584 days ago | 2.059588 ETH | ||||
| - | 13361163 | 1584 days ago | 1.6 ETH | ||||
| - | 13360650 | 1584 days ago | 10.736 ETH | ||||
| - | 13359744 | 1584 days ago | 8.79824 ETH | ||||
| - | 13358364 | 1584 days ago | 6.878624 ETH | ||||
| - | 13358289 | 1584 days ago | 10.9978 ETH | ||||
| - | 13358067 | 1584 days ago | 23.9952 ETH | ||||
| - | 13123412 | 1621 days ago | 0.73 ETH | ||||
| - | 12692683 | 1688 days ago | 7 ETH | ||||
| - | 12068851 | 1784 days ago | 1 ETH | ||||
| - | 12053860 | 1786 days ago | 15.42 ETH | ||||
| - | 12053702 | 1786 days ago | 8.764 ETH | ||||
| - | 11872591 | 1814 days ago | 0.041305 ETH | ||||
| - | 11673203 | 1845 days ago | 0.1 ETH | ||||
| - | 11639048 | 1850 days ago | 0.01 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
TrustlessOTC
Compiler Version
v0.5.4+commit.9549d8ff
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-06-08
*/
pragma solidity ^0.5.4;
/**
* @dev Interface of the ERC20 standard as defined in the EIP. Does not include
* the optional functions; to access them see `ERC20Detailed`.
*/
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a `Transfer` event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through `transferFrom`. This is
* zero by default.
*
* This value changes when `approve` or `transferFrom` are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* > Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an `Approval` event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a `Transfer` event.
*/
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to `approve`. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when an
* operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// Solidity only automatically asserts when dividing by 0
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0, "SafeMath: modulo by zero");
return a % b;
}
}
/**
* @dev Collection of functions related to the address type,
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* This test is non-exhaustive, and there may be false-negatives: during the
* execution of a contract's constructor, its address will be reported as
* not containing a contract.
*
* > It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*/
function isContract(address account) internal view returns (bool) {
// This method relies in extcodesize, which returns 0 for contracts in
// construction, since the code is only stored at the end of the
// constructor execution.
uint256 size;
// solhint-disable-next-line no-inline-assembly
assembly { size := extcodesize(account) }
return size > 0;
}
/**
* @dev Converts an `address` into `address payable`. Note that this is
* simply a type cast: the actual underlying value is not changed.
*/
function toPayable(address account) internal pure returns (address payable) {
return address(uint160(account));
}
}
/**
* @title SafeERC20
* @dev Wrappers around ERC20 operations that throw on failure (when the token
* contract returns false). Tokens that return no value (and instead revert or
* throw on failure) are also supported, non-reverting calls are assumed to be
* successful.
* To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
*/
library SafeERC20 {
using SafeMath for uint256;
using Address for address;
function safeTransfer(IERC20 token, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
}
function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
}
function safeApprove(IERC20 token, address spender, uint256 value) internal {
// safeApprove should only be called when setting an initial allowance,
// or when resetting it to zero. To increase and decrease it, use
// 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
// solhint-disable-next-line max-line-length
require((value == 0) || (token.allowance(address(this), spender) == 0),
"SafeERC20: approve from non-zero to non-zero allowance"
);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
}
function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
uint256 newAllowance = token.allowance(address(this), spender).add(value);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
uint256 newAllowance = token.allowance(address(this), spender).sub(value);
callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
/**
* @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
* on the return value: the return value is optional (but if data is returned, it must not be false).
* @param token The token targeted by the call.
* @param data The call data (encoded using abi.encode or one of its variants).
*/
function callOptionalReturn(IERC20 token, bytes memory data) private {
// We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
// we're implementing it ourselves.
// A Solidity high level call has three parts:
// 1. The target address is checked to verify it contains contract code
// 2. The call itself is made, and success asserted
// 3. The return value is decoded, which in turn checks the size of the returned data.
// solhint-disable-next-line max-line-length
require(address(token).isContract(), "SafeERC20: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = address(token).call(data);
require(success, "SafeERC20: low-level call failed");
if (returndata.length > 0) { // Return data is optional
// solhint-disable-next-line max-line-length
require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
}
}
}
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor () internal {
_owner = msg.sender;
emit OwnershipTransferred(address(0), _owner);
}
/**
* @return the address of the owner.
*/
function owner() public view returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(isOwner());
_;
}
/**
* @return true if `msg.sender` is the owner of the contract.
*/
function isOwner() public view returns (bool) {
return msg.sender == _owner;
}
/**
* @dev Allows the current owner to relinquish control of the contract.
* It will not be possible to call the functions with the `onlyOwner`
* modifier anymore.
* @notice Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
_transferOwnership(newOwner);
}
/**
* @dev Transfers control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function _transferOwnership(address newOwner) internal {
require(newOwner != address(0));
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
contract TrustlessOTC is Ownable {
using SafeMath for uint256;
using SafeERC20 for IERC20;
mapping(address => uint256) public balanceTracker;
mapping(address => uint256) public feeTracker;
mapping(address => uint[]) public tradeTracker;
event OfferCreated(uint indexed tradeID);
event OfferCancelled(uint indexed tradeID);
event OfferTaken(uint indexed tradeID);
uint256 public feeBasisPoints;
constructor (uint256 _feeBasisPoints) public {
feeBasisPoints = _feeBasisPoints;
}
struct TradeOffer {
address tokenFrom;
address tokenTo;
uint256 amountFrom;
uint256 amountTo;
address payable creator;
address optionalTaker;
bool active;
bool completed;
uint tradeID;
}
TradeOffer[] public offers;
function initiateTrade(
address _tokenFrom,
address _tokenTo,
uint256 _amountFrom,
uint256 _amountTo,
address _optionalTaker
) public payable returns (uint newTradeID) {
if (_tokenFrom == address(0)) {
require(msg.value == _amountFrom);
} else {
require(msg.value == 0);
IERC20(_tokenFrom).safeTransferFrom(msg.sender, address(this), _amountFrom);
}
newTradeID = offers.length;
offers.length++;
TradeOffer storage o = offers[newTradeID];
balanceTracker[_tokenFrom] = balanceTracker[_tokenFrom].add(_amountFrom);
o.tokenFrom = _tokenFrom;
o.tokenTo = _tokenTo;
o.amountFrom = _amountFrom;
o.amountTo = _amountTo;
o.creator = msg.sender;
o.optionalTaker = _optionalTaker;
o.active = true;
o.tradeID = newTradeID;
tradeTracker[msg.sender].push(newTradeID);
emit OfferCreated(newTradeID);
}
function cancelTrade(uint tradeID) public returns (bool) {
TradeOffer storage o = offers[tradeID];
require(msg.sender == o.creator);
require(o.active == true);
o.active = false;
if (o.tokenFrom == address(0)) {
msg.sender.transfer(o.amountFrom);
} else {
IERC20(o.tokenFrom).safeTransfer(o.creator, o.amountFrom);
}
balanceTracker[o.tokenFrom] -= o.amountFrom;
emit OfferCancelled(tradeID);
return true;
}
function take(uint tradeID) public payable returns (bool) {
TradeOffer storage o = offers[tradeID];
require(o.optionalTaker == msg.sender || o.optionalTaker == address(0));
require(o.active == true);
o.active = false;
balanceTracker[o.tokenFrom] = balanceTracker[o.tokenFrom].sub(o.amountFrom);
uint256 fee = o.amountFrom.mul(feeBasisPoints).div(10000);
feeTracker[o.tokenFrom] = feeTracker[o.tokenFrom].add(fee);
tradeTracker[msg.sender].push(tradeID);
if (o.tokenFrom == address(0)) {
msg.sender.transfer(o.amountFrom.sub(fee));
} else {
IERC20(o.tokenFrom).safeTransfer(msg.sender, o.amountFrom.sub(fee));
}
if (o.tokenTo == address(0)) {
require(msg.value == o.amountTo);
o.creator.transfer(msg.value);
} else {
require(msg.value == 0);
IERC20(o.tokenTo).safeTransferFrom(msg.sender, o.creator, o.amountTo);
}
o.completed = true;
emit OfferTaken(tradeID);
return true;
}
function getOfferDetails(uint tradeID) external view returns (
address _tokenFrom,
address _tokenTo,
uint256 _amountFrom,
uint256 _amountTo,
address _creator,
uint256 _fee,
bool _active,
bool _completed
) {
TradeOffer storage o = offers[tradeID];
_tokenFrom = o.tokenFrom;
_tokenTo = o.tokenTo;
_amountFrom = o.amountFrom;
_amountTo = o.amountTo;
_creator = o.creator;
_fee = o.amountFrom.mul(feeBasisPoints).div(10000);
_active = o.active;
_completed = o.completed;
}
function getUserTrades(address user) external view returns (uint[] memory){
return tradeTracker[user];
}
function reclaimToken(IERC20 _token) external onlyOwner {
uint256 balance = _token.balanceOf(address(this));
uint256 excess = balance.sub(balanceTracker[address(_token)]);
require(excess > 0);
if (address(_token) == address(0)) {
msg.sender.transfer(excess);
} else {
_token.safeTransfer(owner(), excess);
}
}
function claimFees(IERC20 _token) external onlyOwner {
uint256 feesToClaim = feeTracker[address(_token)];
feeTracker[address(_token)] = 0;
require(feesToClaim > 0);
if (address(_token) == address(0)) {
msg.sender.transfer(feesToClaim);
} else {
_token.safeTransfer(owner(), feesToClaim);
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"tradeID","type":"uint256"}],"name":"cancelTrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenFrom","type":"address"},{"name":"_tokenTo","type":"address"},{"name":"_amountFrom","type":"uint256"},{"name":"_amountTo","type":"uint256"},{"name":"_optionalTaker","type":"address"}],"name":"initiateTrade","outputs":[{"name":"newTradeID","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"claimFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"reclaimToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"tradeTracker","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tradeID","type":"uint256"}],"name":"getOfferDetails","outputs":[{"name":"_tokenFrom","type":"address"},{"name":"_tokenTo","type":"address"},{"name":"_amountFrom","type":"uint256"},{"name":"_amountTo","type":"uint256"},{"name":"_creator","type":"address"},{"name":"_fee","type":"uint256"},{"name":"_active","type":"bool"},{"name":"_completed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tradeID","type":"uint256"}],"name":"take","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"feeTracker","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"offers","outputs":[{"name":"tokenFrom","type":"address"},{"name":"tokenTo","type":"address"},{"name":"amountFrom","type":"uint256"},{"name":"amountTo","type":"uint256"},{"name":"creator","type":"address"},{"name":"optionalTaker","type":"address"},{"name":"active","type":"bool"},{"name":"completed","type":"bool"},{"name":"tradeID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getUserTrades","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceTracker","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeBasisPoints","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_feeBasisPoints","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tradeID","type":"uint256"}],"name":"OfferCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tradeID","type":"uint256"}],"name":"OfferCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tradeID","type":"uint256"}],"name":"OfferTaken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]Contract Creation Code
608060405234801561001057600080fd5b506040516020806116248339810180604052602081101561003057600080fd5b505160008054600160a060020a0319163317808255604051600160a060020a039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36004556115978061008d6000396000f3fe608060405260043610610110576000357c010000000000000000000000000000000000000000000000000000000090048063715018a6116100a7578063927c774211610076578063927c7742146103fc5780639c1e89d61461047f578063b8606eef146104b2578063f2fde38b146104c757610110565b8063715018a61461031a5780638a72ea6a1461032f5780638da5cb5b146103b65780638f32d59b146103e757610110565b80632b4c1fdc116100e35780632b4c1fdc146102115780634fb64be21461024a5780634fd9efc4146102ca5780635d58bcce146102e757610110565b806309ec6cc7146101155780630adbf7431461015357806315a0ea6a146101a957806317ffc320146101de575b600080fd5b34801561012157600080fd5b5061013f6004803603602081101561013857600080fd5b50356104fa565b604080519115158252519081900360200190f35b610197600480360360a081101561016957600080fd5b50600160a060020a03813581169160208101358216916040820135916060810135916080909101351661063e565b60408051918252519081900360200190f35b3480156101b557600080fd5b506101dc600480360360208110156101cc57600080fd5b5035600160a060020a03166107d9565b005b3480156101ea57600080fd5b506101dc6004803603602081101561020157600080fd5b5035600160a060020a031661087f565b34801561021d57600080fd5b506101976004803603604081101561023457600080fd5b50600160a060020a0381351690602001356109c8565b34801561025657600080fd5b506102746004803603602081101561026d57600080fd5b50356109f8565b60408051600160a060020a03998a168152978916602089015287810196909652606087019490945291909516608085015260a084019490945292151560c083015291151560e08201529051908190036101000190f35b61013f600480360360208110156102e057600080fd5b5035610ac2565b3480156102f357600080fd5b506101976004803603602081101561030a57600080fd5b5035600160a060020a0316610dc0565b34801561032657600080fd5b506101dc610dd2565b34801561033b57600080fd5b506103596004803603602081101561035257600080fd5b5035610e3c565b60408051600160a060020a039a8b168152988a1660208a01528881019790975260608801959095529287166080870152951660a085015293151560c084015292151560e08301526101008201929092529051908190036101200190f35b3480156103c257600080fd5b506103cb610ec3565b60408051600160a060020a039092168252519081900360200190f35b3480156103f357600080fd5b5061013f610ed3565b34801561040857600080fd5b5061042f6004803603602081101561041f57600080fd5b5035600160a060020a0316610ee4565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046b578181015183820152602001610453565b505050509050019250505060405180910390f35b34801561048b57600080fd5b50610197600480360360208110156104a257600080fd5b5035600160a060020a0316610f50565b3480156104be57600080fd5b50610197610f62565b3480156104d357600080fd5b506101dc600480360360208110156104ea57600080fd5b5035600160a060020a0316610f68565b60008060058381548110151561050c57fe5b600091825260209091206007909102016004810154909150600160a060020a0316331461053857600080fd5b600581015460a060020a900460ff16151560011461055557600080fd5b60058101805474ff0000000000000000000000000000000000000000191690558054600160a060020a031615156105bc576002810154604051339180156108fc02916000818181858888f193505050501580156105b6573d6000803e3d6000fd5b506105e6565b6004810154600282015482546105e692600160a060020a039182169291169063ffffffff610f8716565b60028101548154600160a060020a0316600090815260016020526040808220805493909303909255905184917fc28b4aed030bfacc245c0501326e1beb8c0ef0d60e4edc21067fdeb52da2a7aa91a250600192915050565b6000600160a060020a03861615156106615734841461065c57600080fd5b610687565b341561066c57600080fd5b610687600160a060020a03871633308763ffffffff61100716565b506005805490819061069c9060018301611479565b5060006005828154811015156106ae57fe5b60009182526020808320600160a060020a038b1684526001909152604090922054600790910290910191506106e9908663ffffffff61109516565b600160a060020a03808916600081815260016020818152604080842096909655865473ffffffffffffffffffffffffffffffffffffffff19908116909417875586820180548d8716908616179055600287018b905560038088018b905560048801805486163390811790915560058901805474ff000000000000000000000000000000000000000019988d169716969096179690961660a060020a179094556006870188905593825291835283812080549283018155815291822001849055905183917f682fd9923da5632e7c7702dabcfa626195d5f444833bc25f94e418e258e7918691a25095945050505050565b6107e1610ed3565b15156107ec57600080fd5b600160a060020a038116600090815260026020526040812080549082905590811161081657600080fd5b600160a060020a038216151561085957604051339082156108fc029083906000818181858888f19350505050158015610853573d6000803e3d6000fd5b5061087b565b61087b610864610ec3565b600160a060020a038416908363ffffffff610f8716565b5050565b610887610ed3565b151561089257600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091600160a060020a038416916370a0823191602480820192602092909190829003018186803b1580156108f557600080fd5b505afa158015610909573d6000803e3d6000fd5b505050506040513d602081101561091f57600080fd5b5051600160a060020a0383166000908152600160205260408120549192509061094f90839063ffffffff6110fb16565b90506000811161095e57600080fd5b600160a060020a03831615156109a157604051339082156108fc029083906000818181858888f1935050505015801561099b573d6000803e3d6000fd5b506109c3565b6109c36109ac610ec3565b600160a060020a038516908363ffffffff610f8716565b505050565b6003602052816000526040600020818154811015156109e357fe5b90600052602060002001600091509150505481565b600080600080600080600080600060058a815481101515610a1557fe5b6000918252602090912060079091020180546001820154600283015460038401546004808601549054600160a060020a039586169f509385169d50919b5099509091169650909150610a829061271090610a76908a9063ffffffff61115b16565b9063ffffffff6111bb16565b600590910154989a9799509597949693959460ff60a060020a82048116957501000000000000000000000000000000000000000000909204169350915050565b600080600583815481101515610ad457fe5b60009182526020909120600560079092020190810154909150600160a060020a0316331480610b0e57506005810154600160a060020a0316155b1515610b1957600080fd5b600581015460a060020a900460ff161515600114610b3657600080fd5b60058101805474ff00000000000000000000000000000000000000001916905560028101548154600160a060020a0316600090815260016020526040902054610b849163ffffffff6110fb16565b8154600160a060020a03166000908152600160205260408120919091556004546002830154610bc09161271091610a769163ffffffff61115b16565b8254600160a060020a0316600090815260026020526040902054909150610bed908263ffffffff61109516565b8254600160a060020a039081166000908152600260209081526040808320949094553382526003815292812080546001810182559082529290209091018590558254161515610c7f57600282015433906108fc90610c51908463ffffffff6110fb16565b6040518115909202916000818181858888f19350505050158015610c79573d6000803e3d6000fd5b50610cb2565b610cb233610c9a8385600201546110fb90919063ffffffff16565b8454600160a060020a0316919063ffffffff610f8716565b6001820154600160a060020a03161515610d175760038201543414610cd657600080fd5b6004820154604051600160a060020a03909116903480156108fc02916000818181858888f19350505050158015610d11573d6000803e3d6000fd5b50610d52565b3415610d2257600080fd5b600482015460038301546001840154610d5292600160a060020a039182169233929091169063ffffffff61100716565b60058201805475ff0000000000000000000000000000000000000000001916750100000000000000000000000000000000000000000017905560405184907f8d41497c7e1d1f357a01f988d454a86c537c3800ab8da3f91bfa5f5e73a1d5f290600090a25060019392505050565b60026020526000908152604090205481565b610dda610ed3565b1515610de557600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6005805482908110610e4a57fe5b60009182526020909120600790910201805460018201546002830154600384015460048501546005860154600690960154600160a060020a0395861697509385169592949193908216929182169160ff60a060020a82048116927501000000000000000000000000000000000000000000909204169089565b600054600160a060020a03165b90565b600054600160a060020a0316331490565b600160a060020a038116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610f4457602002820191906000526020600020905b815481526020019060010190808311610f30575b50505050509050919050565b60016020526000908152604090205481565b60045481565b610f70610ed3565b1515610f7b57600080fd5b610f848161122a565b50565b60408051600160a060020a038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526109c39084906112a7565b60408051600160a060020a0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261108f9085906112a7565b50505050565b6000828201838110156110f2576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082821115611155576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082151561116c575060006110f5565b82820282848281151561117b57fe5b04146110f25760405160e560020a62461bcd0281526004018080602001828103825260218152602001806115216021913960400191505060405180910390fd5b6000808211611214576040805160e560020a62461bcd02815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481151561122157fe5b04949350505050565b600160a060020a038116151561123f57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6112b982600160a060020a0316611471565b151561130f576040805160e560020a62461bcd02815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b6000606083600160a060020a0316836040518082805190602001908083835b6020831061134d5780518252601f19909201916020918201910161132e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146113af576040519150601f19603f3d011682016040523d82523d6000602084013e6113b4565b606091505b5091509150811515611410576040805160e560020a62461bcd02815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b60008151111561108f5780806020019051602081101561142f57600080fd5b5051151561108f5760405160e560020a62461bcd02815260040180806020018281038252602a815260200180611542602a913960400191505060405180910390fd5b6000903b1190565b8154818355818111156109c3576000838152602090206109c391610ed09160079182028101918502015b8082111561151c57805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054821690556000600283018190556003830181905560048301805490921690915560058201805475ffffffffffffffffffffffffffffffffffffffffffff1916905560068201556007016114a3565b509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a7230582092790bd8214de57ecb2eb3cb78ee69d94fbeb22308917ea95dfd886ef41f2c9700290000000000000000000000000000000000000000000000000000000000000002
Deployed Bytecode
0x608060405260043610610110576000357c010000000000000000000000000000000000000000000000000000000090048063715018a6116100a7578063927c774211610076578063927c7742146103fc5780639c1e89d61461047f578063b8606eef146104b2578063f2fde38b146104c757610110565b8063715018a61461031a5780638a72ea6a1461032f5780638da5cb5b146103b65780638f32d59b146103e757610110565b80632b4c1fdc116100e35780632b4c1fdc146102115780634fb64be21461024a5780634fd9efc4146102ca5780635d58bcce146102e757610110565b806309ec6cc7146101155780630adbf7431461015357806315a0ea6a146101a957806317ffc320146101de575b600080fd5b34801561012157600080fd5b5061013f6004803603602081101561013857600080fd5b50356104fa565b604080519115158252519081900360200190f35b610197600480360360a081101561016957600080fd5b50600160a060020a03813581169160208101358216916040820135916060810135916080909101351661063e565b60408051918252519081900360200190f35b3480156101b557600080fd5b506101dc600480360360208110156101cc57600080fd5b5035600160a060020a03166107d9565b005b3480156101ea57600080fd5b506101dc6004803603602081101561020157600080fd5b5035600160a060020a031661087f565b34801561021d57600080fd5b506101976004803603604081101561023457600080fd5b50600160a060020a0381351690602001356109c8565b34801561025657600080fd5b506102746004803603602081101561026d57600080fd5b50356109f8565b60408051600160a060020a03998a168152978916602089015287810196909652606087019490945291909516608085015260a084019490945292151560c083015291151560e08201529051908190036101000190f35b61013f600480360360208110156102e057600080fd5b5035610ac2565b3480156102f357600080fd5b506101976004803603602081101561030a57600080fd5b5035600160a060020a0316610dc0565b34801561032657600080fd5b506101dc610dd2565b34801561033b57600080fd5b506103596004803603602081101561035257600080fd5b5035610e3c565b60408051600160a060020a039a8b168152988a1660208a01528881019790975260608801959095529287166080870152951660a085015293151560c084015292151560e08301526101008201929092529051908190036101200190f35b3480156103c257600080fd5b506103cb610ec3565b60408051600160a060020a039092168252519081900360200190f35b3480156103f357600080fd5b5061013f610ed3565b34801561040857600080fd5b5061042f6004803603602081101561041f57600080fd5b5035600160a060020a0316610ee4565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046b578181015183820152602001610453565b505050509050019250505060405180910390f35b34801561048b57600080fd5b50610197600480360360208110156104a257600080fd5b5035600160a060020a0316610f50565b3480156104be57600080fd5b50610197610f62565b3480156104d357600080fd5b506101dc600480360360208110156104ea57600080fd5b5035600160a060020a0316610f68565b60008060058381548110151561050c57fe5b600091825260209091206007909102016004810154909150600160a060020a0316331461053857600080fd5b600581015460a060020a900460ff16151560011461055557600080fd5b60058101805474ff0000000000000000000000000000000000000000191690558054600160a060020a031615156105bc576002810154604051339180156108fc02916000818181858888f193505050501580156105b6573d6000803e3d6000fd5b506105e6565b6004810154600282015482546105e692600160a060020a039182169291169063ffffffff610f8716565b60028101548154600160a060020a0316600090815260016020526040808220805493909303909255905184917fc28b4aed030bfacc245c0501326e1beb8c0ef0d60e4edc21067fdeb52da2a7aa91a250600192915050565b6000600160a060020a03861615156106615734841461065c57600080fd5b610687565b341561066c57600080fd5b610687600160a060020a03871633308763ffffffff61100716565b506005805490819061069c9060018301611479565b5060006005828154811015156106ae57fe5b60009182526020808320600160a060020a038b1684526001909152604090922054600790910290910191506106e9908663ffffffff61109516565b600160a060020a03808916600081815260016020818152604080842096909655865473ffffffffffffffffffffffffffffffffffffffff19908116909417875586820180548d8716908616179055600287018b905560038088018b905560048801805486163390811790915560058901805474ff000000000000000000000000000000000000000019988d169716969096179690961660a060020a179094556006870188905593825291835283812080549283018155815291822001849055905183917f682fd9923da5632e7c7702dabcfa626195d5f444833bc25f94e418e258e7918691a25095945050505050565b6107e1610ed3565b15156107ec57600080fd5b600160a060020a038116600090815260026020526040812080549082905590811161081657600080fd5b600160a060020a038216151561085957604051339082156108fc029083906000818181858888f19350505050158015610853573d6000803e3d6000fd5b5061087b565b61087b610864610ec3565b600160a060020a038416908363ffffffff610f8716565b5050565b610887610ed3565b151561089257600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091600160a060020a038416916370a0823191602480820192602092909190829003018186803b1580156108f557600080fd5b505afa158015610909573d6000803e3d6000fd5b505050506040513d602081101561091f57600080fd5b5051600160a060020a0383166000908152600160205260408120549192509061094f90839063ffffffff6110fb16565b90506000811161095e57600080fd5b600160a060020a03831615156109a157604051339082156108fc029083906000818181858888f1935050505015801561099b573d6000803e3d6000fd5b506109c3565b6109c36109ac610ec3565b600160a060020a038516908363ffffffff610f8716565b505050565b6003602052816000526040600020818154811015156109e357fe5b90600052602060002001600091509150505481565b600080600080600080600080600060058a815481101515610a1557fe5b6000918252602090912060079091020180546001820154600283015460038401546004808601549054600160a060020a039586169f509385169d50919b5099509091169650909150610a829061271090610a76908a9063ffffffff61115b16565b9063ffffffff6111bb16565b600590910154989a9799509597949693959460ff60a060020a82048116957501000000000000000000000000000000000000000000909204169350915050565b600080600583815481101515610ad457fe5b60009182526020909120600560079092020190810154909150600160a060020a0316331480610b0e57506005810154600160a060020a0316155b1515610b1957600080fd5b600581015460a060020a900460ff161515600114610b3657600080fd5b60058101805474ff00000000000000000000000000000000000000001916905560028101548154600160a060020a0316600090815260016020526040902054610b849163ffffffff6110fb16565b8154600160a060020a03166000908152600160205260408120919091556004546002830154610bc09161271091610a769163ffffffff61115b16565b8254600160a060020a0316600090815260026020526040902054909150610bed908263ffffffff61109516565b8254600160a060020a039081166000908152600260209081526040808320949094553382526003815292812080546001810182559082529290209091018590558254161515610c7f57600282015433906108fc90610c51908463ffffffff6110fb16565b6040518115909202916000818181858888f19350505050158015610c79573d6000803e3d6000fd5b50610cb2565b610cb233610c9a8385600201546110fb90919063ffffffff16565b8454600160a060020a0316919063ffffffff610f8716565b6001820154600160a060020a03161515610d175760038201543414610cd657600080fd5b6004820154604051600160a060020a03909116903480156108fc02916000818181858888f19350505050158015610d11573d6000803e3d6000fd5b50610d52565b3415610d2257600080fd5b600482015460038301546001840154610d5292600160a060020a039182169233929091169063ffffffff61100716565b60058201805475ff0000000000000000000000000000000000000000001916750100000000000000000000000000000000000000000017905560405184907f8d41497c7e1d1f357a01f988d454a86c537c3800ab8da3f91bfa5f5e73a1d5f290600090a25060019392505050565b60026020526000908152604090205481565b610dda610ed3565b1515610de557600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6005805482908110610e4a57fe5b60009182526020909120600790910201805460018201546002830154600384015460048501546005860154600690960154600160a060020a0395861697509385169592949193908216929182169160ff60a060020a82048116927501000000000000000000000000000000000000000000909204169089565b600054600160a060020a03165b90565b600054600160a060020a0316331490565b600160a060020a038116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610f4457602002820191906000526020600020905b815481526020019060010190808311610f30575b50505050509050919050565b60016020526000908152604090205481565b60045481565b610f70610ed3565b1515610f7b57600080fd5b610f848161122a565b50565b60408051600160a060020a038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526109c39084906112a7565b60408051600160a060020a0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261108f9085906112a7565b50505050565b6000828201838110156110f2576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082821115611155576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082151561116c575060006110f5565b82820282848281151561117b57fe5b04146110f25760405160e560020a62461bcd0281526004018080602001828103825260218152602001806115216021913960400191505060405180910390fd5b6000808211611214576040805160e560020a62461bcd02815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481151561122157fe5b04949350505050565b600160a060020a038116151561123f57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6112b982600160a060020a0316611471565b151561130f576040805160e560020a62461bcd02815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b6000606083600160a060020a0316836040518082805190602001908083835b6020831061134d5780518252601f19909201916020918201910161132e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146113af576040519150601f19603f3d011682016040523d82523d6000602084013e6113b4565b606091505b5091509150811515611410576040805160e560020a62461bcd02815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b60008151111561108f5780806020019051602081101561142f57600080fd5b5051151561108f5760405160e560020a62461bcd02815260040180806020018281038252602a815260200180611542602a913960400191505060405180910390fd5b6000903b1190565b8154818355818111156109c3576000838152602090206109c391610ed09160079182028101918502015b8082111561151c57805473ffffffffffffffffffffffffffffffffffffffff199081168255600182018054821690556000600283018190556003830181905560048301805490921690915560058201805475ffffffffffffffffffffffffffffffffffffffffffff1916905560068201556007016114a3565b509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a7230582092790bd8214de57ecb2eb3cb78ee69d94fbeb22308917ea95dfd886ef41f2c970029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000002
-----Decoded View---------------
Arg [0] : _feeBasisPoints (uint256): 2
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000002
Deployed Bytecode Sourcemap
13577:5190:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15571:522;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15571:522:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15571:522:0;;:::i;:::-;;;;;;;;;;;;;;;;;;14446:1117;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;14446:1117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;18386:376;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18386:376:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18386:376:0;-1:-1:-1;;;;;18386:376:0;;:::i;:::-;;17984:394;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17984:394:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17984:394:0;-1:-1:-1;;;;;17984:394:0;;:::i;13793:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13793:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13793:46:0;;;;;;;;:::i;17221:631::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17221:631:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17221:631:0;;:::i;:::-;;;;-1:-1:-1;;;;;17221:631:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16101:1112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16101:1112:0;;:::i;13741:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13741:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13741:45:0;-1:-1:-1;;;;;13741:45:0;;:::i;12805:140::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12805:140:0;;;:::i;14411:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14411:26:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14411:26:0;;:::i;:::-;;;;-1:-1:-1;;;;;14411:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12015:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12015:79:0;;;:::i;:::-;;;;-1:-1:-1;;;;;12015:79:0;;;;;;;;;;;;;;12350:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12350:92:0;;;:::i;17860:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17860:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17860:116:0;-1:-1:-1;;;;;17860:116:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;17860:116:0;;;;;;;;;;;;;;;;;13685:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13685:49:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13685:49:0;-1:-1:-1;;;;;13685:49:0;;:::i;13991:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13991:29:0;;;:::i;13122:109::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13122:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13122:109:0;-1:-1:-1;;;;;13122:109:0;;:::i;15571:522::-;15622:4;15639:20;15662:6;15669:7;15662:15;;;;;;;;;;;;;;;;;;;;;;;15710:9;;;;15662:15;;-1:-1:-1;;;;;;15710:9:0;15696:10;:23;15688:32;;;;;;15739:8;;;;-1:-1:-1;;;15739:8:0;;;;:16;;15751:4;15739:16;15731:25;;;;;;15767:8;;;:16;;-1:-1:-1;;15767:16:0;;;15798:11;;-1:-1:-1;;;;;15798:11:0;:25;15794:177;;;15858:12;;;;15838:33;;:10;;:33;;;;;;;;;15858:12;15838:10;:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15838:33:0;15794:177;;;15935:9;;;;15946:12;;;;15909:11;;15902:57;;-1:-1:-1;;;;;15909:11:0;;;;15935:9;;;15902:57;:32;:57;:::i;:::-;16012:12;;;;15996:11;;-1:-1:-1;;;;;15996:11:0;15981:27;;;;:14;:27;;;;;;:43;;;;;;;;;16040:23;;16055:7;;16040:23;;;-1:-1:-1;16081:4:0;;15571:522;-1:-1:-1;;15571:522:0:o;14446:1117::-;14651:15;-1:-1:-1;;;;;14687:24:0;;;14683:256;;;14740:9;:24;;14732:33;;;;;;14683:256;;;14814:9;:14;14806:23;;;;;;14848:75;-1:-1:-1;;;;;14848:35:0;;14884:10;14904:4;14911:11;14848:75;:35;:75;:::i;:::-;-1:-1:-1;14966:6:0;:13;;;;;14994:15;;;;;;:::i;:::-;;15024:20;15047:6;15054:10;15047:18;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15109:26:0;;;;:14;:26;;;;;;;;15047:18;;;;;;;;-1:-1:-1;15109:43:0;;15140:11;15109:43;:30;:43;:::i;:::-;-1:-1:-1;;;;;15080:26:0;;;;;;;:14;:26;;;;;;;;:72;;;;15167:24;;-1:-1:-1;;15167:24:0;;;;;;;;15206:9;;;:20;;;;;;;;;;;15241:12;;;:26;;;15282:10;;;;:22;;;15319:9;;;:22;;;;15331:10;15319:22;;;;;;15356:15;;;:32;;-1:-1:-1;;15356:32:0;;;;;;;;;15403:15;;;;-1:-1:-1;;;15403:15:0;;;;15433:9;;;:22;;;15470:24;;;;;;;;;27:10:-1;;23:18;;;45:23;;15470:41:0;;;;;;;;;15531:24;;15445:10;;15531:24;;;14446:1117;;;;;;;;:::o;18386:376::-;12227:9;:7;:9::i;:::-;12219:18;;;;;;;;-1:-1:-1;;;;;18472:27:0;;18450:19;18472:27;;;:10;:27;;;;;;;18510:31;;;;18472:27;18560:15;;18552:24;;;;;;-1:-1:-1;;;;;18591:29:0;;;18587:168;;;18637:32;;:10;;:32;;;;;18657:11;;18637:32;;;;18657:11;18637:10;:32;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18637:32:0;18587:168;;;18702:41;18722:7;:5;:7::i;:::-;-1:-1:-1;;;;;18702:19:0;;;18731:11;18702:41;:19;:41;:::i;:::-;12248:1;18386:376;:::o;17984:394::-;12227:9;:7;:9::i;:::-;12219:18;;;;;;;;18069:31;;;;;;18094:4;18069:31;;;;;;18051:15;;-1:-1:-1;;;;;18069:16:0;;;;;:31;;;;;;;;;;;;;;;:16;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;18069:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18069:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18069:31:0;-1:-1:-1;;;;;18140:31:0;;18111:14;18140:31;;;:14;18069:31;18140;;;;;18069;;-1:-1:-1;18111:14:0;18128:44;;18069:31;;18128:44;:11;:44;:::i;:::-;18111:61;-1:-1:-1;18200:1:0;18191:10;;18183:19;;;;;;-1:-1:-1;;;;;18217:29:0;;;18213:158;;;18263:27;;:10;;:27;;;;;18283:6;;18263:27;;;;18283:6;18263:10;:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18263:27:0;18213:158;;;18323:36;18343:7;:5;:7::i;:::-;-1:-1:-1;;;;;18323:19:0;;;18352:6;18323:36;:19;:36;:::i;:::-;12248:1;;17984:394;:::o;13793:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17221:631::-;17293:18;17322:16;17349:19;17379:17;17407:16;17434:12;17457;17480:15;17514:20;17537:6;17544:7;17537:15;;;;;;;;;;;;;;;;;;;;;;;17576:11;;;17609:9;;;17643:12;;;;17678:10;;;;17710:9;;;;;17754:14;;-1:-1:-1;;;;;17576:11:0;;;;-1:-1:-1;17609:9:0;;;;-1:-1:-1;17643:12:0;;-1:-1:-1;17678:10:0;-1:-1:-1;17710:9:0;;;;-1:-1:-1;17537:15:0;;-1:-1:-1;17737:43:0;;17774:5;;17737:32;;17643:12;;17737:32;:16;:32;:::i;:::-;:36;:43;:36;:43;:::i;:::-;17801:8;;;;;17221:631;;;;-1:-1:-1;17221:631:0;;;;;;17730:50;17801:8;-1:-1:-1;;;17801:8:0;;;;;17833:11;;;;;;-1:-1:-1;17221:631:0;-1:-1:-1;;17221:631:0:o;16101:1112::-;16153:4;16170:20;16193:6;16200:7;16193:15;;;;;;;;;;;;;;;;;;16227;16193;;;;;16227;;;;16193;;-1:-1:-1;;;;;;16227:15:0;16246:10;16227:29;;:62;;-1:-1:-1;16260:15:0;;;;-1:-1:-1;;;;;16260:15:0;:29;16227:62;16219:71;;;;;;;;16309:8;;;;-1:-1:-1;;;16309:8:0;;;;:16;;16321:4;16309:16;16301:25;;;;;;16337:8;;;:16;;-1:-1:-1;;16337:16:0;;;16426:12;;;;16409:11;;-1:-1:-1;;;;;16409:11:0;16348:5;16394:27;;;16337:16;16394:27;;;;;;:45;;;:31;:45;:::i;:::-;16379:11;;-1:-1:-1;;;;;16379:11:0;16364:27;;;;:14;:27;;;;;:75;;;;16481:14;;16464:12;;;;:43;;16501:5;;16464:32;;;:16;:32;:::i;:43::-;16555:11;;-1:-1:-1;;;;;16555:11:0;16544:23;;;;:10;:23;;;;;;16450:57;;-1:-1:-1;16544:32:0;;16450:57;16544:32;:27;:32;:::i;:::-;16529:11;;-1:-1:-1;;;;;16529:11:0;;;16518:23;;;;:10;:23;;;;;;;;:58;;;;16600:10;16587:24;;:12;:24;;;;;27:10:-1;;16529:11:0;23:18:-1;;45:23;;16587:38:0;;;;;;;;;;;;16642:11;;;:25;16638:198;;;16704:12;;;;16684:10;;:42;;16704:21;;16721:3;16704:21;:16;:21;:::i;:::-;16684:42;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16684:42:0;16638:198;;;16757:67;16790:10;16802:21;16819:3;16802:1;:12;;;:16;;:21;;;;:::i;:::-;16764:11;;-1:-1:-1;;;;;16764:11:0;;16757:67;;:32;:67;:::i;:::-;16852:9;;;;-1:-1:-1;;;;;16852:9:0;:23;16848:272;;;16913:10;;;;16900:9;:23;16892:32;;;;;;16939:9;;;;:29;;-1:-1:-1;;;;;16939:9:0;;;;16958;16939:29;;;;;:9;:29;:9;:29;16958:9;16939;:29;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16939:29:0;16848:272;;;17009:9;:14;17001:23;;;;;;17086:9;;;;17097:10;;;;17086:9;17046;;;17039:69;;-1:-1:-1;;;;;17046:9:0;;;;17074:10;;17086:9;;;;17039:69;:34;:69;:::i;:::-;17130:11;;;:18;;-1:-1:-1;;17130:18:0;;;;;17164:19;;17175:7;;17164:19;;17130:18;;17164:19;-1:-1:-1;17201:4:0;;16101:1112;-1:-1:-1;;;16101:1112:0:o;13741:45::-;;;;;;;;;;;;;:::o;12805:140::-;12227:9;:7;:9::i;:::-;12219:18;;;;;;;;12904:1;12888:6;;12867:40;;-1:-1:-1;;;;;12888:6:0;;;;12867:40;;12904:1;;12867:40;12935:1;12918:19;;-1:-1:-1;;12918:19:0;;;12805:140::o;14411:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14411:26:0;;;;-1:-1:-1;14411:26:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;14411:26:0;;;;;;;;;;;;:::o;12015:79::-;12053:7;12080:6;-1:-1:-1;;;;;12080:6:0;12015:79;;:::o;12350:92::-;12390:4;12428:6;-1:-1:-1;;;;;12428:6:0;12414:10;:20;;12350:92::o;17860:116::-;-1:-1:-1;;;;;17950:18:0;;;;;;:12;:18;;;;;;;;;17943:25;;;;;;;;;;;;;;;;;17920:13;;17943:25;;;17950:18;17943:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17860:116;;;:::o;13685:49::-;;;;;;;;;;;;;:::o;13991:29::-;;;;:::o;13122:109::-;12227:9;:7;:9::i;:::-;12219:18;;;;;;;;13195:28;13214:8;13195:18;:28::i;:::-;13122:109;:::o;8244:176::-;8353:58;;;-1:-1:-1;;;;;8353:58:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;8353:58:0;;;;;;;;25:18:-1;;61:17;;8353:58:0;182:15:-1;8376:23:0;179:29:-1;160:49;;8327:85:0;;8346:5;;8327:18;:85::i;8428:204::-;8555:68;;;-1:-1:-1;;;;;8555:68:0;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;8555:68:0;;;;;;;;25:18:-1;;61:17;;8555:68:0;182:15:-1;8578:27:0;179:29:-1;160:49;;8529:95:0;;8548:5;;8529:18;:95::i;:::-;8428:204;;;;:::o;3646:181::-;3704:7;3736:5;;;3760:6;;;;3752:46;;;;;-1:-1:-1;;;;;3752:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3818:1;-1:-1:-1;3646:181:0;;;;;:::o;4102:184::-;4160:7;4188:6;;;;4180:49;;;;;-1:-1:-1;;;;;4180:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4252:5:0;;;4102:184::o;4537:470::-;4595:7;4839:6;;4835:47;;;-1:-1:-1;4869:1:0;4862:8;;4835:47;4906:5;;;4910:1;4906;:5;4930;;;;;;;;:10;4922:56;;;;-1:-1:-1;;;;;4922:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5475:333;5533:7;5628:5;;;5620:44;;;;;-1:-1:-1;;;;;5620:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5675:9;5691:1;5687;:5;;;;;;;;;5475:333;-1:-1:-1;;;;5475:333:0:o;13381:187::-;-1:-1:-1;;;;;13455:22:0;;;;13447:31;;;;;;13515:6;;;13494:38;;-1:-1:-1;;;;;13494:38:0;;;;13515:6;;;13494:38;;;13543:6;:17;;-1:-1:-1;;13543:17:0;-1:-1:-1;;;;;13543:17:0;;;;;;;;;;13381:187::o;10238:1114::-;10842:27;10850:5;-1:-1:-1;;;;;10842:25:0;;:27::i;:::-;10834:71;;;;;;;-1:-1:-1;;;;;10834:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10979:12;10993:23;11028:5;-1:-1:-1;;;;;11020:19:0;11040:4;11020:25;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11020:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;10978:67:0;;;;11064:7;11056:52;;;;;;;-1:-1:-1;;;;;11056:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11145:1;11125:10;:17;:21;11121:224;;;11267:10;11256:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11256:30:0;11248:85;;;;;;-1:-1:-1;;;;;11248:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6955:422;7015:4;7322:20;;7361:8;;6955:422::o;13577:5190::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13577:5190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13577:5190:0;;;;;;;;;;;;;;
Swarm Source
bzzr://92790bd8214de57ecb2eb3cb78ee69d94fbeb22308917ea95dfd886ef41f2c97
Loading...
Loading
Loading...
Loading
Net Worth in USD
$2,516.30
Net Worth in ETH
1.366658
Token Allocations
ETH
87.51%
SAI
3.51%
WBTC
3.03%
Others
5.96%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 87.51% | $1,844.21 | 1.194 | $2,201.9 | |
| ETH | 3.51% | $9.9 | 8.9202 | $88.31 | |
| ETH | 3.03% | $76,149 | 0.001 | $76.15 | |
| ETH | 1.91% | $0.999825 | 48 | $47.99 | |
| ETH | 1.05% | $1,844.21 | 0.0143 | $26.39 | |
| ETH | 0.95% | $1,322.9 | 0.018 | $23.81 | |
| ETH | 0.60% | $0.075571 | 200 | $15.11 | |
| ETH | 0.44% | $0.998371 | 11.01 | $10.99 | |
| ETH | 0.27% | $6.83 | 1 | $6.83 | |
| ETH | 0.24% | $0.00 | 1,161.5286 | $0.00 | |
| ETH | 0.17% | $2,747.3 | 0.0016 | $4.4 | |
| ETH | 0.13% | $0.271213 | 12.3678 | $3.35 | |
| ETH | 0.06% | $0.168201 | 8.5754 | $1.44 | |
| ETH | 0.05% | $0.283987 | 4 | $1.14 | |
| ETH | 0.04% | $0.097232 | 10 | $0.9723 | |
| ETH | 0.03% | $0.362882 | 1.9008 | $0.6897 | |
| ETH | 0.02% | $0.252357 | 2 | $0.5047 | |
| ETH | <0.01% | $0.008238 | 17.4 | $0.1433 | |
| BSC | <0.01% | $0.000534 | 345 | $0.184 |
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.