Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 78 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Distribute Rewar... | 14704179 | 1397 days ago | IN | 0 ETH | 0.00549799 | ||||
| Distribute Rewar... | 14704170 | 1397 days ago | IN | 0 ETH | 0.00391475 | ||||
| Distribute Rewar... | 14704169 | 1397 days ago | IN | 0 ETH | 0.00369773 | ||||
| Distribute Rewar... | 14704140 | 1397 days ago | IN | 0 ETH | 0.00349613 | ||||
| Distribute Rewar... | 14704140 | 1397 days ago | IN | 0 ETH | 0.00406802 | ||||
| Distribute Rewar... | 14704137 | 1397 days ago | IN | 0 ETH | 0.00368155 | ||||
| Distribute Rewar... | 14704125 | 1397 days ago | IN | 0 ETH | 0.00429577 | ||||
| Distribute Rewar... | 14704123 | 1397 days ago | IN | 0 ETH | 0.00486349 | ||||
| Distribute Rewar... | 14704123 | 1397 days ago | IN | 0 ETH | 0.00477559 | ||||
| Distribute Rewar... | 14704122 | 1397 days ago | IN | 0 ETH | 0.00519715 | ||||
| Distribute Rewar... | 14704121 | 1397 days ago | IN | 0 ETH | 0.00464412 | ||||
| Distribute Rewar... | 14704119 | 1397 days ago | IN | 0 ETH | 0.00475647 | ||||
| Distribute Rewar... | 14704119 | 1397 days ago | IN | 0 ETH | 0.00469663 | ||||
| Distribute Rewar... | 14704117 | 1397 days ago | IN | 0 ETH | 0.00433447 | ||||
| Distribute Rewar... | 14704115 | 1397 days ago | IN | 0 ETH | 0.00378896 | ||||
| Distribute Rewar... | 14704111 | 1397 days ago | IN | 0 ETH | 0.00536273 | ||||
| Distribute Rewar... | 14704110 | 1397 days ago | IN | 0 ETH | 0.00546644 | ||||
| Distribute Rewar... | 14704108 | 1397 days ago | IN | 0 ETH | 0.0038319 | ||||
| Distribute Rewar... | 14704104 | 1397 days ago | IN | 0 ETH | 0.00424716 | ||||
| Distribute Rewar... | 14704102 | 1397 days ago | IN | 0 ETH | 0.00374691 | ||||
| Distribute Rewar... | 14704095 | 1397 days ago | IN | 0 ETH | 0.0042662 | ||||
| Distribute Rewar... | 14704094 | 1397 days ago | IN | 0 ETH | 0.00151686 | ||||
| Distribute Rewar... | 14704091 | 1397 days ago | IN | 0 ETH | 0.0033442 | ||||
| Distribute Rewar... | 14704089 | 1397 days ago | IN | 0 ETH | 0.00474263 | ||||
| Distribute Rewar... | 14704076 | 1397 days ago | IN | 0 ETH | 0.00473998 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 14704179 | 1397 days ago | 0.015 ETH | ||||
| - | 14704170 | 1397 days ago | 0.03 ETH | ||||
| - | 14704169 | 1397 days ago | 0.025 ETH | ||||
| - | 14704140 | 1397 days ago | 0.05 ETH | ||||
| - | 14704140 | 1397 days ago | 0.03 ETH | ||||
| - | 14704137 | 1397 days ago | 0.025 ETH | ||||
| - | 14704125 | 1397 days ago | 0.075 ETH | ||||
| - | 14704123 | 1397 days ago | 0.04 ETH | ||||
| - | 14704123 | 1397 days ago | 0.1 ETH | ||||
| - | 14704122 | 1397 days ago | 0.02 ETH | ||||
| - | 14704121 | 1397 days ago | 0.02 ETH | ||||
| - | 14704119 | 1397 days ago | 0.013 ETH | ||||
| - | 14704119 | 1397 days ago | 0.03 ETH | ||||
| - | 14704117 | 1397 days ago | 0.05 ETH | ||||
| - | 14704115 | 1397 days ago | 0.05 ETH | ||||
| - | 14704111 | 1397 days ago | 0.05 ETH | ||||
| - | 14704110 | 1397 days ago | 0.05 ETH | ||||
| - | 14704108 | 1397 days ago | 0.05 ETH | ||||
| - | 14704104 | 1397 days ago | 0.075 ETH | ||||
| - | 14704102 | 1397 days ago | 0.02 ETH | ||||
| - | 14704095 | 1397 days ago | 0.25 ETH | ||||
| - | 14704091 | 1397 days ago | 0.033 ETH | ||||
| - | 14704089 | 1397 days ago | 0.1 ETH | ||||
| - | 14704076 | 1397 days ago | 0.15 ETH | ||||
| - | 14704073 | 1397 days ago | 0.05 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
NFTAuctionSale
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma experimental ABIEncoderV2;
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract NFTAuctionSale is Ownable, Pausable {
uint256 public constant AUCTION_LENGTH = 14 days;
uint256 public constant TIME_BUFFER = 4 hours;
event PutOnAuction(
uint256 nftTokenId,
uint256 reservePrice,
address seller
);
event BidPlaced(
uint256 nftTokenId,
address bidder,
uint256 bidPrice,
uint256 timestamp,
uint256 transaction
);
event NFTClaimed(uint256 nftTokenId, address winner, uint256 price);
event ReservePriceUpdated(
uint256 nftTokenId,
uint256 reservePrice,
address seller
);
struct AuctionBid {
address bidder;
uint256 price;
}
struct Auction {
address seller;
uint256 reservePrice;
uint256 endTime;
AuctionBid bid;
}
mapping(uint256 => Auction) private auctions;
address private escrowAccount;
IERC721 private auctionToken;
constructor(address _nftTokenAddress) {
auctionToken = IERC721(_nftTokenAddress);
require(
auctionToken.supportsInterface(0x80ac58cd),
"Auction token is not ERC721"
);
escrowAccount = _msgSender();
}
function updateEscrowAccount(address _escrowAccount) external onlyOwner {
require(_escrowAccount != address(0x0), "Invalid account");
require(
auctionToken.isApprovedForAll(_escrowAccount, escrowAccount),
"New EscrowAccount is not approved to transfer tokens"
);
escrowAccount = _escrowAccount;
}
function getRequiredBid(uint256 price) internal pure returns (uint256) {
uint256 a = price + 10000000000000000; // 0.01 ether
uint256 b = price + (price / 20); // 5%
return a < b ? a : b;
}
function putOnAuction(uint256 nftTokenId) public whenNotPaused onlyOwner {
require(
auctions[nftTokenId].seller == address(0x0),
"NFT already on Auction"
);
auctions[nftTokenId] = Auction(
_msgSender(),
10000000000000000,
block.timestamp + AUCTION_LENGTH,
AuctionBid(address(0x0), 0)
);
emit PutOnAuction(nftTokenId, 10000000000000000, _msgSender());
}
function putOnAuctionBulk(uint256 i, uint256 j)
public
whenNotPaused
onlyOwner
{
while (i < j) {
putOnAuction(i++);
}
}
function distributeReward(uint256 nftTokenId) external {
Auction storage _auction = auctions[nftTokenId];
AuctionBid storage _bid = _auction.bid;
require(
_auction.endTime < block.timestamp,
"Auction still in progress"
);
require(_bid.bidder != address(0x0), "No bids placed");
require(_auction.reservePrice != 0, "Auction completed");
_auction.reservePrice = 0;
// Token transfer
auctionToken.safeTransferFrom(escrowAccount, _bid.bidder, nftTokenId);
// Seller fee
payable(_auction.seller).transfer(_bid.price);
emit NFTClaimed(nftTokenId, _bid.bidder, _bid.price);
delete auctions[nftTokenId];
}
function bid(uint256 nftTokenId) external payable whenNotPaused {
uint256 bidPrice = msg.value;
Auction storage _auction = auctions[nftTokenId];
AuctionBid storage _auctionBid = _auction.bid;
require(_auction.seller != address(0x0), "Auction not found");
require(_auction.seller != _msgSender(), "Seller cannot place bids");
// Validate can place bids
require(_auction.endTime >= block.timestamp, "Cannot place new bids");
// first bid
if (_auctionBid.price == 0) {
// Validate bid price
require(
bidPrice >= getRequiredBid(_auction.reservePrice),
"New bids needs to higher by 5% or 0.01 ether"
);
_auction.bid = AuctionBid(_msgSender(), bidPrice);
// update auction if bid placed in last 15 minutes
if (_auction.endTime - block.timestamp < 15 minutes) {
_auction.endTime = _auction.endTime + TIME_BUFFER;
}
emit BidPlaced(
nftTokenId,
_msgSender(),
bidPrice,
block.timestamp,
block.number
);
return;
}
// Validate bid price
uint256 requiredBid = getRequiredBid(_auctionBid.price);
require(
bidPrice >= requiredBid,
"New bids needs to higher by 5% or 0.01 ether"
);
// Previous bid
AuctionBid memory prevBid = _auctionBid;
// update storage bid
_auction.bid.price = bidPrice;
_auction.bid.bidder = _msgSender();
// update auction if bid placed in last 15 minutes
if (_auction.endTime - block.timestamp < 15 minutes) {
_auction.endTime = _auction.endTime + TIME_BUFFER;
}
payable(prevBid.bidder).transfer(prevBid.price);
emit BidPlaced(
nftTokenId,
_msgSender(),
bidPrice,
block.timestamp,
block.number
);
}
function getAuction(uint256 nftId) public view returns (Auction memory) {
return auctions[nftId];
}
function getAuctionsBulk(uint256 i, uint256 j)
public
view
returns (Auction[] memory)
{
Auction[] memory _auctions = new Auction[](j - i);
for (; i < j; ++i) {
_auctions[i] = auctions[i];
}
return _auctions;
}
/*
Rescue any ERC-20 tokens (doesnt include ETH) that are sent to this contract mistakenly
*/
function withdrawToken(address _token, uint256 _amount) public onlyOwner {
IERC20(_token).transferFrom(address(this), owner(), _amount);
}
function selfDestruct(address adr) public onlyOwner whenPaused {
selfdestruct(payable(adr));
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (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`, 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 be 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 Returns the account approved for `tokenId` token.
*
* Requirements:
*
* - `tokenId` must exist.
*/
function getApproved(uint256 tokenId) external view returns (address operator);
/**
* @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 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);
/**
* @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;
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
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 `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, 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 `from` to `to` 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 from,
address to,
uint256 amount
) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (security/Pausable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which allows children to implement an emergency stop
* mechanism that can be triggered by an authorized account.
*
* This module is used through inheritance. It will make available the
* modifiers `whenNotPaused` and `whenPaused`, which can be applied to
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
abstract contract Pausable is Context {
/**
* @dev Emitted when the pause is triggered by `account`.
*/
event Paused(address account);
/**
* @dev Emitted when the pause is lifted by `account`.
*/
event Unpaused(address account);
bool private _paused;
/**
* @dev Initializes the contract in unpaused state.
*/
constructor() {
_paused = false;
}
/**
* @dev Returns true if the contract is paused, and false otherwise.
*/
function paused() public view virtual returns (bool) {
return _paused;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*
* Requirements:
*
* - The contract must not be paused.
*/
modifier whenNotPaused() {
require(!paused(), "Pausable: paused");
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*
* Requirements:
*
* - The contract must be paused.
*/
modifier whenPaused() {
require(paused(), "Pausable: not paused");
_;
}
/**
* @dev Triggers stopped state.
*
* Requirements:
*
* - The contract must not be paused.
*/
function _pause() internal virtual whenNotPaused {
_paused = true;
emit Paused(_msgSender());
}
/**
* @dev Returns to normal state.
*
* Requirements:
*
* - The contract must be paused.
*/
function _unpause() internal virtual whenPaused {
_paused = false;
emit Unpaused(_msgSender());
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// 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);
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_nftTokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"nftTokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"bidder","type":"address"},{"indexed":false,"internalType":"uint256","name":"bidPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"transaction","type":"uint256"}],"name":"BidPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"nftTokenId","type":"uint256"},{"indexed":false,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"NFTClaimed","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":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"nftTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reservePrice","type":"uint256"},{"indexed":false,"internalType":"address","name":"seller","type":"address"}],"name":"PutOnAuction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"nftTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reservePrice","type":"uint256"},{"indexed":false,"internalType":"address","name":"seller","type":"address"}],"name":"ReservePriceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"AUCTION_LENGTH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIME_BUFFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nftTokenId","type":"uint256"}],"name":"bid","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nftTokenId","type":"uint256"}],"name":"distributeReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nftId","type":"uint256"}],"name":"getAuction","outputs":[{"components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"uint256","name":"reservePrice","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"components":[{"internalType":"address","name":"bidder","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct NFTAuctionSale.AuctionBid","name":"bid","type":"tuple"}],"internalType":"struct NFTAuctionSale.Auction","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"i","type":"uint256"},{"internalType":"uint256","name":"j","type":"uint256"}],"name":"getAuctionsBulk","outputs":[{"components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"uint256","name":"reservePrice","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"components":[{"internalType":"address","name":"bidder","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct NFTAuctionSale.AuctionBid","name":"bid","type":"tuple"}],"internalType":"struct NFTAuctionSale.Auction[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nftTokenId","type":"uint256"}],"name":"putOnAuction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"i","type":"uint256"},{"internalType":"uint256","name":"j","type":"uint256"}],"name":"putOnAuctionBulk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"selfDestruct","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_escrowAccount","type":"address"}],"name":"updateEscrowAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b506040516200159e3803806200159e83398101604081905262000034916200019b565b6200003f336200014b565b6000805460ff60a01b19169055600380546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526380ac58cd60e01b60048201526301ffc9a79060240160206040518083038186803b158015620000a657600080fd5b505afa158015620000bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e19190620001cb565b620001325760405162461bcd60e51b815260206004820152601b60248201527f41756374696f6e20746f6b656e206973206e6f74204552433732310000000000604482015260640160405180910390fd5b50600280546001600160a01b03191633179055620001ed565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620001ad578081fd5b81516001600160a01b0381168114620001c4578182fd5b9392505050565b600060208284031215620001dd578081fd5b81518015158114620001c4578182fd5b6113a180620001fd6000396000f3fe6080604052600436106100e85760003560e01c806378bd79351161008a5780639e281a98116100595780639e281a9814610263578063e2a414d214610283578063edff5d7d146102a3578063f2fde38b146102c357600080fd5b806378bd7935146101c15780638da5cb5b146101ee578063940a4e4514610216578063946b85a11461023657600080fd5b806353653131116100c657806353653131146101425780635c975abb1461016b578063635af9ad14610195578063715018a6146101ac57600080fd5b80632a1983ee146100ed5780633f5a0bdd1461010f578063454a2ab31461012f575b600080fd5b3480156100f957600080fd5b5061010d610108366004611102565b6102e3565b005b34801561011b57600080fd5b5061010d61012a366004611102565b610470565b61010d61013d36600461116c565b6104f6565b34801561014e57600080fd5b5061015861384081565b6040519081526020015b60405180910390f35b34801561017757600080fd5b50600054600160a01b900460ff166040519015158152602001610162565b3480156101a157600080fd5b506101586212750081565b3480156101b857600080fd5b5061010d610857565b3480156101cd57600080fd5b506101e16101dc36600461116c565b61088d565b60405161016291906112dd565b3480156101fa57600080fd5b506000546040516001600160a01b039091168152602001610162565b34801561022257600080fd5b5061010d61023136600461116c565b610924565b34801561024257600080fd5b50610256610251366004611184565b610b5d565b60405161016291906111e4565b34801561026f57600080fd5b5061010d61027e366004611123565b610ca8565b34801561028f57600080fd5b5061010d61029e366004611184565b610d80565b3480156102af57600080fd5b5061010d6102be36600461116c565b610df9565b3480156102cf57600080fd5b5061010d6102de366004611102565b610fb8565b6000546001600160a01b031633146103165760405162461bcd60e51b815260040161030d906112a8565b60405180910390fd5b6001600160a01b03811661035e5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b604482015260640161030d565b60035460025460405163e985e9c560e01b81526001600160a01b038481166004830152918216602482015291169063e985e9c59060440160206040518083038186803b1580156103ad57600080fd5b505afa1580156103c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e5919061114c565b61044e5760405162461bcd60e51b815260206004820152603460248201527f4e657720457363726f774163636f756e74206973206e6f7420617070726f76656044820152736420746f207472616e7366657220746f6b656e7360601b606482015260840161030d565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461049a5760405162461bcd60e51b815260040161030d906112a8565b600054600160a01b900460ff166104ea5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161030d565b806001600160a01b0316ff5b600054600160a01b900460ff16156105205760405162461bcd60e51b815260040161030d9061127e565b6000818152600160205260409020805434919060038201906001600160a01b03166105815760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb881b9bdd08199bdd5b99607a1b604482015260640161030d565b81546001600160a01b03163314156105db5760405162461bcd60e51b815260206004820152601860248201527f53656c6c65722063616e6e6f7420706c61636520626964730000000000000000604482015260640161030d565b42826002015410156106275760405162461bcd60e51b815260206004820152601560248201527443616e6e6f7420706c616365206e6577206269647360581b604482015260640161030d565b60018101546107265761063d8260010154611050565b83101561065c5760405162461bcd60e51b815260040161030d90611232565b604051806040016040528061066e3390565b6001600160a01b039081168252602091820186905282516003860180546001600160a01b03191691909216179055015160048301556002820154610384906106b7904290611323565b10156106d55761384082600201546106cf91906112eb565b60028301555b6040805185815233602082015280820185905242606082015243608082015290517fe0771bb8191f40e2c9380d044dd32271d56e14b7722162d048aa9ebe13eefbb19181900360a00190a150505050565b60006107358260010154611050565b9050808410156107575760405162461bcd60e51b815260040161030d90611232565b6040805180820190915282546001600160a01b0316815260018301546020820152600484018590556003840180546001600160a01b031916331790556002840154610384906107a7904290611323565b10156107c55761384084600201546107bf91906112eb565b60028501555b805160208201516040516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015610802573d6000803e3d6000fd5b506040805187815233602082015280820187905242606082015243608082015290517fe0771bb8191f40e2c9380d044dd32271d56e14b7722162d048aa9ebe13eefbb19181900360a00190a150505050505b50565b6000546001600160a01b031633146108815760405162461bcd60e51b815260040161030d906112a8565b61088b6000611096565b565b6108c46040805160808101825260008082526020808301829052828401829052835180850190945281845283015290606082015290565b50600090815260016020818152604092839020835160808101855281546001600160a01b03908116825293820154818401526002820154818601528451808601909552600382015490931684526004015490830152606081019190915290565b600081815260016020526040902060028101546003820190421161098a5760405162461bcd60e51b815260206004820152601960248201527f41756374696f6e207374696c6c20696e2070726f677265737300000000000000604482015260640161030d565b80546001600160a01b03166109d25760405162461bcd60e51b815260206004820152600e60248201526d139bc8189a591cc81c1b1858d95960921b604482015260640161030d565b6001820154610a175760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb8818dbdb5c1b195d1959607a1b604482015260640161030d565b600060018301556003546002548254604051632142170760e11b81526001600160a01b0392831660048201529082166024820152604481018690529116906342842e0e90606401600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b5050835460018401546040516001600160a01b03909216935080156108fc029250906000818181858888f19350505050158015610acd573d6000803e3d6000fd5b5080546001820154604080518681526001600160a01b0390931660208401528201527f92ffae31901780890e35bdc724fedb7601577492b5d4e3df85f785de59d737ab9060600160405180910390a150506000908152600160208190526040822080546001600160a01b031990811682559181018390556002810183905560038101805490921690915560040155565b60606000610b6b8484611323565b67ffffffffffffffff811115610b9157634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610bf957816020015b610be66040805160808101825260008082526020808301829052828401829052835180850190945281845283015290606082015290565b815260200190600190039081610baf5790505b5090505b82841015610c9f57600084815260016020818152604092839020835160808101855281546001600160a01b0390811682529382015481840152600282015481860152845180860190955260038201549093168452600401549083015260608101919091528151829086908110610c8357634e487b7160e01b600052603260045260246000fd5b602002602001018190525083610c989061133a565b9350610bfd565b90505b92915050565b6000546001600160a01b03163314610cd25760405162461bcd60e51b815260040161030d906112a8565b816001600160a01b03166323b872dd30610cf46000546001600160a01b031690565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260448101849052606401602060405180830381600087803b158015610d4357600080fd5b505af1158015610d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7b919061114c565b505050565b600054600160a01b900460ff1615610daa5760405162461bcd60e51b815260040161030d9061127e565b6000546001600160a01b03163314610dd45760405162461bcd60e51b815260040161030d906112a8565b80821015610df557610df082610de98161133a565b9350610df9565b610dd4565b5050565b600054600160a01b900460ff1615610e235760405162461bcd60e51b815260040161030d9061127e565b6000546001600160a01b03163314610e4d5760405162461bcd60e51b815260040161030d906112a8565b6000818152600160205260409020546001600160a01b031615610eab5760405162461bcd60e51b815260206004820152601660248201527527232a1030b63932b0b23c9037b71020bab1ba34b7b760511b604482015260640161030d565b6040518060800160405280610ebd3390565b6001600160a01b03168152662386f26fc100006020820152604001610ee562127500426112eb565b81526040805180820182526000808252602080830182905293840191909152848152600180845290829020845181546001600160a01b03199081166001600160a01b0392831617835586860151938301939093559285015160028201556060909401518051600386018054909316931692909217905501516004909101557fc48b5eb37e41c57c0078d8d2906452c35db2358fcb10a372bb8b2a9bf144410d81662386f26fc10000336040805193845260208401929092526001600160a01b03169082015260600160405180910390a150565b6000546001600160a01b03163314610fe25760405162461bcd60e51b815260040161030d906112a8565b6001600160a01b0381166110475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161030d565b61085481611096565b60008061106483662386f26fc100006112eb565b90506000611073601485611303565b61107d90856112eb565b905080821061108c578061108e565b815b949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146110fd57600080fd5b919050565b600060208284031215611113578081fd5b61111c826110e6565b9392505050565b60008060408385031215611135578081fd5b61113e836110e6565b946020939093013593505050565b60006020828403121561115d578081fd5b81518015158114610c9f578182fd5b60006020828403121561117d578081fd5b5035919050565b60008060408385031215611196578182fd5b50508035926020909101359150565b80516001600160a01b03908116835260208083015181850152604080840151908501526060928301518051909216928401929092520151608090910152565b6020808252825182820181905260009190848201906040850190845b81811015611226576112138385516111a5565b9284019260a09290920191600101611200565b50909695505050505050565b6020808252602c908201527f4e65772062696473206e6565647320746f20686967686572206279203525206f60408201526b3910181718189032ba3432b960a11b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60a08101610ca282846111a5565b600082198211156112fe576112fe611355565b500190565b60008261131e57634e487b7160e01b81526012600452602481fd5b500490565b60008282101561133557611335611355565b500390565b600060001982141561134e5761134e611355565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212208f7addd873d82da3d4c8baa9e3b19e8d3a970d3949f26f24b15e75e74b3716b864736f6c634300080400330000000000000000000000005165c0cd1c07b171469215f002c6873bb7952c54
Deployed Bytecode
0x6080604052600436106100e85760003560e01c806378bd79351161008a5780639e281a98116100595780639e281a9814610263578063e2a414d214610283578063edff5d7d146102a3578063f2fde38b146102c357600080fd5b806378bd7935146101c15780638da5cb5b146101ee578063940a4e4514610216578063946b85a11461023657600080fd5b806353653131116100c657806353653131146101425780635c975abb1461016b578063635af9ad14610195578063715018a6146101ac57600080fd5b80632a1983ee146100ed5780633f5a0bdd1461010f578063454a2ab31461012f575b600080fd5b3480156100f957600080fd5b5061010d610108366004611102565b6102e3565b005b34801561011b57600080fd5b5061010d61012a366004611102565b610470565b61010d61013d36600461116c565b6104f6565b34801561014e57600080fd5b5061015861384081565b6040519081526020015b60405180910390f35b34801561017757600080fd5b50600054600160a01b900460ff166040519015158152602001610162565b3480156101a157600080fd5b506101586212750081565b3480156101b857600080fd5b5061010d610857565b3480156101cd57600080fd5b506101e16101dc36600461116c565b61088d565b60405161016291906112dd565b3480156101fa57600080fd5b506000546040516001600160a01b039091168152602001610162565b34801561022257600080fd5b5061010d61023136600461116c565b610924565b34801561024257600080fd5b50610256610251366004611184565b610b5d565b60405161016291906111e4565b34801561026f57600080fd5b5061010d61027e366004611123565b610ca8565b34801561028f57600080fd5b5061010d61029e366004611184565b610d80565b3480156102af57600080fd5b5061010d6102be36600461116c565b610df9565b3480156102cf57600080fd5b5061010d6102de366004611102565b610fb8565b6000546001600160a01b031633146103165760405162461bcd60e51b815260040161030d906112a8565b60405180910390fd5b6001600160a01b03811661035e5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b604482015260640161030d565b60035460025460405163e985e9c560e01b81526001600160a01b038481166004830152918216602482015291169063e985e9c59060440160206040518083038186803b1580156103ad57600080fd5b505afa1580156103c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e5919061114c565b61044e5760405162461bcd60e51b815260206004820152603460248201527f4e657720457363726f774163636f756e74206973206e6f7420617070726f76656044820152736420746f207472616e7366657220746f6b656e7360601b606482015260840161030d565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461049a5760405162461bcd60e51b815260040161030d906112a8565b600054600160a01b900460ff166104ea5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161030d565b806001600160a01b0316ff5b600054600160a01b900460ff16156105205760405162461bcd60e51b815260040161030d9061127e565b6000818152600160205260409020805434919060038201906001600160a01b03166105815760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb881b9bdd08199bdd5b99607a1b604482015260640161030d565b81546001600160a01b03163314156105db5760405162461bcd60e51b815260206004820152601860248201527f53656c6c65722063616e6e6f7420706c61636520626964730000000000000000604482015260640161030d565b42826002015410156106275760405162461bcd60e51b815260206004820152601560248201527443616e6e6f7420706c616365206e6577206269647360581b604482015260640161030d565b60018101546107265761063d8260010154611050565b83101561065c5760405162461bcd60e51b815260040161030d90611232565b604051806040016040528061066e3390565b6001600160a01b039081168252602091820186905282516003860180546001600160a01b03191691909216179055015160048301556002820154610384906106b7904290611323565b10156106d55761384082600201546106cf91906112eb565b60028301555b6040805185815233602082015280820185905242606082015243608082015290517fe0771bb8191f40e2c9380d044dd32271d56e14b7722162d048aa9ebe13eefbb19181900360a00190a150505050565b60006107358260010154611050565b9050808410156107575760405162461bcd60e51b815260040161030d90611232565b6040805180820190915282546001600160a01b0316815260018301546020820152600484018590556003840180546001600160a01b031916331790556002840154610384906107a7904290611323565b10156107c55761384084600201546107bf91906112eb565b60028501555b805160208201516040516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015610802573d6000803e3d6000fd5b506040805187815233602082015280820187905242606082015243608082015290517fe0771bb8191f40e2c9380d044dd32271d56e14b7722162d048aa9ebe13eefbb19181900360a00190a150505050505b50565b6000546001600160a01b031633146108815760405162461bcd60e51b815260040161030d906112a8565b61088b6000611096565b565b6108c46040805160808101825260008082526020808301829052828401829052835180850190945281845283015290606082015290565b50600090815260016020818152604092839020835160808101855281546001600160a01b03908116825293820154818401526002820154818601528451808601909552600382015490931684526004015490830152606081019190915290565b600081815260016020526040902060028101546003820190421161098a5760405162461bcd60e51b815260206004820152601960248201527f41756374696f6e207374696c6c20696e2070726f677265737300000000000000604482015260640161030d565b80546001600160a01b03166109d25760405162461bcd60e51b815260206004820152600e60248201526d139bc8189a591cc81c1b1858d95960921b604482015260640161030d565b6001820154610a175760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb8818dbdb5c1b195d1959607a1b604482015260640161030d565b600060018301556003546002548254604051632142170760e11b81526001600160a01b0392831660048201529082166024820152604481018690529116906342842e0e90606401600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b5050835460018401546040516001600160a01b03909216935080156108fc029250906000818181858888f19350505050158015610acd573d6000803e3d6000fd5b5080546001820154604080518681526001600160a01b0390931660208401528201527f92ffae31901780890e35bdc724fedb7601577492b5d4e3df85f785de59d737ab9060600160405180910390a150506000908152600160208190526040822080546001600160a01b031990811682559181018390556002810183905560038101805490921690915560040155565b60606000610b6b8484611323565b67ffffffffffffffff811115610b9157634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610bf957816020015b610be66040805160808101825260008082526020808301829052828401829052835180850190945281845283015290606082015290565b815260200190600190039081610baf5790505b5090505b82841015610c9f57600084815260016020818152604092839020835160808101855281546001600160a01b0390811682529382015481840152600282015481860152845180860190955260038201549093168452600401549083015260608101919091528151829086908110610c8357634e487b7160e01b600052603260045260246000fd5b602002602001018190525083610c989061133a565b9350610bfd565b90505b92915050565b6000546001600160a01b03163314610cd25760405162461bcd60e51b815260040161030d906112a8565b816001600160a01b03166323b872dd30610cf46000546001600160a01b031690565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260448101849052606401602060405180830381600087803b158015610d4357600080fd5b505af1158015610d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7b919061114c565b505050565b600054600160a01b900460ff1615610daa5760405162461bcd60e51b815260040161030d9061127e565b6000546001600160a01b03163314610dd45760405162461bcd60e51b815260040161030d906112a8565b80821015610df557610df082610de98161133a565b9350610df9565b610dd4565b5050565b600054600160a01b900460ff1615610e235760405162461bcd60e51b815260040161030d9061127e565b6000546001600160a01b03163314610e4d5760405162461bcd60e51b815260040161030d906112a8565b6000818152600160205260409020546001600160a01b031615610eab5760405162461bcd60e51b815260206004820152601660248201527527232a1030b63932b0b23c9037b71020bab1ba34b7b760511b604482015260640161030d565b6040518060800160405280610ebd3390565b6001600160a01b03168152662386f26fc100006020820152604001610ee562127500426112eb565b81526040805180820182526000808252602080830182905293840191909152848152600180845290829020845181546001600160a01b03199081166001600160a01b0392831617835586860151938301939093559285015160028201556060909401518051600386018054909316931692909217905501516004909101557fc48b5eb37e41c57c0078d8d2906452c35db2358fcb10a372bb8b2a9bf144410d81662386f26fc10000336040805193845260208401929092526001600160a01b03169082015260600160405180910390a150565b6000546001600160a01b03163314610fe25760405162461bcd60e51b815260040161030d906112a8565b6001600160a01b0381166110475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161030d565b61085481611096565b60008061106483662386f26fc100006112eb565b90506000611073601485611303565b61107d90856112eb565b905080821061108c578061108e565b815b949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146110fd57600080fd5b919050565b600060208284031215611113578081fd5b61111c826110e6565b9392505050565b60008060408385031215611135578081fd5b61113e836110e6565b946020939093013593505050565b60006020828403121561115d578081fd5b81518015158114610c9f578182fd5b60006020828403121561117d578081fd5b5035919050565b60008060408385031215611196578182fd5b50508035926020909101359150565b80516001600160a01b03908116835260208083015181850152604080840151908501526060928301518051909216928401929092520151608090910152565b6020808252825182820181905260009190848201906040850190845b81811015611226576112138385516111a5565b9284019260a09290920191600101611200565b50909695505050505050565b6020808252602c908201527f4e65772062696473206e6565647320746f20686967686572206279203525206f60408201526b3910181718189032ba3432b960a11b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60a08101610ca282846111a5565b600082198211156112fe576112fe611355565b500190565b60008261131e57634e487b7160e01b81526012600452602481fd5b500490565b60008282101561133557611335611355565b500390565b600060001982141561134e5761134e611355565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212208f7addd873d82da3d4c8baa9e3b19e8d3a970d3949f26f24b15e75e74b3716b864736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005165c0cd1c07b171469215f002c6873bb7952c54
-----Decoded View---------------
Arg [0] : _nftTokenAddress (address): 0x5165C0CD1c07b171469215F002c6873Bb7952c54
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005165c0cd1c07b171469215f002c6873bb7952c54
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0.000001
Token Allocations
POL
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| POL | 100.00% | $0.111408 | 0.015 | $0.001671 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.