Address Contract Verified
Address
0xb0D8946714e0ee447EE316aEe334Fee775d0D8eb
Balance
0 ETH
Nonce
1
Code Size
7435 bytes
Creator
0x6140F00e...4cbB at tx 0xba117abf...54edeb
Indexed Transactions
0
Contract Bytecode
7435 bytes
0x608060405234801561000f575f5ffd5b50600436106100b2575f3560e01c80638da5cb5b1161006f5780638da5cb5b1461019c5780639add9716146101ba578063a376ed54146101ea578063b572801814610206578063be54622114610236578063f2fde38b14610254576100b2565b806301ffc9a7146100b65780631644164e146100e65780634a45b1f3146101025780635753271314610132578063645ac28e14610162578063715018a614610192575b5f5ffd5b6100d060048036038101906100cb9190610d94565b610270565b6040516100dd9190610dd9565b60405180910390f35b61010060048036038101906100fb9190610e4c565b6103a9565b005b61011c60048036038101906101179190610f7d565b6103f4565b6040516101299190610dd9565b60405180910390f35b61014c6004803603810190610147919061104d565b61074b565b604051610159919061109a565b60405180910390f35b61017c600480360381019061017791906110b3565b610793565b6040516101899190610dd9565b60405180910390f35b61019a610874565b005b6101a4610887565b6040516101b1919061109a565b60405180910390f35b6101d460048036038101906101cf9190611198565b6108ae565b6040516101e191906111e5565b60405180910390f35b61020460048036038101906101ff9190611346565b6108ce565b005b610220600480360381019061021b91906113b2565b610a7f565b60405161022d91906111e5565b60405180910390f35b61023e610a94565b60405161024b919061109a565b60405180910390f35b61026e60048036038101906102699190610e4c565b610ab9565b005b5f7f4a45b1f3000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061033a57507f645ac28e000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103a257507f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6103b1610b3d565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047b90611437565b60405180910390fd5b5f5f90505f5b60015f8d64ffffffffff1664ffffffffff1681526020019081526020015f2080549050811015610551578a73ffffffffffffffffffffffffffffffffffffffff1660015f8e64ffffffffff1664ffffffffff1681526020019081526020015f2082815481106104fc576104fb611455565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361054457600191505b808060010191505061048a565b505f3390505f8173ffffffffffffffffffffffffffffffffffffffff1663e1f332f18e6040518263ffffffff1660e01b81526004016105909190611491565b5f60405180830381865afa1580156105aa573d5f5f3e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906105d29190611af7565b9050600260048111156105e8576105e7611b3e565b5b8160c0015160200151600481111561060357610602611b3e565b5b03610738575f60035f8f64ffffffffff1664ffffffffff1681526020019081526020015f205f8e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905060025f8f64ffffffffff1664ffffffffff1681526020019081526020015f205481106106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be90611bb5565b60405180910390fd5b60035f8f64ffffffffff1664ffffffffff1681526020019081526020015f205f8e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548092919061073190611c00565b9190505550505b8293505050509998505050505050505050565b6001602052815f5260405f208181548110610764575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f5f90505f5b60015f8d64ffffffffff1664ffffffffff1681526020019081526020015f2080549050811015610861578a73ffffffffffffffffffffffffffffffffffffffff1660015f8e64ffffffffff1664ffffffffff1681526020019081526020015f20828154811061080c5761080b611455565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361085457600191505b808060010191505061079a565b50809150509a9950505050505050505050565b61087c610b3d565b6108855f610bc4565b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6003602052815f5260405f20602052805f5260405f205f91509150505481565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8173ffffffffffffffffffffffffffffffffffffffff1663e1f332f1866040518263ffffffff1660e01b815260040161092d9190611491565b5f60405180830381865afa158015610947573d5f5f3e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061096f9190611af7565b90503373ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1614806109e157506109b2610887565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1790611cb7565b60405180910390fd5b8360015f8764ffffffffff1664ffffffffff1681526020019081526020015f209080519060200190610a53929190610c8c565b508260025f8764ffffffffff1664ffffffffff1681526020019081526020015f20819055505050505050565b6002602052805f5260405f205f915090505481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ac1610b3d565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b31575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610b28919061109a565b60405180910390fd5b610b3a81610bc4565b50565b610b45610c85565b73ffffffffffffffffffffffffffffffffffffffff16610b63610887565b73ffffffffffffffffffffffffffffffffffffffff1614610bc257610b86610c85565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610bb9919061109a565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b828054828255905f5260205f20908101928215610d02579160200282015b82811115610d01578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190610caa565b5b509050610d0f9190610d13565b5090565b5b80821115610d2a575f815f905550600101610d14565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610d7381610d3f565b8114610d7d575f5ffd5b50565b5f81359050610d8e81610d6a565b92915050565b5f60208284031215610da957610da8610d37565b5b5f610db684828501610d80565b91505092915050565b5f8115159050919050565b610dd381610dbf565b82525050565b5f602082019050610dec5f830184610dca565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e1b82610df2565b9050919050565b610e2b81610e11565b8114610e35575f5ffd5b50565b5f81359050610e4681610e22565b92915050565b5f60208284031215610e6157610e60610d37565b5b5f610e6e84828501610e38565b91505092915050565b5f64ffffffffff82169050919050565b610e9081610e77565b8114610e9a575f5ffd5b50565b5f81359050610eab81610e87565b92915050565b5f819050919050565b610ec381610eb1565b8114610ecd575f5ffd5b50565b5f81359050610ede81610eba565b92915050565b5f62ffffff82169050919050565b610efb81610ee4565b8114610f05575f5ffd5b50565b5f81359050610f1681610ef2565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112610f3d57610f3c610f1c565b5b8235905067ffffffffffffffff811115610f5a57610f59610f20565b5b602083019150836001820283011115610f7657610f75610f24565b5b9250929050565b5f5f5f5f5f5f5f5f5f6101008a8c031215610f9b57610f9a610d37565b5b5f610fa88c828d01610e9d565b9950506020610fb98c828d01610e38565b9850506040610fca8c828d01610e38565b9750506060610fdb8c828d01610ed0565b9650506080610fec8c828d01610f08565b95505060a0610ffd8c828d01610ed0565b94505060c061100e8c828d01610e38565b93505060e08a013567ffffffffffffffff81111561102f5761102e610d3b565b5b61103b8c828d01610f28565b92509250509295985092959850929598565b5f5f6040838503121561106357611062610d37565b5b5f61107085828601610e9d565b925050602061108185828601610ed0565b9150509250929050565b61109481610e11565b82525050565b5f6020820190506110ad5f83018461108b565b92915050565b5f5f5f5f5f5f5f5f5f5f6101208b8d0312156110d2576110d1610d37565b5b5f6110df8d828e01610e38565b9a505060206110f08d828e01610e9d565b99505060406111018d828e01610e38565b98505060606111128d828e01610e38565b97505060806111238d828e01610ed0565b96505060a06111348d828e01610f08565b95505060c06111458d828e01610ed0565b94505060e06111568d828e01610e38565b9350506101008b013567ffffffffffffffff81111561117857611177610d3b565b5b6111848d828e01610f28565b92509250509295989b9194979a5092959850565b5f5f604083850312156111ae576111ad610d37565b5b5f6111bb85828601610e9d565b92505060206111cc85828601610e38565b9150509250929050565b6111df81610eb1565b82525050565b5f6020820190506111f85f8301846111d6565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611244826111fe565b810181811067ffffffffffffffff821117156112635761126261120e565b5b80604052505050565b5f611275610d2e565b9050611281828261123b565b919050565b5f67ffffffffffffffff8211156112a05761129f61120e565b5b602082029050602081019050919050565b5f6112c36112be84611286565b61126c565b905080838252602082019050602084028301858111156112e6576112e5610f24565b5b835b8181101561130f57806112fb8882610e38565b8452602084019350506020810190506112e8565b5050509392505050565b5f82601f83011261132d5761132c610f1c565b5b813561133d8482602086016112b1565b91505092915050565b5f5f5f6060848603121561135d5761135c610d37565b5b5f61136a86828701610e9d565b935050602084013567ffffffffffffffff81111561138b5761138a610d3b565b5b61139786828701611319565b92505060406113a886828701610ed0565b9150509250925092565b5f602082840312156113c7576113c6610d37565b5b5f6113d484828501610e9d565b91505092915050565b5f82825260208201905092915050565b7f4f6e6c79206d61726b6574706c6163652063616e2076657269667900000000005f82015250565b5f611421601b836113dd565b915061142c826113ed565b602082019050919050565b5f6020820190508181035f83015261144e81611415565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61148b81610e77565b82525050565b5f6020820190506114a45f830184611482565b92915050565b5f5ffd5b5f5ffd5b5f815190506114c081610eba565b92915050565b5f6114d082610df2565b9050919050565b6114e0816114c6565b81146114ea575f5ffd5b50565b5f815190506114fb816114d7565b92915050565b61150a81610dbf565b8114611514575f5ffd5b50565b5f8151905061152581611501565b92915050565b5f8151905061153981610ef2565b92915050565b5f61ffff82169050919050565b6115558161153f565b811461155f575f5ffd5b50565b5f815190506115708161154c565b92915050565b60058110611582575f5ffd5b50565b5f8151905061159381611576565b92915050565b5f815190506115a781610e22565b92915050565b5f65ffffffffffff82169050919050565b6115c7816115ad565b81146115d1575f5ffd5b50565b5f815190506115e2816115be565b92915050565b5f61014082840312156115fe576115fd6114aa565b5b61160961014061126c565b90505f611618848285016114b2565b5f83015250602061162b84828501611585565b602083015250604061163f8482850161152b565b60408301525060606116538482850161152b565b606083015250608061166784828501611562565b60808301525060a061167b84828501611562565b60a08301525060c061168f84828501611599565b60c08301525060e06116a384828501611599565b60e0830152506101006116b8848285016115d4565b610100830152506101206116ce848285016115d4565b6101208301525092915050565b600381106116e7575f5ffd5b50565b5f815190506116f8816116db565b92915050565b5f60808284031215611713576117126114aa565b5b61171d608061126c565b90505f61172c848285016114b2565b5f83015250602061173f84828501611599565b6020830152506040611753848285016116ea565b604083015250606061176784828501611517565b60608301525092915050565b5f67ffffffffffffffff82111561178d5761178c61120e565b5b602082029050602081019050919050565b5f604082840312156117b3576117b26114aa565b5b6117bd604061126c565b90505f6117cc848285016114ed565b5f8301525060206117df84828501611562565b60208301525092915050565b5f6117fd6117f884611773565b61126c565b905080838252602082019050604084028301858111156118205761181f610f24565b5b835b818110156118495780611835888261179e565b845260208401935050604081019050611822565b5050509392505050565b5f82601f83011261186757611866610f1c565b5b81516118778482602086016117eb565b91505092915050565b5f7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6118b281611880565b81146118bc575f5ffd5b50565b5f815190506118cd816118a9565b92915050565b5f604082840312156118e8576118e76114aa565b5b6118f2604061126c565b90505f61190184828501611562565b5f830152506020611914848285016118bf565b60208301525092915050565b5f60e08284031215611935576119346114aa565b5b61193f60e061126c565b90505f61194e848285016114b2565b5f830152506020611961848285016114ed565b602083015250604061197584828501611517565b604083015250606061198984828501611517565b606083015250608061199d84828501611517565b60808301525060a06119b1848285016115d4565b60a08301525060c06119c5848285016114ed565b60c08301525092915050565b5f6103c082840312156119e7576119e66114aa565b5b6119f261016061126c565b90505f611a01848285016114b2565b5f830152506020611a14848285016114ed565b6020830152506040611a2884828501611517565b6040830152506060611a3c8482850161152b565b6060830152506080611a5084828501611562565b60808301525060a0611a6484828501611562565b60a08301525060c0611a78848285016115e8565b60c083015250610200611a8d848285016116fe565b60e08301525061028082015167ffffffffffffffff811115611ab257611ab16114ae565b5b611abe84828501611853565b610100830152506102a0611ad4848285016118d3565b610120830152506102e0611aea84828501611920565b6101408301525092915050565b5f60208284031215611b0c57611b0b610d37565b5b5f82015167ffffffffffffffff811115611b2957611b28610d3b565b5b611b35848285016119d1565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f416c726561647920626f756768742074686973206c697374696e672e000000005f82015250565b5f611b9f601c836113dd565b9150611baa82611b6b565b602082019050919050565b5f6020820190508181035f830152611bcc81611b93565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c0a82610eb1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c3c57611c3b611bd3565b5b600182019050919050565b7f4f6e6c79206c69737465722063616e20636f6e666967757265206c697374696e5f8201527f672e000000000000000000000000000000000000000000000000000000000000602082015250565b5f611ca16022836113dd565b9150611cac82611c47565b604082019050919050565b5f6020820190508181035f830152611cce81611c95565b905091905056fea26469706673582212202214583cccb03b38214bb2d41fafc5d14dea8590b67c531e8f1ae7c8634792a664736f6c634300081c0033
Verified Source Code Full Match
Compiler: v0.8.28+commit.7893614a
EVM: cancun
Optimization: No
PrivateListings.sol 97 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/// @author: @yungwknd
import "@openzeppelin/contracts/access/Ownable.sol";
import "./Interfaces.sol";
contract PrivateListings is Ownable, IIdentityVerifier, IIdentityVerifierCheck {
/**
* @dev Mapping of marketplace listing id -> array of buyers
*/
mapping(uint40 => address[]) public _buyers;
/**
* @dev Mapping of marketplace listing id to how much of a token can be bought
*
* Helpful for case of ERC-1155 edition listings.
*
*/
mapping(uint40 => uint) public _buyerAmounts;
/**
* @dev Mapping of marketplace listing id to how much of a token has been bought
*
* Helpful for case of ERC-1155 edition listings.
*
*/
mapping(uint40 => mapping(address => uint)) public _boughtAmounts;
address public _marketplace;
constructor() Ownable(msg.sender) {}
function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165) returns (bool) {
return interfaceId == type(IIdentityVerifier).interfaceId || interfaceId == type(IIdentityVerifierCheck).interfaceId || interfaceId == type(IERC165).interfaceId;
}
function adminConfigure(address marketplace) public onlyOwner {
_marketplace = marketplace;
}
/**
* @dev Configure buyer for given listing on given marketplace
*
* @param listingId which listingId this is for
* @param buyers who is allowed to interact with this listing
* @param amount how many of the token can be bought
*/
function configure(uint40 listingId, address[] memory buyers, uint amount) external {
IMarketplaceCore mktplace = IMarketplaceCore(_marketplace);
IMarketplaceCore.Listing memory listing = mktplace.getListing(listingId);
require(listing.seller == msg.sender || msg.sender == owner(), "Only lister can configure listing.");
_buyers[listingId] = buyers;
_buyerAmounts[listingId] = amount;
}
/**
* @dev see {IIdentityVerifier-verify}.
*/
function verify(uint40 listingId, address identity, address, uint256, uint24, uint256, address, bytes calldata) external override returns (bool) {
require(msg.sender == _marketplace, "Only marketplace can verify");
// Case of bidding
bool canBid = false;
for (uint i; i < _buyers[listingId].length; i++) {
if (_buyers[listingId][i] == identity) {
canBid = true;
}
}
// Case of buying
IMarketplaceCore mktplace = IMarketplaceCore(msg.sender);
IMarketplaceCore.Listing memory listing = mktplace.getListing(listingId);
if (listing.details.type_ == IMarketplaceCore.ListingType.FIXED_PRICE) {
uint boughtAmount = _boughtAmounts[listingId][identity];
require(boughtAmount < _buyerAmounts[listingId], "Already bought this listing.");
_boughtAmounts[listingId][identity]++;
}
return canBid;
}
/**
* @dev see {IIdentityVerifierCheck-checkVerify}.
*/
function checkVerify(address, uint40 listingId, address identity, address, uint256, uint24, uint256, address, bytes calldata) external override view returns (bool) {
bool canBid = false;
for (uint i; i < _buyers[listingId].length; i++) {
if (_buyers[listingId][i] == identity) {
canBid = true;
}
}
return canBid;
}
}
Ownable.sol 100 lines
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
pragma solidity ^0.8.20;
import {Context} from "../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.
*
* The initial owner is set to the address provided by the deployer. 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;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
/**
* @dev The owner is not a valid owner account. (eg. `address(0)`)
*/
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the address provided by the deployer as the initial owner.
*/
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling 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 {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_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);
}
}
Interfaces.sol 77 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/utils/introspection/IERC165.sol";
interface IMarketplaceCore {
enum ListingType {
INVALID,
INDIVIDUAL_AUCTION,
FIXED_PRICE,
DYNAMIC_PRICE,
RANKED_AUCTION
}
enum Spec {
NONE,
ERC721,
ERC1155
}
struct TokenDetails {
uint256 id;
address address_;
Spec spec;
bool lazy;
}
struct ListingReceiver {
address payable receiver;
uint16 receiverBPS;
}
struct DeliveryFees {
uint16 deliverBPS;
uint240 deliverFixed;
}
struct ListingDetails {
uint256 initialAmount;
ListingType type_;
uint24 totalAvailable;
uint24 totalPerSale;
uint16 extensionInterval;
uint16 minIncrementBPS;
address erc20;
address identityVerifier;
uint48 startTime;
uint48 endTime;
}
struct Bid {
uint256 amount;
address payable bidder;
bool delivered;
bool settled;
bool refunded;
uint48 timestamp;
address payable referrer;
}
struct Listing {
uint256 id;
address payable seller;
bool finalized;
uint24 totalSold;
uint16 marketplaceBPS;
uint16 referrerBPS;
ListingDetails details;
TokenDetails token;
ListingReceiver[] receivers;
DeliveryFees fees;
Bid bid;
}
function getListing(uint40 listingId) external view returns(Listing memory);
}
interface IIdentityVerifierCheck is IERC165 {
function checkVerify(address marketplaceAddress, uint40 listingId, address identity, address tokenAddress, uint256 tokenId, uint24 requestCount, uint256 requestAmount, address requestERC20, bytes calldata data) external view returns (bool);
}
interface IIdentityVerifier is IERC165 {
function verify(uint40 listingId, address identity, address tokenAddress, uint256 tokenId, uint24 requestCount, uint256 requestAmount, address requestERC20, bytes calldata data) external returns (bool);
}
Context.sol 28 lines
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @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;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}
IERC165.sol 25 lines
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/IERC165.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC-165 standard, as defined in the
* https://eips.ethereum.org/EIPS/eip-165[ERC].
*
* 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[ERC 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);
}
Read Contract
_boughtAmounts 0x9add9716 → uint256
_buyerAmounts 0xb5728018 → uint256
_buyers 0x57532713 → address
_marketplace 0xbe546221 → address
checkVerify 0x645ac28e → bool
owner 0x8da5cb5b → address
supportsInterface 0x01ffc9a7 → bool
Write Contract 5 functions
These functions modify contract state and require a wallet transaction to execute.
adminConfigure 0x1644164e
address marketplace
configure 0xa376ed54
uint40 listingId
address[] buyers
uint256 amount
renounceOwnership 0x715018a6
No parameters
transferOwnership 0xf2fde38b
address newOwner
verify 0x4a45b1f3
uint40 listingId
address identity
address
uint256
uint24
uint256
address
bytes
returns: bool
Recent Transactions
No transactions found for this address