0 txs
1 call
constructor
constructor(address productsModuleAddress)
functions
configureProductSchema
purefunction configureProductSchema() pure returns (string)
isPurchaseAllowed
viewfunction isPurchaseAllowed(uint256, uint256, uint256, address, uint256, bytes) view returns (bool)
onProductPurchaseSchema
purefunction onProductPurchaseSchema() pure returns (string)
productParams
viewfunction productParams(uint256 slicerId, uint256 productId, uint256 variantId) view returns (address mintToken, uint88 mintTokenId, uint8 freeUnits)
productPrice
viewfunction productPrice(uint256 slicerId, uint256 productId, uint256 variantId, address, uint256 basePrice, uint256 quantity, address buyer, bytes) view returns (uint256)
productPriceSchema
purefunction productPriceSchema() 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
NotAllowed
error NotAllowed()
NotAuthorized
error NotAuthorized(bytes32 rolesMask)
NotPurchase
error NotPurchase()
creation bytecode
0x60a060405234801561000f575f5ffd5b5060405161182638038061182683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f5ffd5b81516001600160a01b0381168114610065575f5ffd5b9392505050565b6080516117866100a05f395f818161019e0152818161069a0152818161076d01528181610a220152610b1a01526117865ff3fe6080604052600436106100ad575f3560e01c80635696cee5116100665780639203f2331161004c5780639203f2331461018d578063e70e5e00146101e5578063faee4261146102c8575f5ffd5b80635696cee51461017a5780638afd98941461017a575f5ffd5b8063181fd18b11610096578063181fd18b14610112578063211f03b3146101335780635571123b14610159575f5ffd5b806301ffc9a7146100b15780630caacfc7146100e5575b5f5ffd5b3480156100bc575f5ffd5b506100d06100cb3660046110d5565b6102db565b60405190151581526020015b60405180910390f35b3480156100f0575f5ffd5b506101046100ff366004611278565b61040b565b6040519081526020016100dc565b34801561011d575f5ffd5b5061012661063c565b6040516100dc9190611351565b34801561013e575f5ffd5b506100d061014d366004611363565b60019695505050505050565b348015610164575f5ffd5b506101786101733660046113d3565b61065c565b005b348015610185575f5ffd5b506060610126565b348015610198575f5ffd5b506101c07f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100dc565b3480156101f0575f5ffd5b506102876101ff366004611429565b5f602081815293815260408082208552928152828120909352825290206001015473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000081046affffffffffffffffffffff16907f0100000000000000000000000000000000000000000000000000000000000000900460ff1683565b6040805173ffffffffffffffffffffffffffffffffffffffff90941684526affffffffffffffffffffff909216602084015260ff16908201526060016100dc565b6101786102d6366004611363565b610755565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061036d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f510cd94600000000000000000000000000000000000000000000000000000000145b806103b957507fffffffff0000000000000000000000000000000000000000000000000000000082167f5a3c012200000000000000000000000000000000000000000000000000000000145b8061040557507fffffffff0000000000000000000000000000000000000000000000000000000082167f4d6ec3b000000000000000000000000000000000000000000000000000000000145b92915050565b5f888152602081815260408083208a8452825280832089845282528083208151815460a09481028201850190935260808101838152859491938492849190879085015b82821015610540575f8481526020908190206040805160808101909152908401805473ffffffffffffffffffffffffffffffffffffffff81168352919290919083019074010000000000000000000000000000000000000000900460ff1660018111156104bd576104bd611452565b60018111156104ce576104ce611452565b815290547501000000000000000000000000000000000000000000810469ffffffffffffffffffff166020808401919091527f010000000000000000000000000000000000000000000000000000000000000090910460ff16604090920191909152908252600192909201910161044e565b505050908252506001919091015473ffffffffffffffffffffffffffffffffffffffff811660208301527401000000000000000000000000000000000000000081046affffffffffffffffffffff1660408301527f0100000000000000000000000000000000000000000000000000000000000000900460ff1660609091015280519091506105d09085906107da565b1561062b575f6105e2858c8c8c6109c6565b9050816060015160ff1681101561062957606082015160ff16819003808711610610575f9350505050610630565b61061f8c8c8c5f858c03610ab7565b9350505050610630565b505b859150505b98975050505050505050565b60606040518060c00160405280608d81526020016116ed608d9139905090565b6040517f11b0738e00000000000000000000000000000000000000000000000000000000815260048101859052600a602482015233604482015284907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906311b0738e906064015f6040518083038186803b1580156106ef575f5ffd5b505afa158015610701573d5f5f3e3d5ffd5b5050505061071185858585610b8f565b7fcdd8470c81c12ef7fe2fe67ef79d13684d94ff2008417cba55fdd025de21ec1885858585604051610746949392919061147f565b60405180910390a15050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107c4576040517f47322d0300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107d2868686868686610e1d565b505050505050565b8051158061040557604080516080810182525f8082526020820181905291810182905260608101829052905b83518110156109be57838181518110610821576108216114a3565b602002602001015191505f600181111561083d5761083d611452565b8260200151600181111561085357610853611452565b14610910576060820151825160408085015190517efdd58e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff898116600483015269ffffffffffffffffffff909216602482015260ff9093169291169062fdd58e90604401602060405180830381865afa1580156108e5573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090991906114d0565b10156109af565b606082015182516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015260ff90931692909116906370a0823190602401602060405180830381865afa158015610988573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ac91906114d0565b10155b9250826109be57600101610806565b505092915050565b6040517f30d70ddc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820185905260448201849052606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906330d70ddc906084015f60405180830381865afa158015610a68573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610aad91908101906114e7565b5095945050505050565b6040517f302be06900000000000000000000000000000000000000000000000000000000815260048101869052602481018590526044810184905273ffffffffffffffffffffffffffffffffffffffff8381166064830152608482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063302be0699060a401602060405180830381865afa158015610b61573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8591906114d0565b9695505050505050565b5f5f5f5f84806020019051810190610ba791906115a1565b5f8c8152602081815260408083208e845282528083208d8452909152812060018101805473ffffffffffffffffffffffffffffffffffffffff87167fff0000000000000000000000000000000000000000000000000000000000000090911617740100000000000000000000000000000000000000006affffffffffffffffffffff871602177effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f010000000000000000000000000000000000000000000000000000000000000060ff8616021790559498509296509094509250610c8d90829061109f565b5f5b8551811015610e1157815f01868281518110610cad57610cad6114a3565b6020908102919091018101518254600181810185555f9485529383902082519101805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178255938301519294909384927fffffffffffffffffffffff00000000000000000000000000000000000000000016179074010000000000000000000000000000000000000000908490811115610d6557610d65611452565b02179055506040820151815460609093015160ff167f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff69ffffffffffffffffffff9092167501000000000000000000000000000000000000000000029190911674ffffffffffffffffffffffffffffffffffffffffff90931692909217919091179055600101610c8f565b50505050505050505050565b5f86815260208181526040808320888452825280832087845282528083208151815460a09481028201850190935260808101838152909391928492849190879085015b82821015610f52575f8481526020908190206040805160808101909152908401805473ffffffffffffffffffffffffffffffffffffffff81168352919290919083019074010000000000000000000000000000000000000000900460ff166001811115610ecf57610ecf611452565b6001811115610ee057610ee0611452565b815290547501000000000000000000000000000000000000000000810469ffffffffffffffffffff166020808401919091527f010000000000000000000000000000000000000000000000000000000000000090910460ff166040909201919091529082526001929092019101610e60565b505050908252506001919091015473ffffffffffffffffffffffffffffffffffffffff8082166020808501919091527401000000000000000000000000000000000000000083046affffffffffffffffffffff1660408501527f010000000000000000000000000000000000000000000000000000000000000090920460ff16606090930192909252820151919250161561109657602081015160408083015190517fb03f452800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301526affffffffffffffffffffff9092166024820152608060448201525f60848201526064810186905291169063b03f45289060a4015f604051808303815f87803b15801561107f575f5ffd5b505af1158015611091573d5f5f3e3d5ffd5b505050505b50505050505050565b5080545f8255905f5260205f20908101906110ba91906110bd565b50565b5b808211156110d1575f81556001016110be565b5090565b5f602082840312156110e5575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611114575f5ffd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146110ba575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff8111828210171561118c5761118c61113c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156111d9576111d961113c565b604052919050565b5f67ffffffffffffffff8211156111fa576111fa61113c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112611235575f5ffd5b8135611248611243826111e1565b611192565b81815284602083860101111561125c575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f5f5f610100898b031215611290575f5ffd5b88359750602089013596506040890135955060608901356112b08161111b565b94506080890135935060a0890135925060c08901356112ce8161111b565b915060e089013567ffffffffffffffff8111156112e9575f5ffd5b6112f58b828c01611226565b9150509295985092959890939650565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6111146020830184611305565b5f5f5f5f5f5f60c08789031215611378575f5ffd5b86359550602087013594506040870135935060608701356113988161111b565b92506080870135915060a087013567ffffffffffffffff8111156113ba575f5ffd5b6113c689828a01611226565b9150509295509295509295565b5f5f5f5f608085870312156113e6575f5ffd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115611411575f5ffd5b61141d87828801611226565b91505092959194509250565b5f5f5f6060848603121561143b575f5ffd5b505081359360208301359350604090920135919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b848152836020820152826040820152608060608201525f610b856080830184611305565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f602082840312156114e0575f5ffd5b5051919050565b5f5f604083850312156114f8575f5ffd5b8251602084015190925067ffffffffffffffff811115611516575f5ffd5b8301601f81018513611526575f5ffd5b8051611534611243826111e1565b818152866020838501011115611548575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b805160ff81168114611577575f5ffd5b919050565b80516115778161111b565b80516affffffffffffffffffffff81168114611577575f5ffd5b5f5f5f5f608085870312156115b4575f5ffd5b845167ffffffffffffffff8111156115ca575f5ffd5b8501601f810187136115da575f5ffd5b805167ffffffffffffffff8111156115f4576115f461113c565b61160360208260051b01611192565b8082825260208201915060208360071b850101925089831115611624575f5ffd5b6020840193505b828410156116b3576080848b031215611642575f5ffd5b61164a611169565b84516116558161111b565b8152602085015160028110611668575f5ffd5b6020820152604085015169ffffffffffffffffffff81168114611689575f5ffd5b604082015261169a60608601611567565b606082015282526080939093019260209091019061162b565b96506116c5925050506020860161157c565b92506116d360408601611587565b91506116e160608601611567565b90509295919450925056fe286164647265737320746f6b656e416464726573732c75696e743820746f6b656e547970652c75696e74383020746f6b656e49642c75696e7438206d696e5175616e74697479295b5d20656c696769626c65546f6b656e732c61646472657373206d696e74546f6b656e2c75696e743838206d696e74546f6b656e49642c75696e74382066726565556e697473a164736f6c634300081e000a000000000000000000000000b9d5b99d5d0fa04dd7eb2b0cd7753317c2ea1a84