0 txs
1 call
constructor
constructor(address productsModuleAddress)
functions
discounts
viewfunction discounts(uint256 slicerId, uint256 productId, uint256) view returns (address nft, uint80 discount, uint8 minQuantity, uint8 nftType, uint256 tokenId)
paramsSchema
purefunction paramsSchema() pure returns (string)
productPrice
viewfunction productPrice(uint256 slicerId, uint256 productId, address currency, uint256 quantity, address buyer, bytes data) view returns (uint256 ethPrice, uint256 currencyPrice)
PRODUCTS_MODULE
viewfunction PRODUCTS_MODULE() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
configureProduct
nonpayablefunction configureProduct(uint256 slicerId, uint256 productId, bytes params)
events
ProductConfigured
event ProductConfigured(uint256 slicerId, uint256 productId, bytes params)
errors
DiscountsNotDescending
error DiscountsNotDescending((address nft, uint80 discount, uint8 minQuantity, uint8 nftType, uint256 tokenId) nft)
InvalidMinQuantity
error InvalidMinQuantity()
InvalidRelativeAmount
error InvalidRelativeAmount()
NotProductOwner
error NotProductOwner()
WrongCurrency
error WrongCurrency()
creation bytecode
0x60a060405234801561000f575f80fd5b506040516116e33803806116e383398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516116526100915f395f818160a00152818161038e01526105d301526116525ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c8063d66aa1701161004d578063d66aa170146100fc578063d7a3d0c814610120578063ec2eca0814610148575f80fd5b806301ffc9a7146100735780639203f2331461009b578063d11f43a7146100e7575b5f80fd5b610086610081366004610f65565b61015d565b60405190151581526020015b60405180910390f35b6100c27f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610092565b6100ef610241565b604051610092919061100c565b61010f61010a36600461101e565b610261565b6040516100929594939291906110ad565b61013361012e366004611255565b61032c565b60408051928352602083019190915201610092565b61015b6101563660046112ce565b61057e565b005b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a70000000000000000000000000000000000000000000000000000000014806101ef57507fffffffff0000000000000000000000000000000000000000000000000000000082167fd7a3d0c800000000000000000000000000000000000000000000000000000000145b8061023b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f3d3189af00000000000000000000000000000000000000000000000000000000145b92915050565b60606040518060800160405280605981526020016115ed60599139905090565b5f602052825f5260405f20602052815f5260405f208181548110610283575f80fd5b5f9182526020909120600290910201805460019091015473ffffffffffffffffffffffffffffffffffffffff8216945069ffffffffffffffffffff74010000000000000000000000000000000000000000830416935060ff7e010000000000000000000000000000000000000000000000000000000000008304811693507f01000000000000000000000000000000000000000000000000000000000000009092049091169085565b6040517f127990f2000000000000000000000000000000000000000000000000000000008152600481018790526024810186905273ffffffffffffffffffffffffffffffffffffffff8581166044830152606482018590525f918291829182917f0000000000000000000000000000000000000000000000000000000000000000169063127990f2906084016040805180830381865afa1580156103d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f6919061131a565b90925090505f73ffffffffffffffffffffffffffffffffffffffff89161561041e5781610420565b825b5f8c8152602081815260408083208e8452825280832080548251818502810185019093528083529495509293909291849084015b82821015610555575f8481526020908190206040805160a08101825260028602909201805473ffffffffffffffffffffffffffffffffffffffff8116845269ffffffffffffffffffff740100000000000000000000000000000000000000008204169484019490945260ff7e010000000000000000000000000000000000000000000000000000000000008504811692840192909252919260608401917f010000000000000000000000000000000000000000000000000000000000000090910416600181111561052757610527611047565b600181111561053857610538611047565b815260200160018201548152505081526020019060010190610454565b50505050905061056b8c8c8c8c8c8c88886106bf565b9550955050505050965096945050505050565b6040517fe6e9280800000000000000000000000000000000000000000000000000000000815260048101849052602481018390523360448201528390839073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e6e9280890606401602060405180830381865afa158015610618573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063c919061133c565b610672576040517f35cd3b6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61067d858585610728565b7fe778d71bda5fa429690e9a690d0ef7339a3fb1e677e39c77a9167de98afdd2da8585856040516106b09392919061135b565b60405180910390a15050505050565b5f805f6106cc8488610cbd565b90505f815f036106e5576106e0868a611379565b6106f0565b6106f086838b610f35565b905073ffffffffffffffffffffffffffffffffffffffff8a1661071557809350610719565b8092505b50509850989650505050505050565b5f8180602001905181019061073d91906113c8565b5f85815260208181526040808320878452909152812091925080808080805b8751811015610cb05786548851909550935084841161077b578461077d565b835b925084831461078c578461078e565b835b91505f5b83811015610ca75780851115610c53576127108982815181106107b7576107b76114de565b60200260200101516020015169ffffffffffffffffffff161115610807576040517ff36c960200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b888181518110610819576108196114de565b60200260200101516040015160ff165f03610860576040517fe4c236aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80156108ed5786898281518110610879576108796114de565b60200260200101516020015169ffffffffffffffffffff1611156108ed578881815181106108a9576108a96114de565b60200260200101516040517f441e389c0000000000000000000000000000000000000000000000000000000081526004016108e4919061150b565b60405180910390fd5b8881815181106108ff576108ff6114de565b60200260200101516020015169ffffffffffffffffffff16965082811015610aba57888181518110610933576109336114de565b602002602001015188828154811061094d5761094d6114de565b5f9182526020918290208351600290920201805492840151604085015160ff167e01000000000000000000000000000000000000000000000000000000000000027fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff69ffffffffffffffffffff90921674010000000000000000000000000000000000000000027fffff00000000000000000000000000000000000000000000000000000000000090951673ffffffffffffffffffffffffffffffffffffffff90941693909317939093179283168217815560608401519092909183917effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091167dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116177f0100000000000000000000000000000000000000000000000000000000000000836001811115610aa357610aa3611047565b021790555060808201518160010155905050610c9f565b858110610c4e5787898281518110610ad457610ad46114de565b6020908102919091018101518254600181810185555f948552938390208251600290920201805493830151604084015160ff167e01000000000000000000000000000000000000000000000000000000000000027fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff69ffffffffffffffffffff90921674010000000000000000000000000000000000000000027fffff00000000000000000000000000000000000000000000000000000000000090961673ffffffffffffffffffffffffffffffffffffffff90941693909317949094179384168217815560608301519294909384927effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617907f0100000000000000000000000000000000000000000000000000000000000000908490811115610c3c57610c3c611047565b02179055506080820151816001015550505b610c9f565b87805480610c6357610c63611570565b5f8281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909301928302018181556001015590555b600101610792565b5060010161075c565b5050505050505050505050565b81516040805160a0810182525f8082526020820181905291810182905260608101829052608081018290529091905f805f805b85811015610f2757888181518110610d0a57610d0a6114de565b60200260200101519450600180811115610d2657610d26611047565b85606001516001811115610d3c57610d3c611047565b03610e1657845173ffffffffffffffffffffffffffffffffffffffff8581169116141580610d6e575084608001518314155b15610e1157845160808601516040517efdd58e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152602482019290925291169062fdd58e90604401602060405180830381865afa158015610dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0e919061159d565b91505b610ee7565b5f85606001516001811115610e2d57610e2d611047565b03610ee757845173ffffffffffffffffffffffffffffffffffffffff858116911614610ee75784516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152909116906370a0823190602401602060405180830381865afa158015610ec0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee4919061159d565b91505b846040015160ff168210610f1357846020015169ffffffffffffffffffff16965050505050505061023b565b845160808601519094509250600101610cf0565b505f98975050505050505050565b5f6127108381039083610f488388611379565b610f529190611379565b610f5c91906115b4565b95945050505050565b5f60208284031215610f75575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610fa4575f80fd5b9392505050565b5f81518084525f5b81811015610fcf57602081850181015186830182015201610fb3565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610fa46020830184610fab565b5f805f60608486031215611030575f80fd5b505081359360208301359350604090920135919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600281106110a9577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b73ffffffffffffffffffffffffffffffffffffffff8616815269ffffffffffffffffffff8516602082015260ff8416604082015260a081016110f26060830185611074565b8260808301529695505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611123575f80fd5b50565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160a0810167ffffffffffffffff8111828210171561117657611176611126565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156111c3576111c3611126565b604052919050565b5f82601f8301126111da575f80fd5b813567ffffffffffffffff8111156111f4576111f4611126565b61122560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161117c565b818152846020838601011115611239575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f8060c0878903121561126a575f80fd5b8635955060208701359450604087013561128381611102565b935060608701359250608087013561129a81611102565b915060a087013567ffffffffffffffff8111156112b5575f80fd5b6112c189828a016111cb565b9150509295509295509295565b5f805f606084860312156112e0575f80fd5b8335925060208401359150604084013567ffffffffffffffff811115611304575f80fd5b611310868287016111cb565b9150509250925092565b5f806040838503121561132b575f80fd5b505080516020909101519092909150565b5f6020828403121561134c575f80fd5b81518015158114610fa4575f80fd5b838152826020820152606060408201525f610f5c6060830184610fab565b808202811582820484141761023b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8051600281106113c3575f80fd5b919050565b5f60208083850312156113d9575f80fd5b825167ffffffffffffffff808211156113f0575f80fd5b818501915085601f830112611403575f80fd5b81518181111561141557611415611126565b611423848260051b0161117c565b818152848101925060a0918202840185019188831115611441575f80fd5b938501935b828510156114d25780858a03121561145c575f80fd5b611464611153565b855161146f81611102565b81528587015169ffffffffffffffffffff8116811461148c575f80fd5b8188015260408681015160ff811681146114a4575f80fd5b9082015260606114b58782016113b5565b908201526080868101519082015284529384019392850192611446565b50979650505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60a08201905073ffffffffffffffffffffffffffffffffffffffff835116825269ffffffffffffffffffff602084015116602083015260ff604084015116604083015260608301516115616060840182611074565b50608092830151919092015290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f602082840312156115ad575f80fd5b5051919050565b5f826115e7577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fe2861646472657373206e66742c75696e74383020646973636f756e742c75696e7438206d696e5175616e746974792c75696e7438206e6674547970652c75696e7432353620746f6b656e4964295b5d20646973636f756e7473a164736f6c6343000817000a000000000000000000000000b9d5b99d5d0fa04dd7eb2b0cd7753317c2ea1a84