0 txs
1 call
constructor
constructor(address productsModuleAddress)
functions
configureProductSchema
purefunction configureProductSchema() pure returns (string)
isPurchaseAllowed
viewfunction isPurchaseAllowed(uint256 slicerId, uint256 productId, uint256 variantId, address buyer, uint256, bytes) view returns (bool isAllowed)
nftGates
viewfunction nftGates(uint256 slicerId, uint256 productId, uint256 variantId) view returns (uint256 minOwned)
onProductPurchaseSchema
purefunction onProductPurchaseSchema() pure returns (string)
PRODUCTS_MODULE
viewfunction PRODUCTS_MODULE() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
configureProduct
nonpayablefunction configureProduct(uint256 slicerId, uint256 productId, uint256 variantId, bytes params)
onProductPurchase
payablefunction onProductPurchase(uint256 slicerId, uint256 productId, uint256 variantId, address buyer, uint256 quantity, bytes data) payable
events
ProductConfigured
event ProductConfigured(uint256 slicerId, uint256 productId, uint256 variantId, bytes params)
errors
InvalidNFT
error InvalidNFT()
NotAllowed
error NotAllowed()
NotAuthorized
error NotAuthorized(bytes32 rolesMask)
NotPurchase
error NotPurchase()
creation bytecode
0x60a0604052348015600e575f5ffd5b506040516111fb3803806111fb833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b60805161116f61008c5f395f818161018201528181610658015261072b015261116f5ff3fe608060405260043610610079575f3560e01c80635c18fa6f1161004c5780635c18fa6f146101125780638afd98941461015e5780639203f23314610171578063faee4261146101c9575f5ffd5b806301ffc9a71461007d578063181fd18b146100b1578063211f03b3146100d25780635571123b146100f1575b5f5ffd5b348015610088575f5ffd5b5061009c610097366004610c51565b6101dc565b60405190151581526020015b60405180910390f35b3480156100bc575f5ffd5b506100c56102c0565b6040516100a89190610ce3565b3480156100dd575f5ffd5b5061009c6100ec366004610e45565b6102e0565b3480156100fc575f5ffd5b5061011061010b366004610eb5565b61061a565b005b34801561011d575f5ffd5b5061015061012c366004610f0b565b5f602081815293815260408082208552928152828120909352825290206001015481565b6040519081526020016100a8565b348015610169575f5ffd5b5060606100c5565b34801561017c575f5ffd5b506101a47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a8565b6101106101d7366004610e45565b610713565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061026e57507fffffffff0000000000000000000000000000000000000000000000000000000082167f510cd94600000000000000000000000000000000000000000000000000000000145b806102ba57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4d6ec3b000000000000000000000000000000000000000000000000000000000145b92915050565b606060405180608001604052806050815260200161111360509139905090565b5f8681526020818152604080832088845282528083208784528252808320815181546060948102820185018452928101838152859491938492849190879085015b82821015610413575f8481526020908190206040805160808101909152908401805473ffffffffffffffffffffffffffffffffffffffff81168352919290919083019074010000000000000000000000000000000000000000900460ff16600181111561039057610390610f34565b60018111156103a1576103a1610f34565b815290547501000000000000000000000000000000000000000000810469ffffffffffffffffffff166020808401919091527f010000000000000000000000000000000000000000000000000000000000000090910460ff166040909201919091529082526001929092019101610321565b50505050815260200160018201548152505090505f5f5b82515181101561060c575f835f0151828151811061044a5761044a610f61565b6020026020010151905060018081111561046657610466610f34565b8160200151600181111561047c5761047c610f34565b03610543576060810151815160408084015190517efdd58e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c8116600483015269ffffffffffffffffffff909216602482015260ff9093169291169062fdd58e90604401602060405180830381865afa15801561050e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105329190610f8e565b1061053e578260010192505b6105eb565b606081015181516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b8116600483015260ff90931692909116906370a0823190602401602060405180830381865afa1580156105bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105df9190610f8e565b106105eb578260010192505b83602001518310610603576001945050505050610610565b5060010161042a565b5050505b9695505050505050565b6040517f11b0738e00000000000000000000000000000000000000000000000000000000815260048101859052600a602482015233604482015284907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906311b0738e906064015f6040518083038186803b1580156106ad575f5ffd5b505afa1580156106bf573d5f5f3e3d5ffd5b505050506106cf858585856107ce565b7fcdd8470c81c12ef7fe2fe67ef79d13684d94ff2008417cba55fdd025de21ec18858585856040516107049493929190610fa5565b60405180910390a15050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610782576040517f47322d0300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107908686868686866102e0565b6107c6576040517f3d693ada00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b5f5f828060200190518101906107e49190610fc9565b5f888152602081815260408083208a8452825280832089845290915281209294509092506108129190610c1b565b5f86815260208181526040808320888452825280832087845290915281206001018290555b8251811015610c12575f83828151811061085357610853610f61565b602002602001015160200151600181111561087057610870610f34565b0361097b5782818151811061088757610887610f61565b6020908102919091010151516040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f80ac58cd00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906301ffc9a790602401602060405180830381865afa15801561091c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094091906110f3565b610976576040517f0f3e2a3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a7c565b82818151811061098d5761098d610f61565b6020908102919091010151516040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fd9b67a2600000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906301ffc9a790602401602060405180830381865afa158015610a22573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4691906110f3565b610a7c576040517f0f3e2a3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f87815260208181526040808320898452825280832088845290915290208351849083908110610aae57610aae610f61565b6020908102919091018101518254600181810185555f9485529383902082519101805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178255938301519294909384927fffffffffffffffffffffff00000000000000000000000000000000000000000016179074010000000000000000000000000000000000000000908490811115610b6657610b66610f34565b02179055506040820151815460609093015160ff167f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff69ffffffffffffffffffff9092167501000000000000000000000000000000000000000000029190911674ffffffffffffffffffffffffffffffffffffffffff90931692909217919091179055600101610837565b50505050505050565b5080545f8255905f5260205f2090810190610c369190610c39565b50565b5b80821115610c4d575f8155600101610c3a565b5090565b5f60208284031215610c61575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610c90575f5ffd5b9392505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610c906020830184610c97565b73ffffffffffffffffffffffffffffffffffffffff81168114610c36575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715610d6657610d66610d16565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610db357610db3610d16565b604052919050565b5f82601f830112610dca575f5ffd5b813567ffffffffffffffff811115610de457610de4610d16565b610e1560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610d6c565b818152846020838601011115610e29575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f60c08789031215610e5a575f5ffd5b8635955060208701359450604087013593506060870135610e7a81610cf5565b92506080870135915060a087013567ffffffffffffffff811115610e9c575f5ffd5b610ea889828a01610dbb565b9150509295509295509295565b5f5f5f5f60808587031215610ec8575f5ffd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610ef3575f5ffd5b610eff87828801610dbb565b91505092959194509250565b5f5f5f60608486031215610f1d575f5ffd5b505081359360208301359350604090920135919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610f9e575f5ffd5b5051919050565b848152836020820152826040820152608060608201525f6106106080830184610c97565b5f5f60408385031215610fda575f5ffd5b825167ffffffffffffffff811115610ff0575f5ffd5b8301601f81018513611000575f5ffd5b805167ffffffffffffffff81111561101a5761101a610d16565b61102960208260051b01610d6c565b8082825260208201915060208360071b85010192508783111561104a575f5ffd5b6020840193505b828410156110e05760808489031215611068575f5ffd5b611070610d43565b845161107b81610cf5565b815260208501516002811061108e575f5ffd5b6020820152604085015169ffffffffffffffffffff811681146110af575f5ffd5b6040820152606085015160ff811681146110c7575f5ffd5b6060820152825260809390930192602090910190611051565b6020969096015195979596505050505050565b5f60208284031215611103575f5ffd5b81518015158114610c90575f5ffdfe2861646472657373206e66742c75696e7438206e6674547970652c75696e7438302069642c75696e7438206d696e5175616e74697479295b5d2067617465732c75696e74323536206d696e4f776e6564a164736f6c634300081e000a000000000000000000000000b9d5b99d5d0fa04dd7eb2b0cd7753317c2ea1a84