Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
There are no matching entriesUpdate your filters to view other transactions | |||||||||
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SafeCollectionBidPolicyERC721
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 800 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
import {Order, AssetType} from "../lib/OrderStructs.sol";
import {IMatchingPolicy} from "../interfaces/IMatchingPolicy.sol";
/**
* @title SafeCollectionBidPolicyERC721
* @dev Policy for matching orders where buyer will purchase any NON-SUSPICIOUS token from a collection
*/
contract SafeCollectionBidPolicyERC721 is IMatchingPolicy {
function canMatchMakerAsk(Order calldata makerAsk, Order calldata takerBid)
external
pure
override
returns (
bool,
uint256,
uint256,
uint256,
AssetType
)
{
revert("Cannot be matched");
}
function canMatchMakerBid(Order calldata makerBid, Order calldata takerAsk)
external
pure
override
returns (
bool,
uint256,
uint256,
uint256,
AssetType
)
{
return (
(makerBid.side != takerAsk.side) &&
(makerBid.paymentToken == takerAsk.paymentToken) &&
(makerBid.collection == takerAsk.collection) &&
(makerBid.extraParams.length > 0 && makerBid.extraParams[0] == "\x01") &&
(takerAsk.extraParams.length > 0 && takerAsk.extraParams[0] == "\x01") &&
(makerBid.amount == 1) &&
(takerAsk.amount == 1) &&
(makerBid.matchingPolicy == takerAsk.matchingPolicy) &&
(makerBid.price == takerAsk.price),
makerBid.price,
takerAsk.tokenId,
1,
AssetType.ERC721
);
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
enum Side { Buy, Sell }
enum SignatureVersion { Single, Bulk }
enum AssetType { ERC721, ERC1155 }
struct Fee {
uint16 rate;
address payable recipient;
}
struct Order {
address trader;
Side side;
address matchingPolicy;
address collection;
uint256 tokenId;
uint256 amount;
address paymentToken;
uint256 price;
uint256 listingTime;
/* Order expiration timestamp - 0 for oracle cancellations. */
uint256 expirationTime;
Fee[] fees;
uint256 salt;
bytes extraParams;
}
struct Input {
Order order;
uint8 v;
bytes32 r;
bytes32 s;
bytes extraSignature;
SignatureVersion signatureVersion;
uint256 blockNumber;
}
struct Execution {
Input sell;
Input buy;
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
import {Order, AssetType} from "../lib/OrderStructs.sol";
interface IMatchingPolicy {
function canMatchMakerAsk(Order calldata makerAsk, Order calldata takerBid)
external
view
returns (
bool,
uint256,
uint256,
uint256,
AssetType
);
function canMatchMakerBid(Order calldata makerBid, Order calldata takerAsk)
external
view
returns (
bool,
uint256,
uint256,
uint256,
AssetType
);
}{
"metadata": {
"bytecodeHash": "none"
},
"optimizer": {
"enabled": true,
"runs": 800
},
"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":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"enum Side","name":"side","type":"uint8"},{"internalType":"address","name":"matchingPolicy","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"listingTime","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"components":[{"internalType":"uint16","name":"rate","type":"uint16"},{"internalType":"address payable","name":"recipient","type":"address"}],"internalType":"struct Fee[]","name":"fees","type":"tuple[]"},{"internalType":"uint256","name":"salt","type":"uint256"},{"internalType":"bytes","name":"extraParams","type":"bytes"}],"internalType":"struct Order","name":"makerAsk","type":"tuple"},{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"enum Side","name":"side","type":"uint8"},{"internalType":"address","name":"matchingPolicy","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"listingTime","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"components":[{"internalType":"uint16","name":"rate","type":"uint16"},{"internalType":"address payable","name":"recipient","type":"address"}],"internalType":"struct Fee[]","name":"fees","type":"tuple[]"},{"internalType":"uint256","name":"salt","type":"uint256"},{"internalType":"bytes","name":"extraParams","type":"bytes"}],"internalType":"struct Order","name":"takerBid","type":"tuple"}],"name":"canMatchMakerAsk","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"enum AssetType","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"enum Side","name":"side","type":"uint8"},{"internalType":"address","name":"matchingPolicy","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"listingTime","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"components":[{"internalType":"uint16","name":"rate","type":"uint16"},{"internalType":"address payable","name":"recipient","type":"address"}],"internalType":"struct Fee[]","name":"fees","type":"tuple[]"},{"internalType":"uint256","name":"salt","type":"uint256"},{"internalType":"bytes","name":"extraParams","type":"bytes"}],"internalType":"struct Order","name":"makerBid","type":"tuple"},{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"enum Side","name":"side","type":"uint8"},{"internalType":"address","name":"matchingPolicy","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"listingTime","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"components":[{"internalType":"uint16","name":"rate","type":"uint16"},{"internalType":"address payable","name":"recipient","type":"address"}],"internalType":"struct Fee[]","name":"fees","type":"tuple[]"},{"internalType":"uint256","name":"salt","type":"uint256"},{"internalType":"bytes","name":"extraParams","type":"bytes"}],"internalType":"struct Order","name":"takerAsk","type":"tuple"}],"name":"canMatchMakerBid","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"enum AssetType","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506104ab806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630813a7661461003b578063d5ec8c7714610068575b600080fd5b61004e610049366004610322565b61007b565b60405161005f95949392919061039c565b60405180910390f35b61004e610076366004610322565b6102ae565b60008080808061009160408701602088016103e9565b60018111156100a2576100a2610386565b6100b26040890160208a016103e9565b60018111156100c3576100c3610386565b1415801561010057506100dc60e0870160c08801610411565b6001600160a01b03166100f560e0890160c08a01610411565b6001600160a01b0316145b801561013b57506101176080870160608801610411565b6001600160a01b03166101306080890160608a01610411565b6001600160a01b0316145b80156101ae5750600061015261018089018961043a565b90501180156101ae575061016a61018088018861043a565b600081811061017b5761017b610488565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600160f81b145b8015610221575060006101c561018088018861043a565b905011801561022157506101dd61018087018761043a565b60008181106101ee576101ee610488565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600160f81b145b801561023157508660a001356001145b801561024157508560a001356001145b801561027c57506102586060870160408801610411565b6001600160a01b03166102716060890160408a01610411565b6001600160a01b0316145b801561028f57508560e001358760e00135145b9450505060e08501359150506080830135600160009295509295909350565b600080600080600060405162461bcd60e51b81526004016103009060208082526011908201527f43616e6e6f74206265206d617463686564000000000000000000000000000000604082015260600190565b60405180910390fd5b60006101a0828403121561031c57600080fd5b50919050565b6000806040838503121561033557600080fd5b823567ffffffffffffffff8082111561034d57600080fd5b61035986838701610309565b9350602085013591508082111561036f57600080fd5b5061037c85828601610309565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b600060a0820190508615158252856020830152846040830152836060830152600283106103d957634e487b7160e01b600052602160045260246000fd5b8260808301529695505050505050565b6000602082840312156103fb57600080fd5b81356002811061040a57600080fd5b9392505050565b60006020828403121561042357600080fd5b81356001600160a01b038116811461040a57600080fd5b6000808335601e1984360301811261045157600080fd5b83018035915067ffffffffffffffff82111561046c57600080fd5b60200191503681900382131561048157600080fd5b9250929050565b634e487b7160e01b600052603260045260246000fdfea164736f6c6343000811000a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100365760003560e01c80630813a7661461003b578063d5ec8c7714610068575b600080fd5b61004e610049366004610322565b61007b565b60405161005f95949392919061039c565b60405180910390f35b61004e610076366004610322565b6102ae565b60008080808061009160408701602088016103e9565b60018111156100a2576100a2610386565b6100b26040890160208a016103e9565b60018111156100c3576100c3610386565b1415801561010057506100dc60e0870160c08801610411565b6001600160a01b03166100f560e0890160c08a01610411565b6001600160a01b0316145b801561013b57506101176080870160608801610411565b6001600160a01b03166101306080890160608a01610411565b6001600160a01b0316145b80156101ae5750600061015261018089018961043a565b90501180156101ae575061016a61018088018861043a565b600081811061017b5761017b610488565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600160f81b145b8015610221575060006101c561018088018861043a565b905011801561022157506101dd61018087018761043a565b60008181106101ee576101ee610488565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600160f81b145b801561023157508660a001356001145b801561024157508560a001356001145b801561027c57506102586060870160408801610411565b6001600160a01b03166102716060890160408a01610411565b6001600160a01b0316145b801561028f57508560e001358760e00135145b9450505060e08501359150506080830135600160009295509295909350565b600080600080600060405162461bcd60e51b81526004016103009060208082526011908201527f43616e6e6f74206265206d617463686564000000000000000000000000000000604082015260600190565b60405180910390fd5b60006101a0828403121561031c57600080fd5b50919050565b6000806040838503121561033557600080fd5b823567ffffffffffffffff8082111561034d57600080fd5b61035986838701610309565b9350602085013591508082111561036f57600080fd5b5061037c85828601610309565b9150509250929050565b634e487b7160e01b600052602160045260246000fd5b600060a0820190508615158252856020830152846040830152836060830152600283106103d957634e487b7160e01b600052602160045260246000fd5b8260808301529695505050505050565b6000602082840312156103fb57600080fd5b81356002811061040a57600080fd5b9392505050565b60006020828403121561042357600080fd5b81356001600160a01b038116811461040a57600080fd5b6000808335601e1984360301811261045157600080fd5b83018035915067ffffffffffffffff82111561046c57600080fd5b60200191503681900382131561048157600080fd5b9250929050565b634e487b7160e01b600052603260045260246000fdfea164736f6c6343000811000a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.