DECOMPILED SOLIDITY (Heimdall)
VERIFY
// SPDX-License-Identifier: MIT
pragma solidity > = 0.8 . 0 ;
/// @title Decompiled Contract
/// @author Jonathan Becker <jonathan@jbecker.dev>
/// @custom:version heimdall-rs v0.9.2
///
/// @notice This contract was decompiled using the heimdall-rs decompiler.
/// It was generated directly by tracing the EVM opcodes from this contract.
/// As a result, it may not compile or even be valid solidity code.
/// Despite this, it should be obvious what each function does. Overall
/// logic should have been preserved throughout decompiling.
///
/// @custom:github You can find the open-source decompiler here:
/// https://heimdall.rs
contract DecompiledContract {
uint256 public constant MAX_FEE_BPS = 1000 ;
uint256 public constant MAX_ROYALTY_BPS = 1000 ;
uint256 public constant unresolved_a7fcce57 = 120000 ;
uint256 public constant PERMIT2 = 180847076211518657644945212059388835 ;
address public pendingOwner;
address public owner;
bytes32 store_d;
uint16 public feeBps;
mapping ( bytes32 = > bytes32 ) storage_map_g;
mapping ( bytes32 = > bytes32 ) storage_map_e;
mapping ( bytes32 = > bytes32 ) storage_map_c;
error CustomError_00000000( ) ;
event FeeChanged( uint16 , address ) ;
event OwnershipTransferStarted( address , address ) ;
event NonceBumped( address , uint256 ) ;
event OrderCancelled( bytes32 , address ) ;
event OwnershipTransferred( address , address ) ;
/// @custom:selector 0x715018a6
/// @custom:signature renounceOwnership() public payable returns (uint256)
function renounceOwnership( ) public payable returns ( uint256 ) {
require ( msg. value) ;
require ( ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc ) < 0 ) ;
require ( msg. sender - ( address ( owner) ) , CustomError_118cdaa7( ) ) ;
pendingOwner = uint96 ( pendingOwner) ;
owner = uint96 ( owner) ;
emit OwnershipTransferred( address ( owner) , 0 ) ;
return ;
}
/// @custom:selector 0x79ba5097
/// @custom:signature acceptOwnership() public payable returns (uint256)
function acceptOwnership( ) public payable returns ( uint256 ) {
require ( msg. value) ;
require ( ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc ) < 0 ) ;
require ( address ( pendingOwner) - msg. sender, CustomError_118cdaa7( ) ) ;
pendingOwner = uint96 ( pendingOwner) ;
owner = ( uint96 ( owner) ) | msg. sender;
emit OwnershipTransferred( address ( owner) , msg. sender) ;
return ;
}
/// @custom:selector 0x5511f319
/// @custom:signature cancelledOrFilled(bytes32 arg0) public view returns (bool)
/// @param arg0 ["uint256", "bytes32", "int256"]
function cancelledOrFilled( bytes32 arg0) public view returns ( bool ) {
require ( msg. value) ;
require ( ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) < 0x20 ) ;
uint256 var_a = arg0;
return ! ( ! bytes1 ( storage_map_c[ var_a] ) ) ;
}
/// @custom:selector 0x0a4d2aa5
/// @custom:signature Unresolved_0a4d2aa5(uint256 arg0, uint256 arg1, bool arg2, bool arg3, bool arg4, address arg5, uint256 arg6, uint256 arg7, address arg8, uint256 arg9, uint256 arg10, uint64 arg11, uint64 arg12, uint256 arg13, uint256 arg14) public payable returns (uint256)
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
/// @param arg2 ["bool", "uint8", "bytes1", "int8"]
/// @param arg3 ["bool", "uint8", "bytes1", "int8"]
/// @param arg4 ["bool", "uint8", "bytes1", "int8"]
/// @param arg5 ["address", "uint160", "bytes20", "int160"]
/// @param arg6 ["uint256", "bytes32", "int256"]
/// @param arg7 ["uint256", "bytes32", "int256"]
/// @param arg8 ["address", "uint160", "bytes20", "int160"]
/// @param arg9 ["uint256", "bytes32", "int256"]
/// @param arg10 ["uint256", "bytes32", "int256"]
/// @param arg11 ["uint64", "bytes8", "int64"]
/// @param arg12 ["uint64", "bytes8", "int64"]
/// @param arg13 ["uint256", "bytes32", "int256"]
/// @param arg14 ["uint256", "bytes32", "int256"]
function Unresolved_0a4d2aa5 ( uint256 arg0, uint256 arg1, bool arg2, bool arg3, bool arg4, address arg5, uint256 arg6, uint256 arg7, address arg8, uint256 arg9, uint256 arg10, uint64 arg11, uint64 arg12, uint256 arg13, uint256 arg14) public payable returns ( uint256 ) {
require ( ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) < 0x40 ) ;
require ( arg0 > 0xffffffffffffffff ) ;
require ( ! ( arg0 + 0x23 ) < msg. data. length) ;
require ( arg0 > 0xffffffffffffffff ) ;
require ( ( ( arg0 + ( arg0 * 0x01c0 ) ) + 0x24 ) > msg. data. length) ;
require ( arg1 > 0xffffffffffffffff ) ;
require ( arg1 > 0xffffffffffffffff ) ;
require ( store_d = = 0x02 , CustomError_3ee5aeb5( ) ) ;
store_d = 0x02 ;
require ( ! ( arg0 = = ( arg1) ) , "len" ) ;
require ( 0 < ( arg0) ) ;
require ( msg. data[ ( arg0 + 0 ) + 0x44 ] - ( bytes1 ( msg. data[ ( arg0 + 0 ) + 0x44 ] ) ) ) ;
require ( ! ( bytes1 ( msg. data[ ( arg0 + 0 ) + 0x44 ] ) ) , CustomError_8f3723ea( ) ) ;
require ( ! ( ! bytes1 ( msg. data[ ( arg0 + 0 ) + 0x44 ] ) ) , CustomError_8f3723ea( ) ) ;
require ( msg. data[ ( arg0 + 0 ) + 0x0104 ] - ( address ( msg. data[ ( arg0 + 0 ) + 0x0104 ] ) ) ) ;
require ( address ( msg. data[ ( arg0 + 0 ) + 0x0104 ] ) , CustomError_ca0a69a7( ) ) ;
require ( msg. data[ ( arg0 + 0 ) + 0x24 ] - ( address ( msg. data[ ( arg0 + 0 ) + 0x24 ] ) ) ) ;
require ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0x20 ] - ( bytes1 ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0x20 ] ) ) ) ;
require ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0x40 ] - ( bytes1 ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0x40 ] ) ) ) ;
require ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0x60 ] - ( bytes1 ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0x60 ] ) ) ) ;
require ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0x80 ] - ( address ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0x80 ] ) ) ) ;
require ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0xe0 ] - ( address ( msg. data[ ( ( arg0 + 0 ) + 0x24 ) + 0xe0 ] ) ) ) ;
require ( msg. data[ 0x0140 + ( ( arg0 + 0 ) + 0x24 ) ] - ( uint64 ( msg. data[ 0x0140 + ( ( arg0 + 0 ) + 0x24 ) ] ) ) ) ;
require ( msg. data[ 0x0160 + ( ( arg0 + 0 ) + 0x24 ) ] - ( uint64 ( msg. data[ 0x0160 + ( ( arg0 + 0 ) + 0x24 ) ] ) ) ) ;
if ( ( ( var_t + 0x0200 ) > 0xffffffffffffffff ) | ( ( var_t + 0x0200 ) < var_t) ) {
uint256 var_t = var_t + 0x0200 ;
require ( ( ( var_t + 0x0200 ) > 0xffffffffffffffff ) | ( ( var_t + 0x0200 ) < var_t) , CustomError_98d4901c( ) ) ;
require ( 0x0171 - block. chainid, CustomError_98d4901c( ) ) ;
var_t = var_t + 0x80 ;
var_u = keccak256( var_ab) ;
require ( ( ( var_t + 0x80 ) > 0xffffffffffffffff ) | ( ( var_t + 0x80 ) < var_t) , CustomError_98d4901c( ) ) ;
require ( ! ( bytes1 ( storage_map_e[ var_u] ) ) , CustomError_98d4901c( ) ) ;
require ( ! ( bytes1 ( storage_map_e[ var_u] ) ) , CustomError_98d4901c( ) ) ;
require ( ! ( bytes1 ( storage_map_e[ var_u] ) ) , CustomError_98d4901c( ) ) ;
require ( bytes1 ( storage_map_e[ var_u] ) , CustomError_98d4901c( ) ) ;
require ( ! ( ! msg. data[ ( arg0 + 0 ) + 0xe4 ] ) , CustomError_98d4901c( ) ) ;
}
require ( ( ( var_t + 0xc0 ) > 0xffffffffffffffff ) | ( ( var_t + 0xc0 ) < var_t) , CustomError_98d4901c( ) ) ;
require ( msg. value < 0 , CustomError_98d4901c( ) ) ;
require ( msg. value > 0 , CustomError_90b8ec18( ) ) ;
require ( ( msg. value - 0 ) > msg. value, CustomError_90b8ec18( ) ) ;
( bool success, bytes memory ret0) = address ( msg. sender) . transfer( msg. value - 0 ) ;
require ( ! ret0. length, CustomError_90b8ec18( ) ) ;
store_d = 0x01 ;
return ;
require ( ret0. length > 0xffffffffffffffff ) ;
require ( ( ( var_t + ( uint248 ( ( 0x20 + ( ret0. length + 0x1f ) ) + 0x1f ) ) ) > 0xffffffffffffffff ) | ( ( var_t + ( uint248 ( ( 0x20 + ( ret0. length + 0x1f ) ) + 0x1f ) ) ) < var_t) ) ;
store_d = 0x01 ;
return ;
}
/// @custom:selector 0x70ae92d2
/// @custom:signature nonce(address arg0) public view returns (uint256)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function nonce( address arg0) public view returns ( uint256 ) {
require ( msg. value) ;
require ( ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) < 0x20 ) ;
require ( arg0 - ( address ( arg0) ) ) ;
address var_a = address ( arg0) ;
return storage_map_c[ var_a] ;
}
/// @custom:selector 0xf2fde38b
/// @custom:signature transferOwnership(address arg0) public payable returns (uint256)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function transferOwnership( address arg0) public payable returns ( uint256 ) {
require ( msg. value) ;
require ( ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) < 0x20 ) ;
require ( arg0 - ( address ( arg0) ) ) ;
require ( msg. sender - ( address ( owner) ) , CustomError_118cdaa7( ) ) ;
pendingOwner = ( address ( arg0) ) | ( uint96 ( pendingOwner) ) ;
emit OwnershipTransferStarted( address ( owner) , address ( arg0) ) ;
return ;
}
/// @custom:selector 0x161626ba
/// @custom:signature Unresolved_161626ba(uint256 arg0, bool arg1, bool arg2, uint256 arg3, uint256 arg4, uint256 arg5, uint256 arg6, uint256 arg7, uint256 arg8) public payable
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["bool", "uint8", "bytes1", "int8"]
/// @param arg3 ["bool", "uint8", "bytes1", "int8"]
/// @param arg5 ["uint256", "bytes32", "int256"]
/// @param arg6 ["uint256", "bytes32", "int256"]
/// @param arg14 ["uint256", "bytes32", "int256"]
/// @param arg21 ["uint256", "bytes32", "int256"]
/// @param arg22 ["uint256", "bytes32", "int256"]
/// @param arg23 ["uint256", "bytes32", "int256"]
function Unresolved_161626ba ( uint256 arg0, bool arg1, bool arg2, uint256 arg3, uint256 arg4, uint256 arg5, uint256 arg6, uint256 arg7, uint256 arg8) public payable {
require ( ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc ) < 0x0300 ) ;
require ( 0x01c0 > ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc ) ) ;
require ( arg14 > 0xffffffffffffffff ) ;
require ( arg14 > 0xffffffffffffffff ) ;
require ( ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1c ) < 0xc0 ) ;
require ( arg21 > 0xffffffffffffffff ) ;
require ( arg21 > 0xffffffffffffffff ) ;
require ( arg23 > 0xffffffffffffffff ) ;
require ( arg23 > 0xffffffffffffffff ) ;
require ( store_d = = 0x02 , CustomError_3ee5aeb5( ) ) ;
store_d = 0x02 ;
require ( arg1 - ( bytes1 ( arg1) ) ) ;
require ( bytes1 ( arg1) , CustomError_8f3723ea( ) ) ;
require ( arg3 - ( bytes1 ( arg3) ) ) ;
require ( bytes1 ( arg3) , CustomError_936bb5ad( ) ) ;
require ( ! ( arg22 = = arg5) , CustomError_936bb5ad( ) ) ;
require ( arg22, CustomError_936bb5ad( ) ) ;
require ( ! arg6, CustomError_749b5939( ) ) ;
}
/// @custom:selector 0xf698da25
/// @custom:signature domainSeparator() public view returns (uint256)
function domainSeparator( ) public view returns ( uint256 ) {
require ( msg. value) ;
require ( ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc ) < 0 ) ;
if ( 0x0171 - block. chainid) {
return 0xf23ef48696c11017a55a86cbf6e6cffa68e24b4be144c28141627cc860f7ffa2 ;
if ( ( ( var_g + 0xc0 ) > 0xffffffffffffffff ) | ( ( var_g + 0xc0 ) < var_g) ) {
return keccak256( var_k) ;
}
}
}
/// @custom:selector 0x88fa8dc4
/// @custom:signature Unresolved_88fa8dc4(uint256 arg0, uint256 arg1) public view returns (bool)
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function Unresolved_88fa8dc4 ( uint256 arg0, uint256 arg1) public view returns ( bool ) {
require ( msg. value) ;
require ( ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) < 0x40 ) ;
var_a = arg1;
return ! ( ! bytes1 ( storage_map_c[ var_a] ) ) ;
}
/// @custom:selector 0x1f12d904
/// @custom:signature Unresolved_1f12d904(uint256 arg0, bool arg1, bool arg2, bool arg3, address arg4, uint256 arg5, uint256 arg6, address arg7, uint256 arg8, uint256 arg9, uint64 arg10, uint64 arg11, uint256 arg12, uint256 arg13, uint256 arg14, uint256 arg15, uint256 arg16) public payable returns (uint256)
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["bool", "uint8", "bytes1", "int8"]
/// @param arg2 ["bool", "uint8", "bytes1", "int8"]
/// @param arg3 ["bool", "uint8", "bytes1", "int8"]
/// @param arg4 ["address", "uint160", "bytes20", "int160"]
/// @param arg5 ["uint256", "bytes32", "int256"]
/// @param arg6 ["uint256", "bytes32", "int256"]
/// @param arg7 ["address", "uint160", "bytes20", "int160"]
/// @param arg8 ["uint256", "bytes32", "int256"]
/// @param arg9 ["uint256", "bytes32", "int256"]
/// @param arg10 ["uint64", "bytes8", "int64"]
/// @param arg11 ["uint64", "bytes8", "int64"]
/// @param arg12 ["uint256", "bytes32", "int256"]
/// @param arg13 ["uint256", "bytes32", "int256"]
/// @param arg14 ["uint256", "bytes32", "int256"]
/// @param arg15 ["uint256", "bytes32", "int256"]
/// @param arg16 ["uint256", "bytes32", "int256"]
function Unresolved_1f12d904 ( uint256 arg0, bool arg1, bool arg2, bool arg3, address arg4, uint256 arg5, uint256 arg6, address arg7, uint256 arg8, uint256 arg9, uint64 arg10, uint64 arg11, uint256 arg12, uint256 arg13, uint256 arg14, uint256 arg15, uint256 arg16) public payable returns ( uint256 ) {
require ( ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) < 0x0220 ) ;
require ( 0x01c0 > ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) ) ;
require ( arg14 > 0xffffffffffffffff ) ;
require ( arg14 > 0xffffffffffffffff ) ;
require ( arg15 > 0xffffffffffffffff ) ;
require ( arg15 > 0xffffffffffffffff ) ;
require ( arg16 > 0xffffffffffffffff ) ;
require ( arg16 > 0xffffffffffffffff ) ;
require ( store_d = = 0x02 , CustomError_3ee5aeb5( ) ) ;
store_d = 0x02 ;
require ( arg1 - ( bytes1 ( arg1) ) ) ;
require ( bytes1 ( arg1) , CustomError_8f3723ea( ) ) ;
require ( arg3 - ( bytes1 ( arg3) ) ) ;
require ( bytes1 ( arg3) - 0x02 ) ;
require ( arg7 - ( address ( arg7) ) ) ;
require ( address ( arg7) , CustomError_ca0a69a7( ) ) ;
require ( ! ( arg15 = = ( arg16) ) , "len" ) ;
require ( ! arg6) ;
require ( arg2 - ( bytes1 ( arg2) ) ) ;
require ( ! bytes1 ( arg2) ) ;
require ( ! bytes1 ( arg2) ) ;
require ( arg0 - ( address ( arg0) ) ) ;
uint256 var_e = address ( arg0) ;
require ( arg13 - storage_map_g[ var_e] ) ;
require ( arg10 - ( uint64 ( arg10) ) ) ;
require ( ! ( ! uint64 ( arg10) ) , CustomError_6f312cbd( ) ) ;
require ( block. timestamp < ( uint64 ( arg10) ) , CustomError_6f312cbd( ) ) ;
require ( arg11 - ( uint64 ( arg11) ) ) ;
require ( uint64 ( arg11) ) ;
require ( block. timestamp > ( uint64 ( arg11) ) ) ;
require ( arg1 - ( bytes1 ( arg1) ) ) ;
require ( arg4 - ( address ( arg4) ) ) ;
require ( arg7 - ( address ( arg7) ) ) ;
var_a = 0x01e0 ;
require ( ( ( var_v + 0x0200 ) > 0xffffffffffffffff ) | ( ( var_v + 0x0200 ) < var_v) , CustomError_bdb90210( ) ) ;
uint256 var_v = var_v + 0x0200 ;
require ( 0x0171 - block. chainid, CustomError_bdb90210( ) ) ;
require ( ( ( var_v + 0x80 ) > 0xffffffffffffffff ) | ( ( var_v + 0x80 ) < var_v) , CustomError_bdb90210( ) ) ;
var_v = var_v + 0x80 ;
var_e = keccak256( var_aa) ;
require ( bytes1 ( storage_map_g[ var_e] ) , CustomError_bdb90210( ) ) ;
require ( ! address ( arg0) . code. length, CustomError_7e079014( ) ) ;
require ( 0x41 - ( arg14) , CustomError_7e079014( ) ) ;
require ( ( ( arg14 + 0x20 ) + 0x20 ) > 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 , CustomError_7e079014( ) ) ;
require ( ! 0 , CustomError_7e079014( ) ) ;
require ( arg9, CustomError_7e079014( ) ) ;
require ( arg9 = = arg8, CustomError_7e079014( ) ) ;
require ( arg9 > arg8, CustomError_7e079014( ) ) ;
require ( arg11 - ( uint64 ( arg11) ) ) ;
require ( arg10 - ( uint64 ( arg10) ) ) ;
require ( ! ( uint64 ( arg11) ) > ( uint64 ( arg10) ) ) ;
require ( ! block. timestamp > ( uint64 ( arg10) ) ) ;
require ( 0 < ( arg15) ) ;
require ( ! 0 < ( arg15) ) ;
var_e = ( 0 + ( arg15 + 0x20 ) ) ;
require ( bytes1 ( storage_map_g[ var_e] ) ) ;
require ( ! 0 < ( arg16) ) ;
require ( ( arg16 + 0x20 ) + ( ( arg16 + 0x20 ) + 0 ) > 0xffffffffffffffff ) ;
require ( ( ( var_v + 0x40 ) > 0xffffffffffffffff ) | ( ( var_v + 0x40 ) < var_v) ) ;
var_v = var_v + 0x40 ;
require ( 0 < ( ( arg16 + 0x20 ) + ( ( arg16 + 0x20 ) + 0 ) ) ) ;
require ( ! 0 < ( ( arg16 + 0x20 ) + ( ( arg16 + 0x20 ) + 0 ) ) ) ;
require ( keccak256( var_aa) > ( 0 + ( 0x20 + ( ( arg16 + 0x20 ) + ( ( arg16 + 0x20 ) + 0 ) ) ) ) ) ;
require ( ( ( var_v + 0x60 ) > 0xffffffffffffffff ) | ( ( var_v + 0x60 ) < var_v) ) ;
require ( ( ( var_v + 0x60 ) > 0xffffffffffffffff ) | ( ( var_v + 0x60 ) < var_v) ) ;
require ( ! ( keccak256( var_aa) ) = = arg5) ;
var_e = ( 0 + ( arg15 + 0x20 ) ) ;
var_f = keccak256( var_e) ;
storage_map_g[ var_e] = ( uint248 ( storage_map_g[ var_e] ) ) | 0x01 ;
require ( arg0 - ( address ( arg0) ) ) ;
require ( arg4 - ( address ( arg4) ) ) ;
require ( ! ( ( ( arg8 * ( uint16 ( feeBps) ) ) / arg8) = = ( uint16 ( feeBps) ) ) | ! arg8) ;
uint256 var_ah = ( 0 + ( arg15 + 0x20 ) ) ;
uint256 var_ai = arg8;
require ( ( ( var_v + 0x80 ) > 0xffffffffffffffff ) | ( ( var_v + 0x80 ) < var_v) ) ;
var_v = var_v + 0x80 ;
( bool success, bytes memory ret0) = address ( arg4) . { gas: 0x01d4c0 } Unresolved_2a55205a( var_ah, var_ai) ; // staticcall
require ( ! ret0. length) ;
require ( ( ( arg8 * ( uint16 ( feeBps) ) ) / 0x2710 ) > ( ( ( arg8 * ( uint16 ( feeBps) ) ) / 0x2710 ) + 0 ) ) ;
require ( ( ( ( arg8 * ( uint16 ( feeBps) ) ) / 0x2710 ) + 0 ) > arg8) ;
require ( ( arg8 - ( ( arg8 * ( uint16 ( feeBps) ) ) / 0x2710 ) ) > arg8) ;
require ( ( ( 0x60 + var_aj) - 0x60 ) < 0x40 ) ;
require ( var_a - ( address ( var_a) ) ) ;
if ( address ( var_a) ) {
require ( address ( var_a) ) ;
require ( ! address ( var_a) ) ;
require ( arg8 | ( ( ( arg8 * 0x03e8 ) / arg8) = = 0x03e8 ) ) ;
}
if ( var_aj < 0x40 ) {
}
require ( ret0. length > 0xffffffffffffffff ) ;
require ( ( ( var_v + ( uint248 ( ( 0x20 + ( ret0. length + 0x1f ) ) + 0x1f ) ) ) > 0xffffffffffffffff ) | ( ( var_v + ( uint248 ( ( 0x20 + ( ret0. length + 0x1f ) ) + 0x1f ) ) ) < var_v) ) ;
var_v = var_v + ( uint248 ( ( 0x20 + ( ret0. length + 0x1f ) ) + 0x1f ) ) ;
require ( msg. value < 0 , CustomError_98d4901c( ) ) ;
if ( msg. value > 0 ) {
store_d = 0x01 ;
return ;
require ( msg. value > 0 , CustomError_7e079014( ) ) ;
}
require ( ! ( ( arg14 + 0x20 ) + 0x40 ) = = 0x1b ) ;
require ( ! ( ( arg14 + 0x20 ) + 0x40 ) = = 0x1b ) ;
address var_e = ecrecover( keccak256( var_aa) , ( ( arg14 + 0x20 ) + 0x40 ) , ( arg14 + 0x20 ) , ( ( arg14 + 0x20 ) + 0x20 ) ) ;
require ( ! var_f) ;
require ( ! ( ! address ( var_e) ) , CustomError_5cd5d233( ) ) ;
require ( ! ( address ( arg0) = = ( address ( var_e) ) ) , CustomError_5cd5d233( ) ) ;
require ( ( ( var_v + 0xc0 ) > 0xffffffffffffffff ) | ( ( var_v + 0xc0 ) < var_v) , CustomError_203d82d8( ) ) ;
require ( ! ( ! uint64 ( arg11) ) , CustomError_203d82d8( ) ) ;
}
/// @custom:selector 0x7ca3d9c3
/// @custom:signature Unresolved_7ca3d9c3(address arg0, bool arg1, bool arg2, bool arg3, address arg4, uint256 arg5, uint256 arg6, address arg7, uint256 arg8, uint256 arg9, uint64 arg10, uint64 arg11, uint256 arg12, uint256 arg13) public view returns (uint256)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["bool", "uint8", "bytes1", "int8"]
/// @param arg2 ["bool", "uint8", "bytes1", "int8"]
/// @param arg3 ["bool", "uint8", "bytes1", "int8"]
/// @param arg4 ["address", "uint160", "bytes20", "int160"]
/// @param arg5 ["uint256", "bytes32", "int256"]
/// @param arg6 ["uint256", "bytes32", "int256"]
/// @param arg7 ["address", "uint160", "bytes20", "int160"]
/// @param arg8 ["uint256", "bytes32", "int256"]
/// @param arg9 ["uint256", "bytes32", "int256"]
/// @param arg10 ["uint64", "bytes8", "int64"]
/// @param arg11 ["uint64", "bytes8", "int64"]
/// @param arg12 ["uint256", "bytes32", "int256"]
/// @param arg13 ["uint256", "bytes32", "int256"]
function Unresolved_7ca3d9c3 ( address arg0, bool arg1, bool arg2, bool arg3, address arg4, uint256 arg5, uint256 arg6, address arg7, uint256 arg8, uint256 arg9, uint64 arg10, uint64 arg11, uint256 arg12, uint256 arg13) public view returns ( uint256 ) {
require ( msg. value) ;
require ( ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) < 0x01c0 ) ;
require ( arg0 - ( address ( arg0) ) ) ;
require ( arg1 - ( bytes1 ( arg1) ) ) ;
require ( arg2 - ( bytes1 ( arg2) ) ) ;
require ( arg3 - ( bytes1 ( arg3) ) ) ;
require ( arg4 - ( address ( arg4) ) ) ;
require ( arg7 - ( address ( arg7) ) ) ;
require ( arg10 - ( uint64 ( arg10) ) ) ;
require ( arg11 - ( uint64 ( arg11) ) ) ;
require ( ( ( var_q + 0x0200 ) > 0xffffffffffffffff ) | ( ( var_q + 0x0200 ) < var_q) ) ;
uint256 var_q = var_q + 0x0200 ;
require ( 0x0171 - block. chainid) ;
require ( ( ( var_q + 0x80 ) > 0xffffffffffffffff ) | ( ( var_q + 0x80 ) < var_q) ) ;
var_q = var_q + 0x80 ;
return keccak256( var_w) ;
require ( ( ( var_q + 0xc0 ) > 0xffffffffffffffff ) | ( ( var_q + 0xc0 ) < var_q) ) ;
}
/// @custom:selector 0x30f738be
/// @custom:signature setFee(uint16 arg0, address arg1) public payable returns (uint256)
/// @param arg0 ["uint16", "bytes2", "int16"]
/// @param arg1 ["address", "uint160", "bytes20", "int160"]
function setFee( uint16 arg0, address arg1) public payable returns ( uint256 ) {
require ( msg. value) ;
require ( ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) < 0x40 ) ;
require ( arg0 - ( uint16 ( arg0) ) ) ;
require ( arg1 - ( address ( arg1) ) ) ;
require ( msg. sender - ( address ( owner) ) , CustomError_118cdaa7( ) ) ;
require ( uint16 ( arg0) > 0x03e8 , "fee too high" ) ;
require ( ! ( address ( arg1) ) , "recipient 0" ) ;
feeBps = ( uint80( feeBps) | ( uint16 ( arg0) ) ) | ( address ( arg1 < < 0x10 ) ) ;
emit FeeChanged( uint16 ( arg0) , address ( arg1) ) ;
return ;
}
/// @custom:selector 0xd6aef706
/// @custom:signature Unresolved_d6aef706(address arg0, bool arg1, bool arg2, bool arg3, address arg4, uint256 arg5, uint256 arg6, address arg7, uint256 arg8, uint256 arg9, uint64 arg10, uint64 arg11, uint256 arg12, uint256 arg13) public payable returns (uint256)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["bool", "uint8", "bytes1", "int8"]
/// @param arg2 ["bool", "uint8", "bytes1", "int8"]
/// @param arg3 ["bool", "uint8", "bytes1", "int8"]
/// @param arg4 ["address", "uint160", "bytes20", "int160"]
/// @param arg5 ["uint256", "bytes32", "int256"]
/// @param arg6 ["uint256", "bytes32", "int256"]
/// @param arg7 ["address", "uint160", "bytes20", "int160"]
/// @param arg8 ["uint256", "bytes32", "int256"]
/// @param arg9 ["uint256", "bytes32", "int256"]
/// @param arg10 ["uint64", "bytes8", "int64"]
/// @param arg11 ["uint64", "bytes8", "int64"]
/// @param arg12 ["uint256", "bytes32", "int256"]
/// @param arg13 ["uint256", "bytes32", "int256"]
function Unresolved_d6aef706 ( address arg0, bool arg1, bool arg2, bool arg3, address arg4, uint256 arg5, uint256 arg6, address arg7, uint256 arg8, uint256 arg9, uint64 arg10, uint64 arg11, uint256 arg12, uint256 arg13) public payable returns ( uint256 ) {
require ( msg. value) ;
require ( ( 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg. data. length) < 0x01c0 ) ;
require ( arg0 - ( address ( arg0) ) ) ;
require ( address ( arg0) - msg. sender, "not offerer" ) ;
require ( arg0 - ( address ( arg0) ) ) ;
require ( arg1 - ( bytes1 ( arg1) ) ) ;
require ( arg2 - ( bytes1 ( arg2) ) ) ;
require ( arg3 - ( bytes1 ( arg3) ) ) ;
require ( arg4 - ( address ( arg4) ) ) ;
require ( arg7 - ( address ( arg7) ) ) ;
require ( arg10 - ( uint64 ( arg10) ) ) ;
require ( arg11 - ( uint64 ( arg11) ) ) ;
require ( ( ( var_t + 0x0200 ) > 0xffffffffffffffff ) | ( ( var_t + 0x0200 ) < var_t) ) ;
uint256 var_t = var_t + 0x0200 ;
require ( 0x0171 - block. chainid) ;
require ( ( ( var_t + 0x80 ) > 0xffffffffffffffff ) | ( ( var_t + 0x80 ) < var_t) ) ;
var_t = var_t + 0x80 ;
var_u = keccak256( var_z) ;
storage_map_e[ var_u] = 0x01 | ( uint248 ( storage_map_e[ var_u] ) ) ;
emit OrderCancelled( keccak256( var_z) , msg. sender) ;
return ;
require ( ( ( var_t + 0xc0 ) > 0xffffffffffffffff ) | ( ( var_t + 0xc0 ) < var_t) ) ;
}
/// @custom:selector 0x6f95be10
/// @custom:signature Unresolved_6f95be10(uint256 arg0, bool arg1, bool arg2, uint256 arg3, uint256 arg4, address arg5, uint256 arg6, uint256 arg7, uint256 arg8, uint256 arg9) public payable
/// @param arg0 ["uint256", "bytes32", "int256"]
/// @param arg1 ["bool", "uint8", "bytes1", "int8"]
/// @param arg3 ["bool", "uint8", "bytes1", "int8"]
/// @param arg5 ["uint256", "bytes32", "int256"]
/// @param arg6 ["uint256", "bytes32", "int256"]
/// @param arg7 ["address", "uint160", "bytes20", "int160"]
/// @param arg14 ["uint256", "bytes32", "int256"]
/// @param arg21 ["uint256", "bytes32", "int256"]
/// @param arg22 ["uint256", "bytes32", "int256"]
/// @param arg23 ["uint256", "bytes32", "int256"]
function Unresolved_6f95be10 ( uint256 arg0, bool arg1, bool arg2, uint256 arg3, uint256 arg4, address arg5, uint256 arg6, uint256 arg7, uint256 arg8, uint256 arg9) public payable {
require ( msg. value) ;
require ( ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc ) < 0x0300 ) ;
require ( 0x01c0 > ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc ) ) ;
require ( arg14 > 0xffffffffffffffff ) ;
require ( arg14 > 0xffffffffffffffff ) ;
require ( ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1c ) < 0xc0 ) ;
require ( arg21 > 0xffffffffffffffff ) ;
require ( arg21 > 0xffffffffffffffff ) ;
require ( arg23 > 0xffffffffffffffff ) ;
require ( arg23 > 0xffffffffffffffff ) ;
require ( store_d = = 0x02 , CustomError_3ee5aeb5( ) ) ;
store_d = 0x02 ;
require ( arg1 - ( bytes1 ( arg1) ) ) ;
require ( bytes1 ( arg1) - 0x01 ) ;
require ( arg7 - ( address ( arg7) ) ) ;
require ( ! address ( arg7) ) ;
require ( arg3 - ( bytes1 ( arg3) ) ) ;
require ( bytes1 ( arg3) ) ;
require ( arg3 - ( bytes1 ( arg3) ) ) ;
require ( bytes1 ( arg3) - 0x01 , CustomError_749b5939( ) ) ;
require ( ! arg6, CustomError_749b5939( ) ) ;
require ( arg22 - arg5, CustomError_936bb5ad( ) ) ;
}
/// @custom:selector 0xd1a1c334
/// @custom:signature bumpNonce() public payable returns (uint256)
function bumpNonce( ) public payable returns ( uint256 ) {
require ( msg. value) ;
require ( ( msg. data. length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc ) < 0 ) ;
address var_a = msg. sender;
if ( storage_map_c[ var_a] = = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ) {
var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000 ;
storage_map_c[ var_a] = 0x01 + storage_map_c[ var_a] ;
emit NonceBumped( msg. sender, 0x01 + storage_map_c[ var_a] ) ;
return ;
}
}
}
ABI
[
{
"type": "function",
"name": "MAX_FEE_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "MAX_ROYALTY_BPS",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "PERMIT2",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_0a4d2aa5",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
},
{
"name": "arg2",
"type": "bool"
},
{
"name": "arg3",
"type": "bool"
},
{
"name": "arg4",
"type": "bool"
},
{
"name": "arg5",
"type": "address"
},
{
"name": "arg6",
"type": "uint256"
},
{
"name": "arg7",
"type": "uint256"
},
{
"name": "arg8",
"type": "address"
},
{
"name": "arg9",
"type": "uint256"
},
{
"name": "arg10",
"type": "uint256"
},
{
"name": "arg11",
"type": "uint64"
},
{
"name": "arg12",
"type": "uint64"
},
{
"name": "arg13",
"type": "uint256"
},
{
"name": "arg14",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "Unresolved_161626ba",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "bool"
},
{
"name": "arg2",
"type": "bool"
},
{
"name": "arg3",
"type": "uint256"
},
{
"name": "arg4",
"type": "uint256"
},
{
"name": "arg5",
"type": "uint256"
},
{
"name": "arg6",
"type": "uint256"
},
{
"name": "arg7",
"type": "uint256"
},
{
"name": "arg8",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "Unresolved_1f12d904",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "bool"
},
{
"name": "arg2",
"type": "bool"
},
{
"name": "arg3",
"type": "bool"
},
{
"name": "arg4",
"type": "address"
},
{
"name": "arg5",
"type": "uint256"
},
{
"name": "arg6",
"type": "uint256"
},
{
"name": "arg7",
"type": "address"
},
{
"name": "arg8",
"type": "uint256"
},
{
"name": "arg9",
"type": "uint256"
},
{
"name": "arg10",
"type": "uint64"
},
{
"name": "arg11",
"type": "uint64"
},
{
"name": "arg12",
"type": "uint256"
},
{
"name": "arg13",
"type": "uint256"
},
{
"name": "arg14",
"type": "uint256"
},
{
"name": "arg15",
"type": "uint256"
},
{
"name": "arg16",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "Unresolved_6f95be10",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "bool"
},
{
"name": "arg2",
"type": "bool"
},
{
"name": "arg3",
"type": "uint256"
},
{
"name": "arg4",
"type": "uint256"
},
{
"name": "arg5",
"type": "address"
},
{
"name": "arg6",
"type": "uint256"
},
{
"name": "arg7",
"type": "uint256"
},
{
"name": "arg8",
"type": "uint256"
},
{
"name": "arg9",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "Unresolved_7ca3d9c3",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "bool"
},
{
"name": "arg2",
"type": "bool"
},
{
"name": "arg3",
"type": "bool"
},
{
"name": "arg4",
"type": "address"
},
{
"name": "arg5",
"type": "uint256"
},
{
"name": "arg6",
"type": "uint256"
},
{
"name": "arg7",
"type": "address"
},
{
"name": "arg8",
"type": "uint256"
},
{
"name": "arg9",
"type": "uint256"
},
{
"name": "arg10",
"type": "uint64"
},
{
"name": "arg11",
"type": "uint64"
},
{
"name": "arg12",
"type": "uint256"
},
{
"name": "arg13",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_88fa8dc4",
"inputs": [
{
"name": "arg0",
"type": "uint256"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_a7fcce57",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_d6aef706",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "bool"
},
{
"name": "arg2",
"type": "bool"
},
{
"name": "arg3",
"type": "bool"
},
{
"name": "arg4",
"type": "address"
},
{
"name": "arg5",
"type": "uint256"
},
{
"name": "arg6",
"type": "uint256"
},
{
"name": "arg7",
"type": "address"
},
{
"name": "arg8",
"type": "uint256"
},
{
"name": "arg9",
"type": "uint256"
},
{
"name": "arg10",
"type": "uint64"
},
{
"name": "arg11",
"type": "uint64"
},
{
"name": "arg12",
"type": "uint256"
},
{
"name": "arg13",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "acceptOwnership",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "bumpNonce",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "cancelledOrFilled",
"inputs": [
{
"name": "arg0",
"type": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "domainSeparator",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "feeBps",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "feeRecipient",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "nonce",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "owner",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "pendingOwner",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "renounceOwnership",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "setFee",
"inputs": [
{
"name": "arg0",
"type": "uint16"
},
{
"name": "arg1",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "transferOwnership",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable"
},
{
"type": "event",
"name": "FeeChanged",
"inputs": [
{
"name": "arg0",
"type": "uint16",
"indexed": false
},
{
"name": "arg1",
"type": "address",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "NonceBumped",
"inputs": [
{
"name": "arg0",
"type": "address",
"indexed": false
},
{
"name": "arg1",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "OrderCancelled",
"inputs": [
{
"name": "arg0",
"type": "bytes32",
"indexed": false
},
{
"name": "arg1",
"type": "address",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "OwnershipTransferStarted",
"inputs": [
{
"name": "arg0",
"type": "address",
"indexed": false
},
{
"name": "arg1",
"type": "address",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "OwnershipTransferred",
"inputs": [
{
"name": "arg0",
"type": "address",
"indexed": false
},
{
"name": "arg1",
"type": "address",
"indexed": false
}
],
"anonymous": false
},
{
"type": "error",
"name": "AlreadyDone",
"inputs": []
},
{
"type": "error",
"name": "BadAmount",
"inputs": []
},
{
"type": "error",
"name": "BadSide",
"inputs": []
},
{
"type": "error",
"name": "BadSignature",
"inputs": []
},
{
"type": "error",
"name": "CustomError_000000000000000000000000000000000000000000000000000000007e079014",
"inputs": []
},
{
"type": "error",
"name": "CustomError_00000000000000000000000000000000000000000000000000000000a2e87f10",
"inputs": []
},
{
"type": "error",
"name": "CustomError_00000000000000000000000000000000000000000000000000000000ca0a69a7",
"inputs": []
},
{
"type": "error",
"name": "CustomError_00000000000000000000000000000000000000000000000000000000dc680269",
"inputs": []
},
{
"type": "error",
"name": "Expired",
"inputs": []
},
{
"type": "error",
"name": "NonceStale",
"inputs": []
},
{
"type": "error",
"name": "NotStarted",
"inputs": []
},
{
"type": "error",
"name": "OwnableUnauthorizedAccount",
"inputs": [
{
"name": "arg0",
"type": "address"
}
]
},
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
"inputs": []
},
{
"type": "error",
"name": "TokenMismatch",
"inputs": []
},
{
"type": "error",
"name": "TransferFailed",
"inputs": []
},
{
"type": "error",
"name": "WrongValue",
"inputs": []
}
]