Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 38 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Mint And Buy Ass... | 14814906 | 1379 days ago | IN | 0 ETH | 0.00877302 | ||||
| Mint And Buy Ass... | 14814881 | 1379 days ago | IN | 0 ETH | 0.01006431 | ||||
| Buy Asset | 14040384 | 1500 days ago | IN | 0 ETH | 0.02028408 | ||||
| Buy Asset | 14040283 | 1500 days ago | IN | 0 ETH | 0.02165927 | ||||
| Buy Asset | 13754217 | 1545 days ago | IN | 0 ETH | 0.02135688 | ||||
| Buy Asset | 13735812 | 1548 days ago | IN | 0 ETH | 0.02419033 | ||||
| Mint And Execute... | 13734275 | 1548 days ago | IN | 0 ETH | 0.05816207 | ||||
| Mint And Buy Ass... | 13723884 | 1549 days ago | IN | 0 ETH | 0.0573346 | ||||
| Mint And Buy Ass... | 13695119 | 1554 days ago | IN | 0 ETH | 0.04367266 | ||||
| Buy Asset | 13654669 | 1561 days ago | IN | 0 ETH | 0.03342271 | ||||
| Buy Asset | 13654630 | 1561 days ago | IN | 0 ETH | 0.01908768 | ||||
| Mint And Buy Ass... | 13613368 | 1567 days ago | IN | 0 ETH | 0.03858745 | ||||
| Mint And Buy Ass... | 13613317 | 1567 days ago | IN | 0 ETH | 0.0368913 | ||||
| Mint And Buy Ass... | 13613165 | 1567 days ago | IN | 0 ETH | 0.04058469 | ||||
| Mint And Buy Ass... | 13612738 | 1567 days ago | IN | 0 ETH | 0.04676062 | ||||
| Mint And Buy Ass... | 13599057 | 1569 days ago | IN | 0 ETH | 0.07481542 | ||||
| Mint And Buy Ass... | 13596043 | 1570 days ago | IN | 0 ETH | 0.07675087 | ||||
| Buy Asset | 13596042 | 1570 days ago | IN | 0 ETH | 0.03466837 | ||||
| Mint And Buy Ass... | 13596021 | 1570 days ago | IN | 0 ETH | 0.06398834 | ||||
| Mint And Buy Ass... | 13595936 | 1570 days ago | IN | 0 ETH | 0.08104333 | ||||
| Mint And Buy Ass... | 13595934 | 1570 days ago | IN | 0 ETH | 0.07410715 | ||||
| Buy Asset | 13595905 | 1570 days ago | IN | 0 ETH | 0.02968839 | ||||
| Mint And Buy Ass... | 13595517 | 1570 days ago | IN | 0 ETH | 0.02421991 | ||||
| Mint And Buy Ass... | 13595253 | 1570 days ago | IN | 0 ETH | 0.05293656 | ||||
| Mint And Buy Ass... | 13594707 | 1570 days ago | IN | 0 ETH | 0.05161314 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Trade
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-11-03
*/
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.4;
interface IERC165 {
/**
* @dev Returns true if this contract implements the interface defined by
* `interfaceId`. See the corresponding
* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
* to learn more about how these ids are created.
*
* This function call must use less than 30 000 gas.
*/
function supportsInterface(bytes4 interfaceId) external view returns (bool);
}
/**
* @dev Required interface of an ERC721 compliant contract.
*/
interface IERC721 is IERC165 {
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
/**
* @dev Returns the number of NFTs in `owner`'s account.
*/
function royaltyFee(uint256 tokenId) external view returns(uint256);
function getCreator(uint256 tokenId) external view returns(address);
/**
* @dev Returns the owner of the NFT specified by `tokenId`.
*/
function ownerOf(uint256 tokenId) external view returns (address owner);
/**
* @dev Transfers a specific NFT (`tokenId`) from one account (`from`) to
* another (`to`).
*
*
*
* Requirements:
* - `from`, `to` cannot be zero.
* - `tokenId` must be owned by `from`.
* - If the caller is not `from`, it must be have been allowed to move this
* NFT by either {approve} or {setApprovalForAll}.
*/
function safeTransferFrom(address from, address to, uint256 tokenId) external;
function contractOwner() external view returns(address owner);
function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
function mintAndTransfer(address from, address to, uint256 itemId, uint256 fee, string memory _tokenURI, bytes memory data)external returns(uint256);
}
interface IERC1155 is IERC165 {
event TransferSingle(address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _value);
event TransferBatch(address indexed _operator, address indexed _from, address indexed _to, uint256[] _ids, uint256[] _values);
event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
event URI(string _value, uint256 indexed _id);
/**
@notice Transfers `_value` amount of an `_id` from the `_from` address to the `_to` address specified (with safety call).
@dev Caller must be approved to manage the tokens being transferred out of the `_from` account (see "Approval" section of the standard).
MUST revert if `_to` is the zero address.
MUST revert if balance of holder for token `_id` is lower than the `_value` sent.
MUST revert on any other error.
MUST emit the `TransferSingle` event to reflect the balance change (see "Safe Transfer Rules" section of the standard).
After the above conditions are met, this function MUST check if `_to` is a smart contract (e.g. code size > 0). If so, it MUST call `onERC1155Received` on `_to` and act appropriately (see "Safe Transfer Rules" section of the standard).
@param _from Source address
@param _to Target address
@param _id ID of the token type
@param _value Transfer amount
@param _data Additional data with no specified format, MUST be sent unaltered in call to `onERC1155Received` on `_to`
*/
function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value, bytes calldata _data) external;
function royaltyFee(uint256 tokenId) external view returns(uint256);
function getCreator(uint256 tokenId) external view returns(address);
function mintAndTransfer(address from, address to, uint256 itemId, uint256 fee, uint256 _supply, string memory _tokenURI, uint256 qty, bytes memory data)external returns(uint256);
}
/**
* @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.
*
* IMPORTANT: 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);
event Transfer(address indexed from, address indexed to, uint256 value);
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");
return a - b;
}
/**
* @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) {
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) {
require(b > 0, "SafeMath: division by zero");
return a / b;
}
/**
* @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;
}
}
contract TransferProxy {
function erc721safeTransferFrom(IERC721 token, address from, address to, uint256 tokenId) external {
token.safeTransferFrom(from, to, tokenId);
}
function erc1155safeTransferFrom(IERC1155 token, address from, address to, uint256 id, uint256 value, bytes calldata data) external {
token.safeTransferFrom(from, to, id, value, data);
}
function erc20safeTransferFrom(IERC20 token, address from, address to, uint256 value) external {
require(token.transferFrom(from, to, value), "failure while transferring");
}
function erc721mintAndTransfer(IERC721 token, address from, address to, uint256 tokenId, uint256 fee, string memory tokenURI, bytes calldata data) external {
token.mintAndTransfer(from, to,tokenId, fee, tokenURI, data);
}
function erc1155mintAndTransfer(IERC1155 token, address from, address to, uint256 tokenId, uint256 fee , uint256 supply, string memory tokenURI, uint256 qty, bytes calldata data) external {
token.mintAndTransfer(from, to, tokenId, fee, supply, tokenURI, qty, data);
}
}
contract Trade {
using SafeMath for uint256;
enum BuyingAssetType {ERC1155, ERC721 , LazyMintERC1155, LazyMintERC721}
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event SellerFee(uint8 sellerFee);
event BuyerFee(uint8 buyerFee);
event BuyAsset(address indexed assetOwner , uint256 indexed tokenId, uint256 quantity, address indexed buyer);
event ExecuteBid(address indexed assetOwner , uint256 indexed tokenId, uint256 quantity, address indexed buyer);
event DeprecatedProxyChanged( TransferProxy previousDeprecatedProxy, TransferProxy newDeprecatedProxy);
uint8 private buyerFeePermille;
uint8 private sellerFeePermille;
TransferProxy public transferProxy;
TransferProxy public DeprecatedProxy;
address public owner;
struct Fee {
uint platformFee;
uint assetFee;
uint royaltyFee;
uint price;
address tokenCreator;
}
/* An ECDSA signature. */
struct Sign {
uint8 v;
bytes32 r;
bytes32 s;
}
struct Order {
address seller;
address buyer;
address erc20Address;
address nftAddress;
BuyingAssetType nftType;
uint unitPrice;
uint amount;
uint tokenId;
uint256 supply;
string tokenURI;
uint256 fee;
bool isDeprecatedProxy;
uint qty;
}
modifier onlyOwner() {
require(owner == msg.sender, "Ownable: caller is not the owner");
_;
}
constructor (uint8 _buyerFee, uint8 _sellerFee, TransferProxy _transferProxy, TransferProxy _deprecatedProxy) {
buyerFeePermille = _buyerFee;
sellerFeePermille = _sellerFee;
transferProxy = _transferProxy;
DeprecatedProxy = _deprecatedProxy;
owner = msg.sender;
}
function buyerServiceFee() public view virtual returns (uint8) {
return buyerFeePermille;
}
function sellerServiceFee() public view virtual returns (uint8) {
return sellerFeePermille;
}
function setBuyerServiceFee(uint8 _buyerFee) public onlyOwner returns(bool) {
buyerFeePermille = _buyerFee;
emit BuyerFee(buyerFeePermille);
return true;
}
function setSellerServiceFee(uint8 _sellerFee) public onlyOwner returns(bool) {
sellerFeePermille = _sellerFee;
emit SellerFee(sellerFeePermille);
return true;
}
function ownerTransfership(address newOwner) public onlyOwner returns(bool){
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
return true;
}
function getSigner(bytes32 hash, Sign memory sign) internal pure returns(address) {
return ecrecover(keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)), sign.v, sign.r, sign.s);
}
function verifySellerSign(address seller, uint256 tokenId, uint amount, address paymentAssetAddress, address assetAddress, Sign memory sign) internal pure {
bytes32 hash = keccak256(abi.encodePacked(assetAddress,tokenId,paymentAssetAddress,amount));
require(seller == getSigner(hash, sign), "seller sign verification failed");
}
function verifyBuyerSign(address buyer, uint256 tokenId, uint amount, address paymentAssetAddress, address assetAddress, uint qty, Sign memory sign) internal pure {
bytes32 hash = keccak256(abi.encodePacked(assetAddress,tokenId,paymentAssetAddress,amount,qty));
require(buyer == getSigner(hash, sign), "buyer sign verification failed");
}
function verifyOwnerSign(address buyingAssetAddress,address seller,string memory tokenURI, Sign memory sign) internal view {
address _owner = IERC721(buyingAssetAddress).contractOwner();
bytes32 hash = keccak256(abi.encodePacked(seller,tokenURI));
require(_owner == getSigner(hash, sign), "Owner sign verification failed");
}
function getFees( Order memory order) internal view returns(Fee memory){
address tokenCreator;
uint platformFee;
uint royaltyFee;
uint assetFee;
uint royaltyPermille;
uint price = order.amount.mul(1000).div((1000+buyerFeePermille));
uint buyerFee = order.amount.sub(price);
uint sellerFee = price.mul(sellerFeePermille).div(1000);
platformFee = buyerFee.add(sellerFee);
if(order.nftType == BuyingAssetType.ERC721) {
royaltyPermille = ((IERC721(order.nftAddress).royaltyFee(order.tokenId)));
tokenCreator = ((IERC721(order.nftAddress).getCreator(order.tokenId)));
}
if(order.nftType == BuyingAssetType.ERC1155) {
royaltyPermille = ((IERC1155(order.nftAddress).royaltyFee(order.tokenId)));
tokenCreator = ((IERC1155(order.nftAddress).getCreator(order.tokenId)));
}
if(order.nftType == BuyingAssetType.LazyMintERC721) {
royaltyPermille = order.fee;
tokenCreator = order.seller;
}
if(order.nftType == BuyingAssetType.LazyMintERC1155) {
royaltyPermille = order.fee;
tokenCreator = order.seller;
}
royaltyFee = price.mul(royaltyPermille).div(1000);
assetFee = price.sub(royaltyFee).sub(sellerFee);
return Fee(platformFee, assetFee, royaltyFee, price, tokenCreator);
}
function tradeAsset(Order memory order, Fee memory fee) internal virtual {
TransferProxy previousTransferProxy = transferProxy;
if(order.isDeprecatedProxy){
transferProxy = DeprecatedProxy;
}
if(order.nftType == BuyingAssetType.ERC721) {
transferProxy.erc721safeTransferFrom(IERC721(order.nftAddress), order.seller, order.buyer, order.tokenId);
}
if(order.nftType == BuyingAssetType.ERC1155) {
transferProxy.erc1155safeTransferFrom(IERC1155(order.nftAddress), order.seller, order.buyer, order.tokenId, order.qty, "");
}
if(order.nftType == BuyingAssetType.LazyMintERC721){
transferProxy.erc721mintAndTransfer(IERC721(order.nftAddress), order.seller, order.buyer, order.tokenId, order.fee,order.tokenURI,"" );
}
if(order.nftType == BuyingAssetType.LazyMintERC1155){
transferProxy.erc1155mintAndTransfer(IERC1155(order.nftAddress), order.seller, order.buyer, order.tokenId, order.fee, order.supply,order.tokenURI,order.qty,"" );
}
if(fee.platformFee > 0) {
transferProxy.erc20safeTransferFrom(IERC20(order.erc20Address), order.buyer, owner, fee.platformFee);
}
if(fee.royaltyFee > 0) {
transferProxy.erc20safeTransferFrom(IERC20(order.erc20Address), order.buyer, fee.tokenCreator, fee.royaltyFee);
}
transferProxy.erc20safeTransferFrom(IERC20(order.erc20Address), order.buyer, order.seller, fee.assetFee);
if(order.isDeprecatedProxy){
transferProxy = previousTransferProxy;
}
}
function mintAndBuyAsset(Order memory order, Sign memory ownerSign, Sign memory sign) public returns(bool){
Fee memory fee = getFees(order);
require((fee.price >= order.unitPrice * order.qty), "Paid invalid amount");
verifyOwnerSign(order.nftAddress, order.seller, order.tokenURI, ownerSign);
verifySellerSign(order.seller, order.tokenId, order.unitPrice, order.erc20Address, order.nftAddress, sign);
order.buyer = msg.sender;
tradeAsset(order, fee);
emit BuyAsset(order.seller , order.tokenId, order.qty, msg.sender);
return true;
}
function mintAndExecuteBid(Order memory order, Sign memory ownerSign, Sign memory sign) public returns(bool){
Fee memory fee = getFees(order);
require((fee.price >= order.unitPrice * order.qty), "Paid invalid amount");
verifyOwnerSign(order.nftAddress,order.seller, order.tokenURI, ownerSign);
verifyBuyerSign(order.buyer, order.tokenId, order.amount, order.erc20Address, order.nftAddress, order.qty,sign);
order.seller = msg.sender;
tradeAsset(order, fee);
emit ExecuteBid(order.seller , order.tokenId, order.qty, msg.sender);
return true;
}
function buyAsset(Order memory order, Sign memory sign) public returns(bool) {
Fee memory fee = getFees(order);
require((fee.price >= order.unitPrice * order.qty), "Paid invalid amount");
verifySellerSign(order.seller, order.tokenId, order.unitPrice, order.erc20Address, order.nftAddress, sign);
order.buyer = msg.sender;
tradeAsset(order, fee);
emit BuyAsset(order.seller , order.tokenId, order.qty, msg.sender);
return true;
}
function executeBid(Order memory order, Sign memory sign) public returns(bool) {
Fee memory fee = getFees(order);
verifyBuyerSign(order.buyer, order.tokenId, order.amount, order.erc20Address, order.nftAddress, order.qty, sign);
order.seller = msg.sender;
tradeAsset(order, fee);
emit ExecuteBid(msg.sender , order.tokenId, order.qty, order.buyer);
return true;
}
function setDeprecatedProxy(TransferProxy _deprecatedProxy) public onlyOwner returns(bool) {
emit DeprecatedProxyChanged(DeprecatedProxy, _deprecatedProxy);
DeprecatedProxy = _deprecatedProxy;
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint8","name":"_buyerFee","type":"uint8"},{"internalType":"uint8","name":"_sellerFee","type":"uint8"},{"internalType":"contract TransferProxy","name":"_transferProxy","type":"address"},{"internalType":"contract TransferProxy","name":"_deprecatedProxy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"assetOwner","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"quantity","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"}],"name":"BuyAsset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"buyerFee","type":"uint8"}],"name":"BuyerFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract TransferProxy","name":"previousDeprecatedProxy","type":"address"},{"indexed":false,"internalType":"contract TransferProxy","name":"newDeprecatedProxy","type":"address"}],"name":"DeprecatedProxyChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"assetOwner","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"quantity","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"}],"name":"ExecuteBid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"sellerFee","type":"uint8"}],"name":"SellerFee","type":"event"},{"inputs":[],"name":"DeprecatedProxy","outputs":[{"internalType":"contract TransferProxy","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"erc20Address","type":"address"},{"internalType":"address","name":"nftAddress","type":"address"},{"internalType":"enum Trade.BuyingAssetType","name":"nftType","type":"uint8"},{"internalType":"uint256","name":"unitPrice","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"bool","name":"isDeprecatedProxy","type":"bool"},{"internalType":"uint256","name":"qty","type":"uint256"}],"internalType":"struct Trade.Order","name":"order","type":"tuple"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Trade.Sign","name":"sign","type":"tuple"}],"name":"buyAsset","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyerServiceFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"erc20Address","type":"address"},{"internalType":"address","name":"nftAddress","type":"address"},{"internalType":"enum Trade.BuyingAssetType","name":"nftType","type":"uint8"},{"internalType":"uint256","name":"unitPrice","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"bool","name":"isDeprecatedProxy","type":"bool"},{"internalType":"uint256","name":"qty","type":"uint256"}],"internalType":"struct Trade.Order","name":"order","type":"tuple"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Trade.Sign","name":"sign","type":"tuple"}],"name":"executeBid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"erc20Address","type":"address"},{"internalType":"address","name":"nftAddress","type":"address"},{"internalType":"enum Trade.BuyingAssetType","name":"nftType","type":"uint8"},{"internalType":"uint256","name":"unitPrice","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"bool","name":"isDeprecatedProxy","type":"bool"},{"internalType":"uint256","name":"qty","type":"uint256"}],"internalType":"struct Trade.Order","name":"order","type":"tuple"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Trade.Sign","name":"ownerSign","type":"tuple"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Trade.Sign","name":"sign","type":"tuple"}],"name":"mintAndBuyAsset","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"erc20Address","type":"address"},{"internalType":"address","name":"nftAddress","type":"address"},{"internalType":"enum Trade.BuyingAssetType","name":"nftType","type":"uint8"},{"internalType":"uint256","name":"unitPrice","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"bool","name":"isDeprecatedProxy","type":"bool"},{"internalType":"uint256","name":"qty","type":"uint256"}],"internalType":"struct Trade.Order","name":"order","type":"tuple"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Trade.Sign","name":"ownerSign","type":"tuple"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct Trade.Sign","name":"sign","type":"tuple"}],"name":"mintAndExecuteBid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"ownerTransfership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellerServiceFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_buyerFee","type":"uint8"}],"name":"setBuyerServiceFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TransferProxy","name":"_deprecatedProxy","type":"address"}],"name":"setDeprecatedProxy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_sellerFee","type":"uint8"}],"name":"setSellerServiceFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferProxy","outputs":[{"internalType":"contract TransferProxy","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b5060405162001d5e38038062001d5e8339810160408190526200003491620000cf565b600080546001600160a01b03938416620100000262010000600160b01b031960ff9687166101000261ffff19909316969097169590951717949094169290921790925560018054919092166001600160a01b03199182161790915560028054909116331790556200012b565b80516001600160a01b0381168114620000b857600080fd5b919050565b805160ff81168114620000b857600080fd5b60008060008060808587031215620000e5578384fd5b620000f085620000bd565b93506200010060208601620000bd565b92506200011060408601620000a0565b91506200012060608601620000a0565b905092959194509250565b611c23806200013b6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636fdc202f1161008c578063a3667c7b11610066578063a3667c7b146101b5578063a96b446d146101c8578063c5cf22a1146101db578063ca16976a146101ee57600080fd5b80636fdc202f146101845780638da5cb5b146101975780639c66809d146101aa57600080fd5b806322b142c7146100d45780632eab605c146100fc5780635f6563e11461010f57806360085da61461013a57806363b4b688146101585780636e667db31461016b575b600080fd5b6100e76100e23660046117e9565b610201565b60405190151581526020015b60405180910390f35b6100e761010a36600461186e565b6102a0565b600154610122906001600160a01b031681565b6040516001600160a01b0390911681526020016100f3565b600054610100900460ff165b60405160ff90911681526020016100f3565b6100e761016636600461186e565b61038a565b600054610122906201000090046001600160a01b031681565b6100e76101923660046117e9565b610468565b600254610122906001600160a01b031681565b60005460ff16610146565b6100e76101c33660046118e4565b610559565b6100e76101d63660046118e4565b6105df565b6100e76101e9366004611821565b61064e565b6100e76101fc366004611821565b6106f8565b6002546000906001600160a01b031633146102375760405162461bcd60e51b815260040161022e90611a86565b60405180910390fd5b600154604080516001600160a01b03928316815291841660208301527f6e1f9562a03a7e4abd27403ad1531e3b102a6b79eacba7f686070109d2cd4351910160405180910390a150600180546001600160a01b0319166001600160a01b0383161781555b919050565b6000806102ac856107ba565b90508461018001518560a001516102c39190611b43565b816060015110156102e65760405162461bcd60e51b815260040161022e90611a59565b6102ff8560600151866000015187610120015187610bd7565b61032185600001518660e001518760a001518860400151896060015188610ceb565b3360208601526103318582610db0565b60e085015185516101808701516040519081523392916001600160a01b0316907fb10197cef009fd301a90b892d25451c22c3701eb18ee2df1250d31e514fff394906020015b60405180910390a4506001949350505050565b600080610396856107ba565b90508461018001518560a001516103ad9190611b43565b816060015110156103d05760405162461bcd60e51b815260040161022e90611a59565b6103e98560600151866000015187610120015187610bd7565b61041185602001518660e001518760c00151886040015189606001518a6101800151896112b3565b33855261041e8582610db0565b60e085015185516101808701516040519081523392916001600160a01b0316907fec34853c156da04e4792f1c735112ae54e5ed52bac58db5014b26746f306a36290602001610377565b6002546000906001600160a01b031633146104955760405162461bcd60e51b815260040161022e90611a86565b6001600160a01b0382166104fa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161022e565b6002546040516001600160a01b038085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350600280546001600160a01b0383166001600160a01b03199091161790556001919050565b6002546000906001600160a01b031633146105865760405162461bcd60e51b815260040161022e90611a86565b6000805461ff00191661010060ff8581168202929092179283905560405192041681527f04e959c7352d9eda8a6d989e4fee25ff0bf44c87386b7259d8500343c4e9992e906020015b60405180910390a1506001919050565b6002546000906001600160a01b0316331461060c5760405162461bcd60e51b815260040161022e90611a86565b6000805460ff191660ff84169081179091556040519081527f1715ed10763088cbfba08a6ecfb6e5894eac73040cb1899d10d3f96ced2bd0ef906020016105cf565b60008061065a846107ba565b905061068484602001518560e001518660c0015187604001518860600151896101800151896112b3565b3384526106918482610db0565b83602001516001600160a01b03168460e00151336001600160a01b03167fec34853c156da04e4792f1c735112ae54e5ed52bac58db5014b26746f306a3628761018001516040516106e491815260200190565b60405180910390a460019150505b92915050565b600080610704846107ba565b90508361018001518460a0015161071b9190611b43565b8160600151101561073e5760405162461bcd60e51b815260040161022e90611a59565b61076084600001518560e001518660a001518760400151886060015188610ceb565b3360208501526107708482610db0565b60e084015184516101808601516040519081523392916001600160a01b0316907fb10197cef009fd301a90b892d25451c22c3701eb18ee2df1250d31e514fff394906020016106e4565b6107f56040518060a001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6000805481908190819081908190610839906108169060ff166103e8611ae5565b61ffff166108336103e88b60c0015161138090919063ffffffff16565b90611406565b90506000610854828a60c0015161146190919063ffffffff16565b6000805491925090610877906103e890610833908690610100900460ff16611380565b905061088382826114bd565b965060018a6080015160038111156108ab57634e487b7160e01b600052602160045260246000fd5b14156109c55760608a015160e08b015160405163c57dc23560e01b81526001600160a01b039092169163c57dc235916108ea9160040190815260200190565b60206040518083038186803b15801561090257600080fd5b505afa158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a91906118cc565b935089606001516001600160a01b031663d48e638a8b60e001516040518263ffffffff1660e01b815260040161097291815260200190565b60206040518083038186803b15801561098a57600080fd5b505afa15801561099e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c29190611805565b97505b60008a6080015160038111156109eb57634e487b7160e01b600052602160045260246000fd5b1415610b055760608a015160e08b015160405163c57dc23560e01b81526001600160a01b039092169163c57dc23591610a2a9160040190815260200190565b60206040518083038186803b158015610a4257600080fd5b505afa158015610a56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7a91906118cc565b935089606001516001600160a01b031663d48e638a8b60e001516040518263ffffffff1660e01b8152600401610ab291815260200190565b60206040518083038186803b158015610aca57600080fd5b505afa158015610ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b029190611805565b97505b60038a608001516003811115610b2b57634e487b7160e01b600052602160045260246000fd5b1415610b3e576101408a01518a51985093505b60028a608001516003811115610b6457634e487b7160e01b600052602160045260246000fd5b1415610b77576101408a01518a51985093505b610b876103e86108338587611380565b9550610b9d81610b978589611461565b90611461565b6040805160a08101825298895260208901919091528701959095525060608501525050506001600160a01b03909116608082015292915050565b6000846001600160a01b031663ce606ee06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1257600080fd5b505afa158015610c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4a9190611805565b905060008484604051602001610c6192919061192a565b604051602081830303815290604052805190602001209050610c83818461151c565b6001600160a01b0316826001600160a01b031614610ce35760405162461bcd60e51b815260206004820152601e60248201527f4f776e6572207369676e20766572696669636174696f6e206661696c65640000604482015260640161022e565b505050505050565b6040516bffffffffffffffffffffffff19606084811b821660208401526034830188905285901b16605482015260688101859052600090608801604051602081830303815290604052805190602001209050610d47818361151c565b6001600160a01b0316876001600160a01b031614610da75760405162461bcd60e51b815260206004820152601f60248201527f73656c6c6572207369676e20766572696669636174696f6e206661696c656400604482015260640161022e565b50505050505050565b600054610160830151620100009091046001600160a01b03169015610df9576001546000805462010000600160b01b0319166001600160a01b0390921662010000029190911790555b600183608001516003811115610e1f57634e487b7160e01b600052602160045260246000fd5b1415610ea25760005460608401518451602086015160e0870151604051637b84dc8360e11b8152620100009095046001600160a01b03169463f709b90694610e6f949093909290916004016119d2565b600060405180830381600087803b158015610e8957600080fd5b505af1158015610e9d573d6000803e3d6000fd5b505050505b600083608001516003811115610ec857634e487b7160e01b600052602160045260246000fd5b1415610f74576000805460608501518551602087015160e0880151610180890151604051639c1c2ee960e01b81526001600160a01b039586166004820152938516602485015291841660448401526064830152608482015260c060a482015260c4810193909352620100009091041690639c1c2ee99060e401600060405180830381600087803b158015610f5b57600080fd5b505af1158015610f6f573d6000803e3d6000fd5b505050505b600383608001516003811115610f9a57634e487b7160e01b600052602160045260246000fd5b141561102d5760005460608401518451602086015160e0870151610140880151610120890151604051630744511160e41b8152620100009097046001600160a01b031696637445111096610ffa96909590949093909290916004016119fc565b600060405180830381600087803b15801561101457600080fd5b505af1158015611028573d6000803e3d6000fd5b505050505b60028360800151600381111561105357634e487b7160e01b600052602160045260246000fd5b14156110ff57600060029054906101000a90046001600160a01b03166001600160a01b031663e870a3208460600151856000015186602001518760e001518861014001518961010001518a61012001518b61018001516040518963ffffffff1660e01b81526004016110cc989796959493929190611962565b600060405180830381600087803b1580156110e657600080fd5b505af11580156110fa573d6000803e3d6000fd5b505050505b8151156111825760005460408085015160208601516002548651935163776062c360e01b81526001600160a01b036201000090960486169563776062c39561114f959493909116916004016119d2565b600060405180830381600087803b15801561116957600080fd5b505af115801561117d573d6000803e3d6000fd5b505050505b604082015115611208576000546040848101516020860151608086015186840151935163776062c360e01b8152620100009095046001600160a01b03169463776062c3946111d5949392916004016119d2565b600060405180830381600087803b1580156111ef57600080fd5b505af1158015611203573d6000803e3d6000fd5b505050505b600054604084810151602080870151875191870151935163776062c360e01b8152620100009095046001600160a01b03169463776062c39461124e9493916004016119d2565b600060405180830381600087803b15801561126857600080fd5b505af115801561127c573d6000803e3d6000fd5b50505050826101600151156112ae576000805462010000600160b01b031916620100006001600160a01b038416021790555b505050565b6040516bffffffffffffffffffffffff19606085811b821660208401526034830189905286901b166054820152606881018690526088810183905260009060a801604051602081830303815290604052805190602001209050611316818361151c565b6001600160a01b0316886001600160a01b0316146113765760405162461bcd60e51b815260206004820152601e60248201527f6275796572207369676e20766572696669636174696f6e206661696c65640000604482015260640161022e565b5050505050505050565b60008261138f575060006106f2565b600061139b8385611b43565b9050826113a88583611b23565b146113ff5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161022e565b9392505050565b60008082116114575760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640161022e565b6113ff8284611b23565b6000828211156114b35760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640161022e565b6113ff8284611b62565b6000806114ca8385611b0b565b9050838110156113ff5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161022e565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101839052600090600190605c0160408051601f19818403018152828252805160209182012086518783015188850151600087529386018086529290925260ff16928401929092526060830191909152608082015260a0016020604051602081039080840390855afa1580156115c1573d6000803e3d6000fd5b5050604051601f190151949350505050565b803561029b81611bd5565b8035801515811461029b57600080fd5b80356004811061029b57600080fd5b600082601f83011261160d578081fd5b813567ffffffffffffffff8082111561162857611628611bbf565b604051601f8301601f19908116603f0116810190828211818310171561165057611650611bbf565b81604052838152866020858801011115611668578485fd5b8360208701602083013792830160200193909352509392505050565b60006101a08284031215611696578081fd5b61169e611abb565b90506116a9826115d3565b81526116b7602083016115d3565b60208201526116c8604083016115d3565b60408201526116d9606083016115d3565b60608201526116ea608083016115ee565b608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013567ffffffffffffffff81111561173557600080fd5b611741858286016115fd565b8284015250506101408083013581830152506101606117618184016115de565b818301525061018080830135818301525092915050565b600060608284031215611789578081fd5b6040516060810181811067ffffffffffffffff821117156117ac576117ac611bbf565b6040529050806117bb836117d8565b815260208301356020820152604083013560408201525092915050565b803560ff8116811461029b57600080fd5b6000602082840312156117fa578081fd5b81356113ff81611bd5565b600060208284031215611816578081fd5b81516113ff81611bd5565b60008060808385031215611833578081fd5b823567ffffffffffffffff811115611849578182fd5b61185585828601611684565b9250506118658460208501611778565b90509250929050565b600080600060e08486031215611882578081fd5b833567ffffffffffffffff811115611898578182fd5b6118a486828701611684565b9350506118b48560208601611778565b91506118c38560808601611778565b90509250925092565b6000602082840312156118dd578081fd5b5051919050565b6000602082840312156118f5578081fd5b6113ff826117d8565b60008151808452611916816020860160208601611b79565b601f01601f19169290920160200192915050565b6bffffffffffffffffffffffff198360601b16815260008251611954816014850160208701611b79565b919091016014019392505050565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905261012060c082018190526000906119ac838201866118fe565b60e084019490945250818303610100909201919091528152602001979650505050505050565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b038781168252868116602083015285166040820152606081018490526080810183905260e060a08201819052600090611a3e908301846118fe565b82810360c09093019290925281526020019695505050505050565b60208082526013908201527214185a59081a5b9d985b1a5908185b5bdd5b9d606a1b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6040516101a0810167ffffffffffffffff81118282101715611adf57611adf611bbf565b60405290565b600061ffff808316818516808303821115611b0257611b02611ba9565b01949350505050565b60008219821115611b1e57611b1e611ba9565b500190565b600082611b3e57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611b5d57611b5d611ba9565b500290565b600082821015611b7457611b74611ba9565b500390565b60005b83811015611b94578181015183820152602001611b7c565b83811115611ba3576000848401525b50505050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611bea57600080fd5b5056fea264697066735822122028468c12abcccb4b9514005d6ab08a08b5b05c629d4fc31186d603aa4e0fad8764736f6c63430008040033000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000c1c2a2ec3a44fe5cca6815a0f06e5c394e8f7e4e0000000000000000000000003595ca1db648e8f074c97cd2ede6d59b82913fe7
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636fdc202f1161008c578063a3667c7b11610066578063a3667c7b146101b5578063a96b446d146101c8578063c5cf22a1146101db578063ca16976a146101ee57600080fd5b80636fdc202f146101845780638da5cb5b146101975780639c66809d146101aa57600080fd5b806322b142c7146100d45780632eab605c146100fc5780635f6563e11461010f57806360085da61461013a57806363b4b688146101585780636e667db31461016b575b600080fd5b6100e76100e23660046117e9565b610201565b60405190151581526020015b60405180910390f35b6100e761010a36600461186e565b6102a0565b600154610122906001600160a01b031681565b6040516001600160a01b0390911681526020016100f3565b600054610100900460ff165b60405160ff90911681526020016100f3565b6100e761016636600461186e565b61038a565b600054610122906201000090046001600160a01b031681565b6100e76101923660046117e9565b610468565b600254610122906001600160a01b031681565b60005460ff16610146565b6100e76101c33660046118e4565b610559565b6100e76101d63660046118e4565b6105df565b6100e76101e9366004611821565b61064e565b6100e76101fc366004611821565b6106f8565b6002546000906001600160a01b031633146102375760405162461bcd60e51b815260040161022e90611a86565b60405180910390fd5b600154604080516001600160a01b03928316815291841660208301527f6e1f9562a03a7e4abd27403ad1531e3b102a6b79eacba7f686070109d2cd4351910160405180910390a150600180546001600160a01b0319166001600160a01b0383161781555b919050565b6000806102ac856107ba565b90508461018001518560a001516102c39190611b43565b816060015110156102e65760405162461bcd60e51b815260040161022e90611a59565b6102ff8560600151866000015187610120015187610bd7565b61032185600001518660e001518760a001518860400151896060015188610ceb565b3360208601526103318582610db0565b60e085015185516101808701516040519081523392916001600160a01b0316907fb10197cef009fd301a90b892d25451c22c3701eb18ee2df1250d31e514fff394906020015b60405180910390a4506001949350505050565b600080610396856107ba565b90508461018001518560a001516103ad9190611b43565b816060015110156103d05760405162461bcd60e51b815260040161022e90611a59565b6103e98560600151866000015187610120015187610bd7565b61041185602001518660e001518760c00151886040015189606001518a6101800151896112b3565b33855261041e8582610db0565b60e085015185516101808701516040519081523392916001600160a01b0316907fec34853c156da04e4792f1c735112ae54e5ed52bac58db5014b26746f306a36290602001610377565b6002546000906001600160a01b031633146104955760405162461bcd60e51b815260040161022e90611a86565b6001600160a01b0382166104fa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161022e565b6002546040516001600160a01b038085169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350600280546001600160a01b0383166001600160a01b03199091161790556001919050565b6002546000906001600160a01b031633146105865760405162461bcd60e51b815260040161022e90611a86565b6000805461ff00191661010060ff8581168202929092179283905560405192041681527f04e959c7352d9eda8a6d989e4fee25ff0bf44c87386b7259d8500343c4e9992e906020015b60405180910390a1506001919050565b6002546000906001600160a01b0316331461060c5760405162461bcd60e51b815260040161022e90611a86565b6000805460ff191660ff84169081179091556040519081527f1715ed10763088cbfba08a6ecfb6e5894eac73040cb1899d10d3f96ced2bd0ef906020016105cf565b60008061065a846107ba565b905061068484602001518560e001518660c0015187604001518860600151896101800151896112b3565b3384526106918482610db0565b83602001516001600160a01b03168460e00151336001600160a01b03167fec34853c156da04e4792f1c735112ae54e5ed52bac58db5014b26746f306a3628761018001516040516106e491815260200190565b60405180910390a460019150505b92915050565b600080610704846107ba565b90508361018001518460a0015161071b9190611b43565b8160600151101561073e5760405162461bcd60e51b815260040161022e90611a59565b61076084600001518560e001518660a001518760400151886060015188610ceb565b3360208501526107708482610db0565b60e084015184516101808601516040519081523392916001600160a01b0316907fb10197cef009fd301a90b892d25451c22c3701eb18ee2df1250d31e514fff394906020016106e4565b6107f56040518060a001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6000805481908190819081908190610839906108169060ff166103e8611ae5565b61ffff166108336103e88b60c0015161138090919063ffffffff16565b90611406565b90506000610854828a60c0015161146190919063ffffffff16565b6000805491925090610877906103e890610833908690610100900460ff16611380565b905061088382826114bd565b965060018a6080015160038111156108ab57634e487b7160e01b600052602160045260246000fd5b14156109c55760608a015160e08b015160405163c57dc23560e01b81526001600160a01b039092169163c57dc235916108ea9160040190815260200190565b60206040518083038186803b15801561090257600080fd5b505afa158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a91906118cc565b935089606001516001600160a01b031663d48e638a8b60e001516040518263ffffffff1660e01b815260040161097291815260200190565b60206040518083038186803b15801561098a57600080fd5b505afa15801561099e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c29190611805565b97505b60008a6080015160038111156109eb57634e487b7160e01b600052602160045260246000fd5b1415610b055760608a015160e08b015160405163c57dc23560e01b81526001600160a01b039092169163c57dc23591610a2a9160040190815260200190565b60206040518083038186803b158015610a4257600080fd5b505afa158015610a56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7a91906118cc565b935089606001516001600160a01b031663d48e638a8b60e001516040518263ffffffff1660e01b8152600401610ab291815260200190565b60206040518083038186803b158015610aca57600080fd5b505afa158015610ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b029190611805565b97505b60038a608001516003811115610b2b57634e487b7160e01b600052602160045260246000fd5b1415610b3e576101408a01518a51985093505b60028a608001516003811115610b6457634e487b7160e01b600052602160045260246000fd5b1415610b77576101408a01518a51985093505b610b876103e86108338587611380565b9550610b9d81610b978589611461565b90611461565b6040805160a08101825298895260208901919091528701959095525060608501525050506001600160a01b03909116608082015292915050565b6000846001600160a01b031663ce606ee06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1257600080fd5b505afa158015610c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4a9190611805565b905060008484604051602001610c6192919061192a565b604051602081830303815290604052805190602001209050610c83818461151c565b6001600160a01b0316826001600160a01b031614610ce35760405162461bcd60e51b815260206004820152601e60248201527f4f776e6572207369676e20766572696669636174696f6e206661696c65640000604482015260640161022e565b505050505050565b6040516bffffffffffffffffffffffff19606084811b821660208401526034830188905285901b16605482015260688101859052600090608801604051602081830303815290604052805190602001209050610d47818361151c565b6001600160a01b0316876001600160a01b031614610da75760405162461bcd60e51b815260206004820152601f60248201527f73656c6c6572207369676e20766572696669636174696f6e206661696c656400604482015260640161022e565b50505050505050565b600054610160830151620100009091046001600160a01b03169015610df9576001546000805462010000600160b01b0319166001600160a01b0390921662010000029190911790555b600183608001516003811115610e1f57634e487b7160e01b600052602160045260246000fd5b1415610ea25760005460608401518451602086015160e0870151604051637b84dc8360e11b8152620100009095046001600160a01b03169463f709b90694610e6f949093909290916004016119d2565b600060405180830381600087803b158015610e8957600080fd5b505af1158015610e9d573d6000803e3d6000fd5b505050505b600083608001516003811115610ec857634e487b7160e01b600052602160045260246000fd5b1415610f74576000805460608501518551602087015160e0880151610180890151604051639c1c2ee960e01b81526001600160a01b039586166004820152938516602485015291841660448401526064830152608482015260c060a482015260c4810193909352620100009091041690639c1c2ee99060e401600060405180830381600087803b158015610f5b57600080fd5b505af1158015610f6f573d6000803e3d6000fd5b505050505b600383608001516003811115610f9a57634e487b7160e01b600052602160045260246000fd5b141561102d5760005460608401518451602086015160e0870151610140880151610120890151604051630744511160e41b8152620100009097046001600160a01b031696637445111096610ffa96909590949093909290916004016119fc565b600060405180830381600087803b15801561101457600080fd5b505af1158015611028573d6000803e3d6000fd5b505050505b60028360800151600381111561105357634e487b7160e01b600052602160045260246000fd5b14156110ff57600060029054906101000a90046001600160a01b03166001600160a01b031663e870a3208460600151856000015186602001518760e001518861014001518961010001518a61012001518b61018001516040518963ffffffff1660e01b81526004016110cc989796959493929190611962565b600060405180830381600087803b1580156110e657600080fd5b505af11580156110fa573d6000803e3d6000fd5b505050505b8151156111825760005460408085015160208601516002548651935163776062c360e01b81526001600160a01b036201000090960486169563776062c39561114f959493909116916004016119d2565b600060405180830381600087803b15801561116957600080fd5b505af115801561117d573d6000803e3d6000fd5b505050505b604082015115611208576000546040848101516020860151608086015186840151935163776062c360e01b8152620100009095046001600160a01b03169463776062c3946111d5949392916004016119d2565b600060405180830381600087803b1580156111ef57600080fd5b505af1158015611203573d6000803e3d6000fd5b505050505b600054604084810151602080870151875191870151935163776062c360e01b8152620100009095046001600160a01b03169463776062c39461124e9493916004016119d2565b600060405180830381600087803b15801561126857600080fd5b505af115801561127c573d6000803e3d6000fd5b50505050826101600151156112ae576000805462010000600160b01b031916620100006001600160a01b038416021790555b505050565b6040516bffffffffffffffffffffffff19606085811b821660208401526034830189905286901b166054820152606881018690526088810183905260009060a801604051602081830303815290604052805190602001209050611316818361151c565b6001600160a01b0316886001600160a01b0316146113765760405162461bcd60e51b815260206004820152601e60248201527f6275796572207369676e20766572696669636174696f6e206661696c65640000604482015260640161022e565b5050505050505050565b60008261138f575060006106f2565b600061139b8385611b43565b9050826113a88583611b23565b146113ff5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161022e565b9392505050565b60008082116114575760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640161022e565b6113ff8284611b23565b6000828211156114b35760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640161022e565b6113ff8284611b62565b6000806114ca8385611b0b565b9050838110156113ff5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161022e565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101839052600090600190605c0160408051601f19818403018152828252805160209182012086518783015188850151600087529386018086529290925260ff16928401929092526060830191909152608082015260a0016020604051602081039080840390855afa1580156115c1573d6000803e3d6000fd5b5050604051601f190151949350505050565b803561029b81611bd5565b8035801515811461029b57600080fd5b80356004811061029b57600080fd5b600082601f83011261160d578081fd5b813567ffffffffffffffff8082111561162857611628611bbf565b604051601f8301601f19908116603f0116810190828211818310171561165057611650611bbf565b81604052838152866020858801011115611668578485fd5b8360208701602083013792830160200193909352509392505050565b60006101a08284031215611696578081fd5b61169e611abb565b90506116a9826115d3565b81526116b7602083016115d3565b60208201526116c8604083016115d3565b60408201526116d9606083016115d3565b60608201526116ea608083016115ee565b608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013567ffffffffffffffff81111561173557600080fd5b611741858286016115fd565b8284015250506101408083013581830152506101606117618184016115de565b818301525061018080830135818301525092915050565b600060608284031215611789578081fd5b6040516060810181811067ffffffffffffffff821117156117ac576117ac611bbf565b6040529050806117bb836117d8565b815260208301356020820152604083013560408201525092915050565b803560ff8116811461029b57600080fd5b6000602082840312156117fa578081fd5b81356113ff81611bd5565b600060208284031215611816578081fd5b81516113ff81611bd5565b60008060808385031215611833578081fd5b823567ffffffffffffffff811115611849578182fd5b61185585828601611684565b9250506118658460208501611778565b90509250929050565b600080600060e08486031215611882578081fd5b833567ffffffffffffffff811115611898578182fd5b6118a486828701611684565b9350506118b48560208601611778565b91506118c38560808601611778565b90509250925092565b6000602082840312156118dd578081fd5b5051919050565b6000602082840312156118f5578081fd5b6113ff826117d8565b60008151808452611916816020860160208601611b79565b601f01601f19169290920160200192915050565b6bffffffffffffffffffffffff198360601b16815260008251611954816014850160208701611b79565b919091016014019392505050565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a0810184905261012060c082018190526000906119ac838201866118fe565b60e084019490945250818303610100909201919091528152602001979650505050505050565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b038781168252868116602083015285166040820152606081018490526080810183905260e060a08201819052600090611a3e908301846118fe565b82810360c09093019290925281526020019695505050505050565b60208082526013908201527214185a59081a5b9d985b1a5908185b5bdd5b9d606a1b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6040516101a0810167ffffffffffffffff81118282101715611adf57611adf611bbf565b60405290565b600061ffff808316818516808303821115611b0257611b02611ba9565b01949350505050565b60008219821115611b1e57611b1e611ba9565b500190565b600082611b3e57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611b5d57611b5d611ba9565b500290565b600082821015611b7457611b74611ba9565b500390565b60005b83811015611b94578181015183820152602001611b7c565b83811115611ba3576000848401525b50505050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114611bea57600080fd5b5056fea264697066735822122028468c12abcccb4b9514005d6ab08a08b5b05c629d4fc31186d603aa4e0fad8764736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000c1c2a2ec3a44fe5cca6815a0f06e5c394e8f7e4e0000000000000000000000003595ca1db648e8f074c97cd2ede6d59b82913fe7
-----Decoded View---------------
Arg [0] : _buyerFee (uint8): 10
Arg [1] : _sellerFee (uint8): 10
Arg [2] : _transferProxy (address): 0xC1C2A2Ec3A44FE5CCa6815A0F06e5c394E8F7E4E
Arg [3] : _deprecatedProxy (address): 0x3595CA1dB648e8f074c97CD2EDe6d59B82913FE7
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [1] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [2] : 000000000000000000000000c1c2a2ec3a44fe5cca6815a0f06e5c394e8f7e4e
Arg [3] : 0000000000000000000000003595ca1db648e8f074c97cd2ede6d59b82913fe7
Deployed Bytecode Sourcemap
10975:9716:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20449:239;;;;;;:::i;:::-;;:::i;:::-;;;7924:14:1;;7917:22;7899:41;;7887:2;7872:18;20449:239:0;;;;;;;;18263:612;;;;;;:::i;:::-;;:::i;11739:36::-;;;;;-1:-1:-1;;;;;11739:36:0;;;;;;-1:-1:-1;;;;;7715:32:1;;;7697:51;;7685:2;7670:18;11739:36:0;7652:102:1;13017:107:0;13074:5;13099:17;;;;;;13017:107;;;16584:4:1;16572:17;;;16554:36;;16542:2;16527:18;13017:107:0;16509:87:1;18883:621:0;;;;;;:::i;:::-;;:::i;11698:34::-;;;;;;;;-1:-1:-1;;;;;11698:34:0;;;13528:269;;;;;;:::i;:::-;;:::i;11782:20::-;;;;;-1:-1:-1;;;;;11782:20:0;;;12904:105;12960:5;12985:16;;;12904:105;;13327:193;;;;;;:::i;:::-;;:::i;13132:187::-;;;;;;:::i;:::-;;:::i;20016:421::-;;;;;;:::i;:::-;;:::i;19512:496::-;;;;;;:::i;:::-;;:::i;20449:239::-;12495:5;;20534:4;;-1:-1:-1;;;;;12495:5:0;12504:10;12495:19;12487:64;;;;-1:-1:-1;;;12487:64:0;;;;;;;:::i;:::-;;;;;;;;;20579:15:::1;::::0;20556:57:::1;::::0;;-1:-1:-1;;;;;20579:15:0;;::::1;12467:34:1::0;;12537:15;;;12532:2;12517:18;;12510:43;20556:57:0::1;::::0;12402:18:1;20556:57:0::1;;;;;;;-1:-1:-1::0;20624:15:0::1;:34:::0;;-1:-1:-1;;;;;;20624:34:0::1;-1:-1:-1::0;;;;;20624:34:0;::::1;;::::0;;12562:1:::1;20449:239:::0;;;:::o;18263:612::-;18364:4;18380:14;18397;18405:5;18397:7;:14::i;:::-;18380:31;;18462:5;:9;;;18444:5;:15;;;:27;;;;:::i;:::-;18431:3;:9;;;:40;;18422:74;;;;-1:-1:-1;;;18422:74:0;;;;;;;:::i;:::-;18507;18523:5;:16;;;18541:5;:12;;;18555:5;:14;;;18571:9;18507:15;:74::i;:::-;18592:106;18609:5;:12;;;18623:5;:13;;;18638:5;:15;;;18655:5;:18;;;18675:5;:16;;;18693:4;18592:16;:106::i;:::-;18723:10;18709:11;;;:24;18744:22;18709:5;18762:3;18744:10;:22::i;:::-;18806:13;;;;18791:12;;18821:9;;;;18782:61;;16376:25:1;;;18832:10:0;;18806:13;-1:-1:-1;;;;;18782:61:0;;;;16364:2:1;16349:18;18782:61:0;;;;;;;;-1:-1:-1;18861:4:0;;18263:612;-1:-1:-1;;;;18263:612:0:o;18883:621::-;18986:4;19002:14;19019;19027:5;19019:7;:14::i;:::-;19002:31;;19084:5;:9;;;19066:5;:15;;;:27;;;;:::i;:::-;19053:3;:9;;;:40;;19044:74;;;;-1:-1:-1;;;19044:74:0;;;;;;;:::i;:::-;19129:73;19145:5;:16;;;19162:5;:12;;;19176:5;:14;;;19192:9;19129:15;:73::i;:::-;19213:111;19229:5;:11;;;19242:5;:13;;;19257:5;:12;;;19271:5;:18;;;19291:5;:16;;;19309:5;:9;;;19319:4;19213:15;:111::i;:::-;19350:10;19335:25;;19371:22;19335:5;19389:3;19371:10;:22::i;:::-;19435:13;;;;19420:12;;19450:9;;;;19409:63;;16376:25:1;;;19461:10:0;;19435:13;-1:-1:-1;;;;;19409:63:0;;;;16364:2:1;16349:18;19409:63:0;16331:76:1;13528:269:0;12495:5;;13598:4;;-1:-1:-1;;;;;12495:5:0;12504:10;12495:19;12487:64;;;;-1:-1:-1;;;12487:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13622:22:0;::::1;13614:73;;;::::0;-1:-1:-1;;;13614:73:0;;13114:2:1;13614:73:0::1;::::0;::::1;13096:21:1::0;13153:2;13133:18;;;13126:30;13192:34;13172:18;;;13165:62;-1:-1:-1;;;13243:18:1;;;13236:36;13289:19;;13614:73:0::1;13086:228:1::0;13614:73:0::1;13724:5;::::0;13703:37:::1;::::0;-1:-1:-1;;;;;13703:37:0;;::::1;::::0;13724:5:::1;::::0;13703:37:::1;::::0;13724:5:::1;::::0;13703:37:::1;-1:-1:-1::0;13751:5:0::1;:16:::0;;-1:-1:-1;;;;;13751:16:0;::::1;-1:-1:-1::0;;;;;;13751:16:0;;::::1;;::::0;;;13528:269;;;:::o;13327:193::-;12495:5;;13399:4;;-1:-1:-1;;;;;12495:5:0;12504:10;12495:19;12487:64;;;;-1:-1:-1;;;12487:64:0;;;;;;;:::i;:::-;13416:17:::1;:30:::0;;-1:-1:-1;;13416:30:0::1;;;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;13462:28:::1;::::0;13472:17;::::1;;16554:36:1::0;;13462:28:0::1;::::0;16542:2:1;16527:18;13462:28:0::1;;;;;;;;-1:-1:-1::0;13508:4:0::1;13327:193:::0;;;:::o;13132:187::-;12495:5;;13202:4;;-1:-1:-1;;;;;12495:5:0;12504:10;12495:19;12487:64;;;;-1:-1:-1;;;12487:64:0;;;;;;;:::i;:::-;13219:16:::1;:28:::0;;-1:-1:-1;;13219:28:0::1;;::::0;::::1;::::0;;::::1;::::0;;;13263:26:::1;::::0;16554:36:1;;;13263:26:0::1;::::0;16542:2:1;16527:18;13263:26:0::1;16509:87:1::0;20016:421:0;20089:4;20106:14;20123;20131:5;20123:7;:14::i;:::-;20106:31;;20148:112;20164:5;:11;;;20177:5;:13;;;20192:5;:12;;;20206:5;:18;;;20226:5;:16;;;20244:5;:9;;;20255:4;20148:15;:112::i;:::-;20286:10;20271:25;;20307:22;20271:5;20325:3;20307:10;:22::i;:::-;20395:5;:11;;;-1:-1:-1;;;;;20345:62:0;20369:5;:13;;;20356:10;-1:-1:-1;;;;;20345:62:0;;20384:5;:9;;;20345:62;;;;16376:25:1;;16364:2;16349:18;;16331:76;20345:62:0;;;;;;;;20425:4;20418:11;;;20016:421;;;;;:::o;19512:496::-;19583:4;19600:14;19617;19625:5;19617:7;:14::i;:::-;19600:31;;19682:5;:9;;;19664:5;:15;;;:27;;;;:::i;:::-;19651:3;:9;;;:40;;19642:74;;;;-1:-1:-1;;;19642:74:0;;;;;;;:::i;:::-;19727:106;19744:5;:12;;;19758:5;:13;;;19773:5;:15;;;19790:5;:18;;;19810:5;:16;;;19828:4;19727:16;:106::i;:::-;19858:10;19844:11;;;:24;19879:22;19844:5;19897:3;19879:10;:22::i;:::-;19941:13;;;;19926:12;;19956:9;;;;19917:61;;16376:25:1;;;19967:10:0;;19941:13;-1:-1:-1;;;;;19917:61:0;;;;16364:2:1;16349:18;19917:61:0;16331:76:1;15118:1451:0;15178:10;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15178:10:0;15200:20;15385:16;;15200:20;;;;;;;;;;15352:51;;15380:21;;15385:16;;15380:4;:21;:::i;:::-;15352:51;;:22;15369:4;15352:5;:12;;;:16;;:22;;;;:::i;:::-;:26;;:51::i;:::-;15339:64;;15414:13;15430:23;15447:5;15430;:12;;;:16;;:23;;;;:::i;:::-;15464:14;15491:17;;15414:39;;-1:-1:-1;15464:14:0;15481:38;;15514:4;;15481:28;;:5;;15491:17;;;;;15481:9;:28::i;:38::-;15464:55;-1:-1:-1;15544:23:0;:8;15464:55;15544:12;:23::i;:::-;15530:37;-1:-1:-1;15598:22:0;15581:5;:13;;;:39;;;;;;-1:-1:-1;;;15581:39:0;;;;;;;;;;15578:229;;;15665:16;;;;15694:13;;;;15657:51;;-1:-1:-1;;;15657:51:0;;-1:-1:-1;;;;;15657:36:0;;;;;;:51;;;;16376:25:1;;;16364:2;16349:18;;16331:76;15657:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15637:73;;15750:5;:16;;;-1:-1:-1;;;;;15742:36:0;;15779:5;:13;;;15742:51;;;;;;;;;;;;;16376:25:1;;16364:2;16349:18;;16331:76;15742:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15725:70;;15578:229;15837:23;15820:5;:13;;;:40;;;;;;-1:-1:-1;;;15820:40:0;;;;;;;;;;15817:233;;;15907:16;;;;15936:13;;;;15898:52;;-1:-1:-1;;;15898:52:0;;-1:-1:-1;;;;;15898:37:0;;;;;;:52;;;;16376:25:1;;;16364:2;16349:18;;16331:76;15898:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15878:74;;15993:5;:16;;;-1:-1:-1;;;;;15984:37:0;;16022:5;:13;;;15984:52;;;;;;;;;;;;;16376:25:1;;16364:2;16349:18;;16331:76;15984:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15967:71;;15817:233;16080:30;16063:5;:13;;;:47;;;;;;-1:-1:-1;;;16063:47:0;;;;;;;;;;16060:148;;;16145:9;;;;16184:12;;;-1:-1:-1;16145:9:0;-1:-1:-1;16060:148:0;16238:31;16221:5;:13;;;:48;;;;;;-1:-1:-1;;;16221:48:0;;;;;;;;;;16218:149;;;16304:9;;;;16343:12;;;-1:-1:-1;16304:9:0;-1:-1:-1;16218:149:0;16390:36;16421:4;16390:26;:5;16400:15;16390:9;:26::i;:36::-;16377:49;-1:-1:-1;16448:36:0;16474:9;16448:21;:5;16377:49;16448:9;:21::i;:::-;:25;;:36::i;:::-;16502:59;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16502:59:0;;;;-1:-1:-1;;;;;;;;16502:59:0;;;;;;;;15118:1451;-1:-1:-1;;15118:1451:0:o;14753:357::-;14887:14;14912:18;-1:-1:-1;;;;;14904:41:0;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14887:60;;14958:12;15000:6;15007:8;14983:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14973:44;;;;;;14958:59;;15046:21;15056:4;15062;15046:9;:21::i;:::-;-1:-1:-1;;;;;15036:31:0;:6;-1:-1:-1;;;;;15036:31:0;;15028:74;;;;-1:-1:-1;;;15028:74:0;;14950:2:1;15028:74:0;;;14932:21:1;14989:2;14969:18;;;14962:30;15028:32;15008:18;;;15001:60;15078:18;;15028:74:0;14922:180:1;15028:74:0;14753:357;;;;;;:::o;14025:351::-;14216:65;;-1:-1:-1;;6445:2:1;6441:15;;;6437:24;;14216:65:0;;;6425:37:1;6478:12;;;6471:28;;;6533:15;;;6529:24;6515:12;;;6508:46;6570:12;;;6563:28;;;14191:12:0;;6607:13:1;;14216:65:0;;;;;;;;;;;;14206:76;;;;;;14191:91;;14311:21;14321:4;14327;14311:9;:21::i;:::-;-1:-1:-1;;;;;14301:31:0;:6;-1:-1:-1;;;;;14301:31:0;;14293:75;;;;-1:-1:-1;;;14293:75:0;;16072:2:1;14293:75:0;;;16054:21:1;16111:2;16091:18;;;16084:30;16150:33;16130:18;;;16123:61;16201:18;;14293:75:0;16044:181:1;14293:75:0;14025:351;;;;;;;:::o;16577:1678::-;16661:35;16699:13;16736:23;;;;16699:13;;;;-1:-1:-1;;;;;16699:13:0;;16733:85;;;16791:15;;;16775:31;;-1:-1:-1;;;;;;16775:31:0;-1:-1:-1;;;;;16791:15:0;;;16775:31;;;;;;;;16733:85;16858:22;16841:5;:13;;;:39;;;;;;-1:-1:-1;;;16841:39:0;;;;;;;;;;16838:176;;;16897:13;;16942:16;;;;16961:12;;16975:11;;;;16988:13;;;;16897:105;;-1:-1:-1;;;16897:105:0;;:13;;;;-1:-1:-1;;;;;16897:13:0;;:36;;:105;;16942:16;;16961:12;;16975:11;;16897:105;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16838:176;17044:23;17027:5;:13;;;:40;;;;;;-1:-1:-1;;;17027:40:0;;;;;;;;;;17024:196;;;17085:13;;;17132:16;;;;17151:12;;17165:11;;;;17178:13;;;;17193:9;;;;17085:122;;-1:-1:-1;;;17085:122:0;;-1:-1:-1;;;;;8749:15:1;;;17085:122:0;;;8731:34:1;8801:15;;;8781:18;;;8774:43;8853:15;;;8833:18;;;8826:43;8885:18;;;8878:34;8928:19;;;8921:35;8993:3;8972:19;;;8965:32;9013:19;;;9006:33;;;;17085:13:0;;;;;;:37;;9056:19:1;;17085:122:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17024:196;17250:30;17233:5;:13;;;:47;;;;;;-1:-1:-1;;;17233:47:0;;;;;;;;;;17230:212;;;17296:13;;17340:16;;;;17359:12;;17373:11;;;;17386:13;;;;17401:9;;;;17411:14;;;;17296:134;;-1:-1:-1;;;17296:134:0;;:13;;;;-1:-1:-1;;;;;17296:13:0;;:35;;:134;;17340:16;;17359:12;;17373:11;;17386:13;;17401:9;;17296:134;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17230:212;17472:31;17455:5;:13;;;:48;;;;;;-1:-1:-1;;;17455:48:0;;;;;;;;;;17452:239;;;17519:13;;;;;;;;;-1:-1:-1;;;;;17519:13:0;-1:-1:-1;;;;;17519:36:0;;17565:5;:16;;;17584:5;:12;;;17598:5;:11;;;17611:5;:13;;;17626:5;:9;;;17637:5;:12;;;17650:5;:14;;;17665:5;:9;;;17519:160;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17452:239;17704:15;;:19;17701:151;;17740:13;;17783:18;;;;;17804:11;;;;17740:13;17817:5;17824:15;;17740:100;;-1:-1:-1;;;17740:100:0;;-1:-1:-1;;;;;17740:13:0;;;;;;;:35;;:100;;17783:18;17804:11;17817:5;;;;17740:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17701:151;17865:14;;;;:18;17862:160;;17900:13;;17943:18;;;;;17964:11;;;;17977:16;;;;17995:14;;;;17900:110;;-1:-1:-1;;;17900:110:0;;:13;;;;-1:-1:-1;;;;;17900:13:0;;:35;;:110;;17943:18;17964:11;17977:16;17900:110;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17862:160;18032:13;;18075:18;;;;;18096:11;;;;;18109:12;;18123;;;;18032:104;;-1:-1:-1;;;18032:104:0;;:13;;;;-1:-1:-1;;;;;18032:13:0;;:35;;:104;;18075:18;18109:12;18032:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18160:5;:23;;;18157:91;;;18199:13;:37;;-1:-1:-1;;;;;;18199:37:0;;-1:-1:-1;;;;;18199:37:0;;;;;;18157:91;16577:1678;;;:::o;14384:361::-;14583:69;;-1:-1:-1;;6942:2:1;6938:15;;;6934:24;;14583:69:0;;;6922:37:1;6975:12;;;6968:28;;;7030:15;;;7026:24;7012:12;;;7005:46;7067:12;;;7060:28;;;7104:13;;;7097:29;;;14558:12:0;;7142:13:1;;14583:69:0;;;;;;;;;;;;14573:80;;;;;;14558:95;;14681:21;14691:4;14697;14681:9;:21::i;:::-;-1:-1:-1;;;;;14672:30:0;:5;-1:-1:-1;;;;;14672:30:0;;14664:73;;;;-1:-1:-1;;;14664:73:0;;13877:2:1;14664:73:0;;;13859:21:1;13916:2;13896:18;;;13889:30;13955:32;13935:18;;;13928:60;14005:18;;14664:73:0;13849:180:1;14664:73:0;14384:361;;;;;;;;:::o;8360:220::-;8418:7;8442:6;8438:20;;-1:-1:-1;8457:1:0;8450:8;;8438:20;8469:9;8481:5;8485:1;8481;:5;:::i;:::-;8469:17;-1:-1:-1;8514:1:0;8505:5;8509:1;8469:17;8505:5;:::i;:::-;:10;8497:56;;;;-1:-1:-1;;;8497:56:0;;15309:2:1;8497:56:0;;;15291:21:1;15348:2;15328:18;;;15321:30;15387:34;15367:18;;;15360:62;-1:-1:-1;;;15438:18:1;;;15431:31;15479:19;;8497:56:0;15281:223:1;8497:56:0;8571:1;8360:220;-1:-1:-1;;;8360:220:0:o;9054:153::-;9112:7;9144:1;9140;:5;9132:44;;;;-1:-1:-1;;;9132:44:0;;14595:2:1;9132:44:0;;;14577:21:1;14634:2;14614:18;;;14607:30;14673:28;14653:18;;;14646:56;14719:18;;9132:44:0;14567:176:1;9132:44:0;9194:5;9198:1;9194;:5;:::i;7945:158::-;8003:7;8036:1;8031;:6;;8023:49;;;;-1:-1:-1;;;8023:49:0;;14236:2:1;8023:49:0;;;14218:21:1;14275:2;14255:18;;;14248:30;14314:32;14294:18;;;14287:60;14364:18;;8023:49:0;14208:180:1;8023:49:0;8090:5;8094:1;8090;:5;:::i;7485:179::-;7543:7;;7575:5;7579:1;7575;:5;:::i;:::-;7563:17;;7604:1;7599;:6;;7591:46;;;;-1:-1:-1;;;7591:46:0;;13521:2:1;7591:46:0;;;13503:21:1;13560:2;13540:18;;;13533:30;13599:29;13579:18;;;13572:57;13646:18;;7591:46:0;13493:177:1;13805:212:0;13925:58;;7408:66:1;13925:58:0;;;7396:79:1;7491:12;;;7484:28;;;13878:7:0;;13905:104;;7528:12:1;;13925:58:0;;;-1:-1:-1;;13925:58:0;;;;;;;;;13915:69;;13925:58;13915:69;;;;13986:6;;13994;;;;14002;;;;13986;13905:104;;;;;;;;8178:25:1;;;;8251:4;8239:17;8219:18;;;8212:45;;;;8273:18;;;8266:34;;;;8316:18;;;8309:34;8150:19;;13905:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13905:104:0;;-1:-1:-1;;13905:104:0;;;13805:212;-1:-1:-1;;;;13805:212:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;153:160::-;218:20;;274:13;;267:21;257:32;;247:2;;303:1;300;293:12;318:156;399:20;;448:1;438:12;;428:2;;464:1;461;454:12;479:739;522:5;575:3;568:4;560:6;556:17;552:27;542:2;;597:5;590;583:20;542:2;637:6;624:20;663:18;700:2;696;693:10;690:2;;;706:18;;:::i;:::-;781:2;775:9;749:2;835:13;;-1:-1:-1;;831:22:1;;;855:2;827:31;823:40;811:53;;;879:18;;;899:22;;;876:46;873:2;;;925:18;;:::i;:::-;965:10;961:2;954:22;1000:2;992:6;985:18;1046:3;1039:4;1034:2;1026:6;1022:15;1018:26;1015:35;1012:2;;;1067:5;1060;1053:20;1012:2;1135;1128:4;1120:6;1116:17;1109:4;1101:6;1097:17;1084:54;1158:15;;;1175:4;1154:26;1147:41;;;;-1:-1:-1;1162:6:1;532:686;-1:-1:-1;;;532:686:1:o;1223:1292::-;1275:5;1323:6;1311:9;1306:3;1302:19;1298:32;1295:2;;;1347:5;1340;1333:20;1295:2;1373:17;;:::i;:::-;1364:26;;1413:29;1432:9;1413:29;:::i;:::-;1406:5;1399:44;1475:38;1509:2;1498:9;1494:18;1475:38;:::i;:::-;1470:2;1463:5;1459:14;1452:62;1546:38;1580:2;1569:9;1565:18;1546:38;:::i;:::-;1541:2;1534:5;1530:14;1523:62;1617:38;1651:2;1640:9;1636:18;1617:38;:::i;:::-;1612:2;1605:5;1601:14;1594:62;1689:52;1736:3;1725:9;1721:19;1689:52;:::i;:::-;1683:3;1676:5;1672:15;1665:77;1803:3;1792:9;1788:19;1775:33;1769:3;1762:5;1758:15;1751:58;1870:3;1859:9;1855:19;1842:33;1836:3;1829:5;1825:15;1818:58;1937:3;1926:9;1922:19;1909:33;1903:3;1896:5;1892:15;1885:58;1962:3;2025:2;2014:9;2010:18;1997:32;1992:2;1985:5;1981:14;1974:56;;2049:3;2103:2;2092:9;2088:18;2075:32;2130:18;2122:6;2119:30;2116:2;;;2162:1;2159;2152:12;2116:2;2198:46;2240:3;2231:6;2220:9;2216:22;2198:46;:::i;:::-;2193:2;2186:5;2182:14;2175:70;;;2264:3;2327:2;2316:9;2312:18;2299:32;2294:2;2287:5;2283:14;2276:56;;2351:3;2386:35;2417:2;2406:9;2402:18;2386:35;:::i;:::-;2381:2;2374:5;2370:14;2363:59;;2441:3;2504:2;2493:9;2489:18;2476:32;2471:2;2464:5;2460:14;2453:56;;1285:1230;;;;:::o;2520:547::-;2571:5;2619:4;2607:9;2602:3;2598:19;2594:30;2591:2;;;2641:5;2634;2627:20;2591:2;2678;2672:9;2720:4;2712:6;2708:17;2791:6;2779:10;2776:22;2755:18;2743:10;2740:34;2737:62;2734:2;;;2802:18;;:::i;:::-;2838:2;2831:22;2871:6;-1:-1:-1;2871:6:1;2901:27;2918:9;2901:27;:::i;:::-;2893:6;2886:43;2990:2;2979:9;2975:18;2962:32;2957:2;2949:6;2945:15;2938:57;3056:2;3045:9;3041:18;3028:32;3023:2;3015:6;3011:15;3004:57;;2581:486;;;;:::o;3072:156::-;3138:20;;3198:4;3187:16;;3177:27;;3167:2;;3218:1;3215;3208:12;3233:257;3292:6;3345:2;3333:9;3324:7;3320:23;3316:32;3313:2;;;3366:6;3358;3351:22;3313:2;3410:9;3397:23;3429:31;3454:5;3429:31;:::i;3495:261::-;3565:6;3618:2;3606:9;3597:7;3593:23;3589:32;3586:2;;;3639:6;3631;3624:22;3586:2;3676:9;3670:16;3695:31;3720:5;3695:31;:::i;4044:469::-;4155:6;4163;4216:3;4204:9;4195:7;4191:23;4187:33;4184:2;;;4238:6;4230;4223:22;4184:2;4283:9;4270:23;4316:18;4308:6;4305:30;4302:2;;;4353:6;4345;4338:22;4302:2;4381:56;4429:7;4420:6;4409:9;4405:22;4381:56;:::i;:::-;4371:66;;;4456:51;4499:7;4494:2;4483:9;4479:18;4456:51;:::i;:::-;4446:61;;4174:339;;;;;:::o;4518:578::-;4659:6;4667;4675;4728:3;4716:9;4707:7;4703:23;4699:33;4696:2;;;4750:6;4742;4735:22;4696:2;4795:9;4782:23;4828:18;4820:6;4817:30;4814:2;;;4865:6;4857;4850:22;4814:2;4893:56;4941:7;4932:6;4921:9;4917:22;4893:56;:::i;:::-;4883:66;;;4968:51;5011:7;5006:2;4995:9;4991:18;4968:51;:::i;:::-;4958:61;;5038:52;5082:7;5076:3;5065:9;5061:19;5038:52;:::i;:::-;5028:62;;4686:410;;;;;:::o;5101:194::-;5171:6;5224:2;5212:9;5203:7;5199:23;5195:32;5192:2;;;5245:6;5237;5230:22;5192:2;-1:-1:-1;5273:16:1;;5182:113;-1:-1:-1;5182:113:1:o;5300:192::-;5357:6;5410:2;5398:9;5389:7;5385:23;5381:32;5378:2;;;5431:6;5423;5416:22;5378:2;5459:27;5476:9;5459:27;:::i;5497:258::-;5539:3;5577:5;5571:12;5604:6;5599:3;5592:19;5620:63;5676:6;5669:4;5664:3;5660:14;5653:4;5646:5;5642:16;5620:63;:::i;:::-;5737:2;5716:15;-1:-1:-1;;5712:29:1;5703:39;;;;5744:4;5699:50;;5547:208;-1:-1:-1;;5547:208:1:o;5760:397::-;5974:26;5970:31;5961:6;5957:2;5953:15;5949:53;5944:3;5937:66;5919:3;6032:6;6026:13;6048:62;6103:6;6098:2;6093:3;6089:12;6082:4;6074:6;6070:17;6048:62;:::i;:::-;6130:16;;;;6148:2;6126:25;;5927:230;-1:-1:-1;;;5927:230:1:o;9086:1051::-;-1:-1:-1;;;;;9607:15:1;;;9589:34;;9659:15;;;9654:2;9639:18;;9632:43;9711:15;;9706:2;9691:18;;9684:43;9758:2;9743:18;;9736:34;;;9801:3;9786:19;;9779:35;;;9569:3;9830:19;;9823:35;;;9539:3;9889;9874:19;;9867:31;;;9510:4;;9921:45;9947:18;;;9939:6;9921:45;:::i;:::-;9997:3;9982:19;;9975:35;;;;-1:-1:-1;10047:22:1;;;10041:3;10026:19;;;10019:51;;;;10079:20;;10128:2;10116:15;;9519:618;-1:-1:-1;;;;;;;9519:618:1:o;10142:470::-;-1:-1:-1;;;;;10443:15:1;;;10425:34;;10495:15;;;10490:2;10475:18;;10468:43;10547:15;;10542:2;10527:18;;10520:43;10594:2;10579:18;;10572:34;;;;10374:3;10359:19;;10341:271::o;11093:886::-;-1:-1:-1;;;;;11535:15:1;;;11517:34;;11587:15;;;11582:2;11567:18;;11560:43;11639:15;;11634:2;11619:18;;11612:43;11686:2;11671:18;;11664:34;;;11729:3;11714:19;;11707:35;;;11779:3;11497;11758:19;;11751:32;;;11460:4;;11806:46;;11832:19;;11824:6;11806:46;:::i;:::-;11889:22;;;11883:3;11868:19;;;11861:51;;;;11921:20;;11970:2;11958:15;;11469:510;-1:-1:-1;;;;;;11469:510:1:o;12564:343::-;12766:2;12748:21;;;12805:2;12785:18;;;12778:30;-1:-1:-1;;;12839:2:1;12824:18;;12817:49;12898:2;12883:18;;12738:169::o;15509:356::-;15711:2;15693:21;;;15730:18;;;15723:30;15789:34;15784:2;15769:18;;15762:62;15856:2;15841:18;;15683:182::o;16601:250::-;16668:2;16662:9;16710:6;16698:19;;16747:18;16732:34;;16768:22;;;16729:62;16726:2;;;16794:18;;:::i;:::-;16830:2;16823:22;16642:209;:::o;16856:224::-;16895:3;16923:6;16956:2;16953:1;16949:10;16986:2;16983:1;16979:10;17017:3;17013:2;17009:12;17004:3;17001:21;16998:2;;;17025:18;;:::i;:::-;17061:13;;16903:177;-1:-1:-1;;;;16903:177:1:o;17085:128::-;17125:3;17156:1;17152:6;17149:1;17146:13;17143:2;;;17162:18;;:::i;:::-;-1:-1:-1;17198:9:1;;17133:80::o;17218:217::-;17258:1;17284;17274:2;;-1:-1:-1;;;17309:31:1;;17363:4;17360:1;17353:15;17391:4;17316:1;17381:15;17274:2;-1:-1:-1;17420:9:1;;17264:171::o;17440:168::-;17480:7;17546:1;17542;17538:6;17534:14;17531:1;17528:21;17523:1;17516:9;17509:17;17505:45;17502:2;;;17553:18;;:::i;:::-;-1:-1:-1;17593:9:1;;17492:116::o;17613:125::-;17653:4;17681:1;17678;17675:8;17672:2;;;17686:18;;:::i;:::-;-1:-1:-1;17723:9:1;;17662:76::o;17743:258::-;17815:1;17825:113;17839:6;17836:1;17833:13;17825:113;;;17915:11;;;17909:18;17896:11;;;17889:39;17861:2;17854:10;17825:113;;;17956:6;17953:1;17950:13;17947:2;;;17991:1;17982:6;17977:3;17973:16;17966:27;17947:2;;17796:205;;;:::o;18006:127::-;18067:10;18062:3;18058:20;18055:1;18048:31;18098:4;18095:1;18088:15;18122:4;18119:1;18112:15;18138:127;18199:10;18194:3;18190:20;18187:1;18180:31;18230:4;18227:1;18220:15;18254:4;18251:1;18244:15;18270:131;-1:-1:-1;;;;;18345:31:1;;18335:42;;18325:2;;18391:1;18388;18381:12;18325:2;18315:86;:::o
Swarm Source
ipfs://28468c12abcccb4b9514005d6ab08a08b5b05c629d4fc31186d603aa4e0fad87
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.