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, uint256 quantity, bytes) view returns (bool isAllowed)
onProductPurchaseSchema
purefunction onProductPurchaseSchema() pure returns (string)
PRODUCTS_MODULE
viewfunction PRODUCTS_MODULE() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenData
viewfunction tokenData(uint256 slicerId, uint256 productId, uint256 variantId) view returns (address token, bool revertOnMaxSupplyReached, uint256 tokensPerUnit)
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
InvalidTokensPerUnit
error InvalidTokensPerUnit()
NotAllowed
error NotAllowed()
NotAuthorized
error NotAuthorized(bytes32 rolesMask)
NotPurchase
error NotPurchase()
creation bytecode
0x60a0604052348015600e575f5ffd5b5060405161210a38038061210a833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b60805161207e61008c5f395f81816101360152818161050501526105d8015261207e5ff3fe608060405260043610610079575f3560e01c80638afd98941161004c5780638afd9894146101125780639203f23314610125578063c8abaaf61461017d578063faee426114610225575f5ffd5b806301ffc9a71461007d578063181fd18b146100b1578063211f03b3146100d25780635571123b146100f1575b5f5ffd5b348015610088575f5ffd5b5061009c610097366004610a8a565b610238565b60405190151581526020015b60405180910390f35b3480156100bc575f5ffd5b506100c561031c565b6040516100a89190610b1c565b3480156100dd575f5ffd5b5061009c6100ec366004610c65565b61033c565b3480156100fc575f5ffd5b5061011061010b366004610cd5565b6104c7565b005b34801561011d575f5ffd5b5060606100c5565b348015610130575f5ffd5b506101587f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a8565b348015610188575f5ffd5b506101f3610197366004610d2b565b5f60208181529381526040808220855292815282812090935282529020805460019091015473ffffffffffffffffffffffffffffffffffffffff82169174010000000000000000000000000000000000000000900460ff169083565b6040805173ffffffffffffffffffffffffffffffffffffffff90941684529115156020840152908201526060016100a8565b610110610233366004610c65565b6105c0565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a70000000000000000000000000000000000000000000000000000000014806102ca57507fffffffff0000000000000000000000000000000000000000000000000000000082167f510cd94600000000000000000000000000000000000000000000000000000000145b8061031657507fffffffff0000000000000000000000000000000000000000000000000000000082167f4d6ec3b000000000000000000000000000000000000000000000000000000000145b92915050565b60606040518060c00160405280608d8152602001611fe5608d9139905090565b5f86815260208181526040808320888452825280832087845282528083208151606081018352815473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000900460ff161580159482019490945260019091015491810191909152906104b757805f015173ffffffffffffffffffffffffffffffffffffffff1663d5abeb016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610400573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104249190610d54565b60408201516104339086610d98565b825f015173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561047f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a39190610d54565b6104ad9190610daf565b11159150506104bd565b60019150505b9695505050505050565b6040517f11b0738e00000000000000000000000000000000000000000000000000000000815260048101859052600a602482015233604482015284907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906311b0738e906064015f6040518083038186803b15801561055a575f5ffd5b505afa15801561056c573d5f5f3e3d5ffd5b5050505061057c85858585610689565b7fcdd8470c81c12ef7fe2fe67ef79d13684d94ff2008417cba55fdd025de21ec18858585856040516105b19493929190610dc2565b60405180910390a15050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461062f576040517f47322d0300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61063d86868686868661033c565b610673576040517f3d693ada00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61068186868686868661091c565b505050505050565b5f5f5f5f5f5f5f878060200190518101906106a49190610e33565b9650965096509650965096509650805f036106eb576040517fc6cc62cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8b8152602081815260408083208d845282528083208c845290915290205473ffffffffffffffffffffffffffffffffffffffff16806107eb5787878460405161073490610a7d565b61074093929190610ee1565b604051809103905ff080158015610759573d5f5f3e3d5ffd5b50905085156107e6576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152602482018890528216906340c10f19906044015f604051808303815f87803b1580156107cf575f5ffd5b505af11580156107e1573d5f5f3e3d5ffd5b505050505b610867565b6040517f6f8b44b00000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff821690636f8b44b0906024015f604051808303815f87803b158015610850575f5ffd5b505af1158015610862573d5f5f3e3d5ffd5b505050505b6040805160608101825273ffffffffffffffffffffffffffffffffffffffff928316815294151560208087019182528683019485525f9e8f528e8152828f209d8f529c8d52818e209b8e529a909b5299909a20915182549851151574010000000000000000000000000000000000000000027fffffffffffffffffffffff0000000000000000000000000000000000000000009099169916989098179690961786555050945160019093019290925550505050565b5f86815260208181526040808320888452825280832087845282528083208151606081018352815473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000900460ff16151593810193909352600101549082018190529091906109989085610d98565b82516040805173ffffffffffffffffffffffffffffffffffffffff8981166024830152604480830186905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f190000000000000000000000000000000000000000000000000000000017905291519394505f939190921691610a3191610f16565b5f604051808303815f865af19150503d805f8114610a6a576040519150601f19603f3d011682016040523d82523d5f602084013e610a6f565b606091505b505050505050505050505050565b6110b880610f2d83390190565b5f60208284031215610a9a575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ac9575f5ffd5b9392505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610ac96020830184610ad0565b73ffffffffffffffffffffffffffffffffffffffff81168114610b4f575f5ffd5b50565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610bc657610bc6610b52565b604052919050565b5f67ffffffffffffffff821115610be757610be7610b52565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112610c22575f5ffd5b8135610c35610c3082610bce565b610b7f565b818152846020838601011115610c49575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f5f60c08789031215610c7a575f5ffd5b8635955060208701359450604087013593506060870135610c9a81610b2e565b92506080870135915060a087013567ffffffffffffffff811115610cbc575f5ffd5b610cc889828a01610c13565b9150509295509295509295565b5f5f5f5f60808587031215610ce8575f5ffd5b843593506020850135925060408501359150606085013567ffffffffffffffff811115610d13575f5ffd5b610d1f87828801610c13565b91505092959194509250565b5f5f5f60608486031215610d3d575f5ffd5b505081359360208301359350604090920135919050565b5f60208284031215610d64575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808202811582820484141761031657610316610d6b565b8082018082111561031657610316610d6b565b848152836020820152826040820152608060608201525f6104bd6080830184610ad0565b5f82601f830112610df5575f5ffd5b8151610e03610c3082610bce565b818152846020838601011115610e17575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f5f5f5f5f60e0888a031215610e49575f5ffd5b875167ffffffffffffffff811115610e5f575f5ffd5b610e6b8a828b01610de6565b975050602088015167ffffffffffffffff811115610e87575f5ffd5b610e938a828b01610de6565b60408a015160608b015191985096509050610ead81610b2e565b60808901519094508015158114610ec2575f5ffd5b60a089015160c090990151979a96995094979396949593949392505050565b606081525f610ef36060830186610ad0565b8281036020840152610f058186610ad0565b915050826040830152949350505050565b5f82518060208501845e5f92019182525091905056fe60a060405234801561000f575f5ffd5b506040516110b83803806110b883398101604081905261002e91610113565b8282600361003c8382610204565b5060046100498282610204565b5050336080525061005981610061565b5050506102be565b801561006d5780610070565b5f195b60055550565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610099575f5ffd5b81516001600160401b038111156100b2576100b2610076565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100e0576100e0610076565b6040528181528382016020018510156100f7575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f60608486031215610125575f5ffd5b83516001600160401b0381111561013a575f5ffd5b6101468682870161008a565b602086015190945090506001600160401b03811115610163575f5ffd5b61016f8682870161008a565b925050604084015190509250925092565b600181811c9082168061019457607f821691505b6020821081036101b257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101ff57805f5260205f20601f840160051c810160208510156101dd5750805b601f840160051c820191505b818110156101fc575f81556001016101e9565b50505b505050565b81516001600160401b0381111561021d5761021d610076565b6102318161022b8454610180565b846101b8565b6020601f821160018114610263575f831561024c5750848201515b5f19600385901b1c1916600184901b1784556101fc565b5f84815260208120601f198516915b828110156102925787850151825560209485019460019092019101610272565b50848210156102af57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b608051610dd46102e45f395f818161025a015281816103d0015261048b0152610dd45ff3fe608060405234801561000f575f5ffd5b50600436106100f0575f3560e01c80636f8b44b011610093578063a9059cbb11610063578063a9059cbb146101f4578063d5abeb0114610207578063dd62ed3e14610210578063fe6d812414610255575f5ffd5b80636f8b44b01461019157806370a08231146101a457806395d89b41146101d9578063a457c2d7146101e1575f5ffd5b806323b872dd116100ce57806323b872dd14610147578063313ce5671461015a578063395093511461016957806340c10f191461017c575f5ffd5b806306fdde03146100f4578063095ea7b31461011257806318160ddd14610135575b5f5ffd5b6100fc6102a1565b6040516101099190610bf9565b60405180910390f35b610125610120366004610c74565b610331565b6040519015158152602001610109565b6002545b604051908152602001610109565b610125610155366004610c9c565b61034a565b60405160128152602001610109565b610125610177366004610c74565b61036d565b61018f61018a366004610c74565b6103b8565b005b61018f61019f366004610cd6565b610473565b6101396101b2366004610ced565b73ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205490565b6100fc6104ee565b6101256101ef366004610c74565b6104fd565b610125610202366004610c74565b6105d2565b61013960055481565b61013961021e366004610d0d565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260016020908152604080832093909416825291909152205490565b61027c7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610109565b6060600380546102b090610d3e565b80601f01602080910402602001604051908101604052809291908181526020018280546102dc90610d3e565b80156103275780601f106102fe57610100808354040283529160200191610327565b820191905f5260205f20905b81548152906001019060200180831161030a57829003601f168201915b5050505050905090565b5f3361033e8185856105df565b60019150505b92915050565b5f33610357858285610791565b610362858585610867565b506001949350505050565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061033e90829086906103b3908790610d8f565b6105df565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610427576040517ff8d2906c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104318282610ad4565b600554600254111561046f576040517f8a164f6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146104e2576040517ff8d2906c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104eb81610bc5565b50565b6060600480546102b090610d3e565b335f81815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156105c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61036282868684036105df565b5f3361033e818585610867565b73ffffffffffffffffffffffffffffffffffffffff8316610681576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105bc565b73ffffffffffffffffffffffffffffffffffffffff8216610724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105bc565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381165f908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108615781811015610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105bc565b61086184848484036105df565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661090a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105bc565b73ffffffffffffffffffffffffffffffffffffffff82166109ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105bc565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526020819052604090205481811015610a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016105bc565b73ffffffffffffffffffffffffffffffffffffffff8481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610861565b73ffffffffffffffffffffffffffffffffffffffff8216610b51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105bc565b8060025f828254610b629190610d8f565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b8015610bd15780610bf3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b60055550565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c6f575f5ffd5b919050565b5f5f60408385031215610c85575f5ffd5b610c8e83610c4c565b946020939093013593505050565b5f5f5f60608486031215610cae575f5ffd5b610cb784610c4c565b9250610cc560208501610c4c565b929592945050506040919091013590565b5f60208284031215610ce6575f5ffd5b5035919050565b5f60208284031215610cfd575f5ffd5b610d0682610c4c565b9392505050565b5f5f60408385031215610d1e575f5ffd5b610d2783610c4c565b9150610d3560208401610c4c565b90509250929050565b600181811c90821680610d5257607f821691505b602082108103610d89577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b80820180821115610344577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffdfea164736f6c634300081e000a737472696e67206e616d652c737472696e672073796d626f6c2c75696e74323536207072656d696e74416d6f756e742c61646472657373207072656d696e7452656365697665722c626f6f6c207265766572744f6e4d6178537570706c79526561636865642c75696e74323536206d6178537570706c792c75696e7432353620746f6b656e73506572556e6974a164736f6c634300081e000a000000000000000000000000b9d5b99d5d0fa04dd7eb2b0cd7753317c2ea1a84