Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 370 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Cancel | 11176535 | 387 days ago | IN | 0 ETH | 0.00033778 | ||||
Cancel | 11007657 | 393 days ago | IN | 0 ETH | 0.00036543 | ||||
Cancel | 10989808 | 393 days ago | IN | 0 ETH | 0.00035834 | ||||
Cancel | 10887976 | 398 days ago | IN | 0 ETH | 0.000777 | ||||
Cancel | 10819175 | 400 days ago | IN | 0 ETH | 0.00048722 | ||||
Cancel | 10244716 | 420 days ago | IN | 0 ETH | 0.00050032 | ||||
Cancel | 10231810 | 421 days ago | IN | 0 ETH | 0.0008698 | ||||
Cancel | 10222221 | 421 days ago | IN | 0 ETH | 0.0004896 | ||||
Cancel | 10193796 | 422 days ago | IN | 0 ETH | 0.00052057 | ||||
Cancel | 10192817 | 422 days ago | IN | 0 ETH | 0.00068956 | ||||
Cancel | 10187153 | 422 days ago | IN | 0 ETH | 0.00039459 | ||||
Cancel | 10133647 | 424 days ago | IN | 0 ETH | 0.00068973 | ||||
Cancel | 10109711 | 425 days ago | IN | 0 ETH | 0.0005 | ||||
Cancel | 10090689 | 426 days ago | IN | 0 ETH | 0.00071037 | ||||
Cancel | 10061876 | 427 days ago | IN | 0 ETH | 0.00083224 | ||||
Cancel | 10033644 | 428 days ago | IN | 0 ETH | 0.0005159 | ||||
Cancel | 10030617 | 428 days ago | IN | 0 ETH | 0.00072118 | ||||
Cancel | 10023426 | 428 days ago | IN | 0 ETH | 0.0004543 | ||||
Cancel | 10021767 | 428 days ago | IN | 0 ETH | 0.00040018 | ||||
Cancel | 10002474 | 429 days ago | IN | 0 ETH | 0.00054371 | ||||
Cancel | 9997566 | 429 days ago | IN | 0 ETH | 0.00034515 | ||||
Cancel | 9993708 | 429 days ago | IN | 0 ETH | 0.00033242 | ||||
Cancel | 9993117 | 429 days ago | IN | 0 ETH | 0.00032963 | ||||
Cancel | 9957707 | 430 days ago | IN | 0 ETH | 0.00061843 | ||||
Cancel | 9929905 | 431 days ago | IN | 0 ETH | 0.00035677 |
Loading...
Loading
Contract Name:
OrderCanceler
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 1000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: - // License: https://license.clober.io/LICENSE.pdf pragma solidity ^0.8.0; import "./interfaces/CloberOrderBook.sol"; import "./interfaces/CloberOrderNFT.sol"; import "./interfaces/CloberOrderCanceler.sol"; contract OrderCanceler is CloberOrderCanceler { function cancel(CancelParams[] calldata paramsList) external { _cancelTo(paramsList, msg.sender); } function cancelTo(CancelParams[] calldata paramsList, address to) external { _cancelTo(paramsList, to); } function _cancelTo(CancelParams[] calldata paramsList, address to) internal { for (uint256 i = 0; i < paramsList.length; ++i) { uint256[] calldata tokenIds = paramsList[i].tokenIds; CloberOrderBook market = CloberOrderBook(paramsList[i].market); CloberOrderNFT(market.orderToken()).cancel(msg.sender, tokenIds, to); } } }
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity ^0.8.0; import "./CloberOrderKey.sol"; interface CloberOrderBook { /** * @notice Emitted when an order is created. * @param sender The address who sent the tokens to make the order. * @param user The address with the rights to claim the proceeds of the order. * @param rawAmount The ordered raw amount. * @param orderIndex The order index. * @param priceIndex The price book index. * @param options LSB: 0 - Ask, 1 - Bid. */ event MakeOrder( address indexed sender, address indexed user, uint64 rawAmount, uint32 claimBounty, uint256 orderIndex, uint16 priceIndex, uint8 options ); /** * @notice Emitted when an order takes from the order book. * @param sender The address who sent the tokens to take the order. * @param user The recipient address of the traded token. * @param priceIndex The price book index. * @param rawAmount The ordered raw amount. * @param options MSB: 0 - Limit, 1 - Market / LSB: 0 - Ask, 1 - Bid. */ event TakeOrder(address indexed sender, address indexed user, uint16 priceIndex, uint64 rawAmount, uint8 options); /** * @notice Emitted when an order is canceled. * @param user The owner of the order. * @param rawAmount The raw amount remaining that was canceled. * @param orderIndex The order index. * @param priceIndex The price book index. * @param isBid The flag indicating whether it's a bid order or an ask order. */ event CancelOrder(address indexed user, uint64 rawAmount, uint256 orderIndex, uint16 priceIndex, bool isBid); /** * @notice Emitted when the proceeds of an order is claimed. * @param claimer The address that initiated the claim. * @param user The owner of the order. * @param rawAmount The ordered raw amount. * @param bountyAmount The size of the claim bounty. * @param orderIndex The order index. * @param priceIndex The price book index. * @param isBase The flag indicating whether the user receives the base token or the quote token. */ event ClaimOrder( address indexed claimer, address indexed user, uint64 rawAmount, uint256 bountyAmount, uint256 orderIndex, uint16 priceIndex, bool isBase ); /** * @notice Emitted when a flash-loan is taken. * @param caller The caller address of the flash-loan. * @param borrower The address of the flash loan token receiver. * @param quoteAmount The amount of quote tokens the user has borrowed. * @param baseAmount The amount of base tokens the user has borrowed. * @param earnedQuote The amount of quote tokens the protocol earned in quote tokens. * @param earnedBase The amount of base tokens the protocol earned in base tokens. */ event Flash( address indexed caller, address indexed borrower, uint256 quoteAmount, uint256 baseAmount, uint256 earnedQuote, uint256 earnedBase ); /** * @notice A struct that represents an order. * @param amount The raw amount not filled yet. In case of a stale order, the amount not claimed yet. * @param claimBounty The bounty amount in gwei that can be collected by the party that fully claims the order. * @param owner The address of the order owner. */ struct Order { uint64 amount; uint32 claimBounty; address owner; } /** * @notice A struct that represents a block trade log. * @param blockTime The timestamp of the block. * @param askVolume The volume taken on the ask side. * @param bidVolume The volume taken on the bid side. * @param open The price book index on the open. * @param high The highest price book index in the block. * @param low The lowest price book index in the block. * @param close The price book index on the close. */ struct BlockTradeLog { uint64 blockTime; uint64 askVolume; uint64 bidVolume; uint16 open; uint16 high; uint16 low; uint16 close; } /** * @notice Take orders better or equal to the given priceIndex and make an order with the remaining tokens. * @dev `msg.value` will be used as the claimBounty. * @param user The taker/maker address. * @param priceIndex The price book index. * @param rawAmount The raw quote amount to trade, utilized by bids. * @param baseAmount The base token amount to trade, utilized by asks. * @param options LSB: 0 - Ask, 1 - Bid. Second bit: 1 - Post only. * @param data Custom callback data * @return The order index. If an order is not made `type(uint256).max` is returned instead. */ function limitOrder( address user, uint16 priceIndex, uint64 rawAmount, uint256 baseAmount, uint8 options, bytes calldata data ) external payable returns (uint256); /** * @notice Returns the expected input amount and output amount. * @param limitPriceIndex The price index to take until. * @param rawAmount The raw amount to trade. * Bid & expendInput => Used as input amount. * Bid & !expendInput => Not used. * Ask & expendInput => Not used. * Ask & !expendInput => Used as output amount. * @param baseAmount The base token amount to trade. * Bid & expendInput => Not used. * Bid & !expendInput => Used as output amount. * Ask & expendInput => Used as input amount. * Ask & !expendInput => Not used. * @param options LSB: 0 - Ask, 1 - Bid. Second bit: 1 - expend input. */ function getExpectedAmount( uint16 limitPriceIndex, uint64 rawAmount, uint256 baseAmount, uint8 options ) external view returns (uint256, uint256); /** * @notice Take opens orders until certain conditions are met. * @param user The taker address. * @param limitPriceIndex The price index to take until. * @param rawAmount The raw amount to trade. * This value is used as the maximum input amount by bids and minimum output amount by asks. * @param baseAmount The base token amount to trade. * This value is used as the maximum input amount by asks and minimum output amount by bids. * @param options LSB: 0 - Ask, 1 - Bid. Second bit: 1 - expend input. * @param data Custom callback data. */ function marketOrder( address user, uint16 limitPriceIndex, uint64 rawAmount, uint256 baseAmount, uint8 options, bytes calldata data ) external; /** * @notice Cancel orders. * @dev The length of orderKeys must be controlled by the caller to avoid block gas limit exceeds. * @param receiver The address to receive canceled tokens. * @param orderKeys The order keys of the orders to cancel. */ function cancel(address receiver, OrderKey[] calldata orderKeys) external; /** * @notice Claim the proceeds of orders. * @dev The length of orderKeys must be controlled by the caller to avoid block gas limit exceeds. * @param claimer The address to receive the claim bounties. * @param orderKeys The order keys of the orders to claim. */ function claim(address claimer, OrderKey[] calldata orderKeys) external; /** * @notice Get the claimable proceeds of an order. * @param orderKey The order key of the order. * @return claimableRawAmount The claimable raw amount. * @return claimableAmount The claimable amount after fees. * @return feeAmount The maker fee to be paid on claim. * @return rebateAmount The rebate to be received on claim. */ function getClaimable(OrderKey calldata orderKey) external view returns ( uint64 claimableRawAmount, uint256 claimableAmount, uint256 feeAmount, uint256 rebateAmount ); /** * @notice Flash loan the tokens in the OrderBook. * @param borrower The address to receive the loan. * @param quoteAmount The quote token amount to borrow. * @param baseAmount The base token amount to borrow. * @param data The user's custom callback data. */ function flash( address borrower, uint256 quoteAmount, uint256 baseAmount, bytes calldata data ) external; /** * @notice Returns the quote unit amount. * @return The amount that one raw amount represent in quote tokens. */ function quoteUnit() external view returns (uint256); /** * @notice Returns the maker fee. * Paid to the maker when negative, paid by the maker when positive. * Every 10000 represents a 1% fee on trade volume. * @return The maker fee. 100 = 1bp. */ function makerFee() external view returns (int24); /** * @notice Returns the take fee * Paid by the taker. * Every 10000 represents a 1% fee on trade volume. * @return The taker fee. 100 = 1bps. */ function takerFee() external view returns (uint24); /** * @notice Returns the address of the order NFT contract. * @return The address of the order NFT contract. */ function orderToken() external view returns (address); /** * @notice Returns the address of the quote token. * @return The address of the quote token. */ function quoteToken() external view returns (address); /** * @notice Returns the address of the base token. * @return The address of the base token. */ function baseToken() external view returns (address); /** * @notice Returns the current total open amount at the given price. * @param isBid The flag to choose which side to check the depth for. * @param priceIndex The price book index. * @return The total open amount. */ function getDepth(bool isBid, uint16 priceIndex) external view returns (uint64); /** * @notice Returns the fee balance that has not been collected yet. * @return quote The current fee balance for the quote token. * @return base The current fee balance for the base token. */ function getFeeBalance() external view returns (uint128 quote, uint128 base); /** * @notice Returns the amount of tokens that can be collected by the host. * @param token The address of the token to be collected. * @return The amount of tokens that can be collected by the host. */ function uncollectedHostFees(address token) external view returns (uint256); /** * @notice Returns the amount of tokens that can be collected by the dao treasury. * @param token The address of the token to be collected. * @return The amount of tokens that can be collected by the dao treasury. */ function uncollectedProtocolFees(address token) external view returns (uint256); /** * @notice Returns whether the order book is empty or not. * @param isBid The flag to choose which side to check the emptiness of. * @return Whether the order book is empty or not on that side. */ function isEmpty(bool isBid) external view returns (bool); /** * @notice Returns the order information. * @param orderKey The order key of the order. * @return The order struct of the given order key. */ function getOrder(OrderKey calldata orderKey) external view returns (Order memory); /** * @notice Returns the lowest ask price index or the highest bid price index. * @param isBid Returns the lowest ask price if false, highest bid price if true. * @return The current price index. If the order book is empty, it will revert. */ function bestPriceIndex(bool isBid) external view returns (uint16); /** * @notice Returns the current block trade log index. * @return The current block trade log index. */ function blockTradeLogIndex() external view returns (uint16); /** * @notice Returns the block trade log for a certain index. * @param index The block trade log index used to query the block trade log. * @return The queried block trade log. */ function blockTradeLogs(uint16 index) external view returns (BlockTradeLog memory); /** * @notice Converts a raw amount to its corresponding base amount using a given price index. * @param rawAmount The raw amount to be converted. * @param priceIndex The index of the price to be used for the conversion. * @param roundingUp Specifies whether the result should be rounded up or down. * @return The converted base amount. */ function rawToBase( uint64 rawAmount, uint16 priceIndex, bool roundingUp ) external view returns (uint256); /** * @notice Converts a raw amount to its corresponding quote amount. * @param rawAmount The raw amount to be converted. * @return The converted quote amount. */ function rawToQuote(uint64 rawAmount) external view returns (uint256); /** * @notice Converts a base amount to its corresponding raw amount using a given price index. * @param baseAmount The base amount to be converted. * @param priceIndex The index of the price to be used for the conversion. * @param roundingUp Specifies whether the result should be rounded up or down. * @return The converted raw amount. */ function baseToRaw( uint256 baseAmount, uint16 priceIndex, bool roundingUp ) external view returns (uint64); /** * @notice Converts a quote amount to its corresponding raw amount. * @param quoteAmount The quote amount to be converted. * @param roundingUp Specifies whether the result should be rounded up or down. * @return The converted raw amount. */ function quoteToRaw(uint256 quoteAmount, bool roundingUp) external view returns (uint64); /** * @notice Collects fees for either the protocol or host. * @param token The token address to collect. It should be the quote token or the base token. * @param destination The destination address to transfer fees. * It should be the dao treasury address or the host address. */ function collectFees(address token, address destination) external; /** * @notice Change the owner of the order. * @dev Only the OrderToken contract can call this function. * @param orderKey The order key of the order. * @param newOwner The new owner address. */ function changeOrderOwner(OrderKey calldata orderKey, address newOwner) external; /** * @notice Converts the price index into the actual price. * @param priceIndex The price book index. * @return price The actual price. */ function indexToPrice(uint16 priceIndex) external view returns (uint256); /** * @notice Returns the price book index closest to the provided price. * @param price Provided price. * @param roundingUp Determines whether to round up or down. * @return index The price book index. * @return correctedPrice The actual price for the price book index. */ function priceToIndex(uint256 price, bool roundingUp) external view returns (uint16 index, uint256 correctedPrice); }
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol"; import "./CloberOrderKey.sol"; interface CloberOrderNFT is IERC721, IERC721Metadata { /** * @notice Returns the base URI for the metadata of this NFT collection. * @return The base URI for the metadata of this NFT collection. */ function baseURI() external view returns (string memory); /** * @notice Returns the contract URI for the metadata of this NFT collection. * @return The contract URI for the metadata of this NFT collection. */ function contractURI() external view returns (string memory); /** * @notice Returns the address of the market contract that manages this token. * @return The address of the market contract that manages this token. */ function market() external view returns (address); /** * @notice Returns the address of contract owner. * @return The address of the contract owner. */ function owner() external view returns (address); /** * @notice Called when a new token is minted. * @param to The receiver address of the minted token. * @param tokenId The id of the token minted. */ function onMint(address to, uint256 tokenId) external; /** * @notice Called when a token is burned. * @param tokenId The id of the token burned. */ function onBurn(uint256 tokenId) external; /** * @notice Changes the base URI for the metadata of this NFT collection. * @param newBaseURI The new base URI for the metadata of this NFT collection. */ function changeBaseURI(string memory newBaseURI) external; /** * @notice Changes the contract URI for the metadata of this NFT collection. * @param newContractURI The new contract URI for the metadata of this NFT collection. */ function changeContractURI(string memory newContractURI) external; /** * @notice Decodes a token id into an order key. * @param id The id to decode. * @return The order key corresponding to the given id. */ function decodeId(uint256 id) external pure returns (OrderKey memory); /** * @notice Encodes an order key to a token id. * @param orderKey The order key to encode. * @return The id corresponding to the given order key. */ function encodeId(OrderKey memory orderKey) external pure returns (uint256); /** * @notice Cancels orders with token ids. * @dev Only the OrderCanceler can call this function. * @param from The address of the owner of the tokens. * @param tokenIds The ids of the tokens to cancel. * @param receiver The address to send the underlying assets to. */ function cancel( address from, uint256[] calldata tokenIds, address receiver ) external; }
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity ^0.8.0; interface CloberOrderCanceler { /** * @notice Struct for passing parameters to the function that cancels orders. * @param market The address of the market on which the orders are to be canceled. * @param tokenIds An array of ids of orders to cancel. */ struct CancelParams { address market; uint256[] tokenIds; } /** * @notice Cancel orders across markets. * @param paramsList The list of CancelParams. */ function cancel(CancelParams[] calldata paramsList) external; /** * @notice Cancel orders across markets. * @param paramsList The list of CancelParams. * @param to The address to receive the canceled assets. */ function cancelTo(CancelParams[] calldata paramsList, address to) external; }
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity ^0.8.0; /** * @notice A struct that represents a unique key for an order. * @param isBid The flag indicating whether it's a bid order or an ask order. * @param priceIndex The price book index. * @param orderIndex The order index. */ struct OrderKey { bool isBid; uint16 priceIndex; uint256 orderIndex; }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol) pragma solidity ^0.8.0; import "../IERC721.sol"; /** * @title ERC-721 Non-Fungible Token Standard, optional metadata extension * @dev See https://eips.ethereum.org/EIPS/eip-721 */ interface IERC721Metadata is IERC721 { /** * @dev Returns the token collection name. */ function name() external view returns (string memory); /** * @dev Returns the token collection symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token. */ function tokenURI(uint256 tokenId) external view returns (string memory); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ 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); }
{ "evmVersion": "london", "optimizer": { "enabled": true, "runs": 1000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"components":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"internalType":"struct CloberOrderCanceler.CancelParams[]","name":"paramsList","type":"tuple[]"}],"name":"cancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"internalType":"struct CloberOrderCanceler.CancelParams[]","name":"paramsList","type":"tuple[]"},{"internalType":"address","name":"to","type":"address"}],"name":"cancelTo","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610491806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80636774ce801461003b57806394006ab814610050575b600080fd5b61004e610049366004610241565b610063565b005b61004e61005e3660046102a8565b610072565b61006e828233610082565b5050565b61007d838383610082565b505050565b60005b828110156101ef573660008585848181106100a2576100a26102ff565b90506020028101906100b49190610315565b6100c2906020810190610335565b9150915060008686858181106100da576100da6102ff565b90506020028101906100ec9190610315565b6100fa90602081019061037f565b90508073ffffffffffffffffffffffffffffffffffffffff166385d189176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016b91906103a3565b73ffffffffffffffffffffffffffffffffffffffff16634af2c2af338585896040518563ffffffff1660e01b81526004016101a994939291906103c0565b600060405180830381600087803b1580156101c357600080fd5b505af11580156101d7573d6000803e3d6000fd5b50505050505050806101e890610434565b9050610085565b50505050565b60008083601f84011261020757600080fd5b50813567ffffffffffffffff81111561021f57600080fd5b6020830191508360208260051b850101111561023a57600080fd5b9250929050565b6000806020838503121561025457600080fd5b823567ffffffffffffffff81111561026b57600080fd5b610277858286016101f5565b90969095509350505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102a557600080fd5b50565b6000806000604084860312156102bd57600080fd5b833567ffffffffffffffff8111156102d457600080fd5b6102e0868287016101f5565b90945092505060208401356102f481610283565b809150509250925092565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261032b57600080fd5b9190910192915050565b6000808335601e1984360301811261034c57600080fd5b83018035915067ffffffffffffffff82111561036757600080fd5b6020019150600581901b360382131561023a57600080fd5b60006020828403121561039157600080fd5b813561039c81610283565b9392505050565b6000602082840312156103b557600080fd5b815161039c81610283565b600073ffffffffffffffffffffffffffffffffffffffff8087168352606060208401528460608401527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561041657600080fd5b8460051b808760808601379316604083015250016080019392505050565b60006001820161045457634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220cec3ad9c9fd8caab2c239988ba85ab4a87459023d106ff7b70c11e757cc4dd1064736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100365760003560e01c80636774ce801461003b57806394006ab814610050575b600080fd5b61004e610049366004610241565b610063565b005b61004e61005e3660046102a8565b610072565b61006e828233610082565b5050565b61007d838383610082565b505050565b60005b828110156101ef573660008585848181106100a2576100a26102ff565b90506020028101906100b49190610315565b6100c2906020810190610335565b9150915060008686858181106100da576100da6102ff565b90506020028101906100ec9190610315565b6100fa90602081019061037f565b90508073ffffffffffffffffffffffffffffffffffffffff166385d189176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016b91906103a3565b73ffffffffffffffffffffffffffffffffffffffff16634af2c2af338585896040518563ffffffff1660e01b81526004016101a994939291906103c0565b600060405180830381600087803b1580156101c357600080fd5b505af11580156101d7573d6000803e3d6000fd5b50505050505050806101e890610434565b9050610085565b50505050565b60008083601f84011261020757600080fd5b50813567ffffffffffffffff81111561021f57600080fd5b6020830191508360208260051b850101111561023a57600080fd5b9250929050565b6000806020838503121561025457600080fd5b823567ffffffffffffffff81111561026b57600080fd5b610277858286016101f5565b90969095509350505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102a557600080fd5b50565b6000806000604084860312156102bd57600080fd5b833567ffffffffffffffff8111156102d457600080fd5b6102e0868287016101f5565b90945092505060208401356102f481610283565b809150509250925092565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811261032b57600080fd5b9190910192915050565b6000808335601e1984360301811261034c57600080fd5b83018035915067ffffffffffffffff82111561036757600080fd5b6020019150600581901b360382131561023a57600080fd5b60006020828403121561039157600080fd5b813561039c81610283565b9392505050565b6000602082840312156103b557600080fd5b815161039c81610283565b600073ffffffffffffffffffffffffffffffffffffffff8087168352606060208401528460608401527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561041657600080fd5b8460051b808760808601379316604083015250016080019392505050565b60006001820161045457634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220cec3ad9c9fd8caab2c239988ba85ab4a87459023d106ff7b70c11e757cc4dd1064736f6c63430008110033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.