243 txs
3.3k calls
constructor
constructor(address productsModuleAddress_)
functions
isPurchaseAllowed
viewfunction isPurchaseAllowed(uint256, uint256, address, uint256, bytes, bytes) view returns (bool)
productPrice
viewfunction productPrice(uint256 slicerId, uint256 productId, address, uint256 quantity, address buyer, bytes) view returns (uint256 ethPrice, uint256 currencyPrice)
productsModuleAddress
viewfunction productsModuleAddress() view returns (address)
totalPurchases
viewfunction totalPurchases(address buyer, uint256 slicerId) view returns (uint256 purchases)
usdcPrices
viewfunction usdcPrices(uint256 slicerId, uint256 productId) view returns (uint256 usdcPrice, address mintToken, uint88 mintTokenId, uint8 freeUnits)
onProductPurchase
payablefunction onProductPurchase(uint256 slicerId, uint256 productId, address buyer, uint256 quantity, bytes, bytes) payable
removeDiscountToken
nonpayablefunction removeDiscountToken(uint256 slicerId, uint256 productId, uint256 index)
setProduct
nonpayablefunction setProduct(uint256 slicerId, uint256 productId, uint256 usdcPrice, tuple[] discountTokens, address mintToken, uint88 mintTokenId, uint8 freeUnits)
events
No events.
errors
NotAllowed
error NotAllowed()
NotProductOwner
error NotProductOwner()
NotPurchase
error NotPurchase()
NotSuccessful
error NotSuccessful()
WrongSlicer
error WrongSlicer()
creation bytecode
0x60a060405234801561001057600080fd5b506040516111c73803806111c783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516111276100a060003960008181610204015281816102a2015281816104cf015261069d01526111276000f3fe60806040526004361061007b5760003560e01c806395db93681161004e57806395db9368146101a8578063a23fffb9146101df578063d12ebada146101f2578063d7a3d0c81461023e57600080fd5b8063252252f31461008057806373b699d3146100cb578063778346df146100ed5780637b9e27e81461010d575b600080fd5b34801561008c57600080fd5b506100b861009b366004610c66565b600360209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156100d757600080fd5b506100eb6100e6366004610c90565b610273565b005b3480156100f957600080fd5b506100eb610108366004610d54565b6104a0565b34801561011957600080fd5b5061016f610128366004610e98565b6002602081815260009384526040808520909152918352912080549101546001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1684565b604080519485526001600160a01b0390931660208501526001600160581b039091169183019190915260ff1660608201526080016100c2565b3480156101b457600080fd5b506101cf6101c3366004610f2a565b60019695505050505050565b60405190151581526020016100c2565b6100eb6101ed366004610f2a565b610692565b3480156101fe57600080fd5b506102267f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c2565b34801561024a57600080fd5b5061025e610259366004610fba565b6108d2565b604080519283526020830191909152016100c2565b604051631cdd250160e31b81526004810184905260248101839052336044820152839083906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e6e9280890606401602060405180830381865afa1580156102e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030d9190611027565b61032a576040516335cd3b6d60e01b815260040160405180910390fd5b60008581526002602090815260408083208784529091529020600181015484106103905760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b604482015260640160405180910390fd5b835b60018201546000190181101561046c578160010181600101815481106103ba576103ba611050565b906000526020600020018260010182815481106103d9576103d9611050565b600091825260209091208254910180546001600160a01b039092166001600160a01b031983168117825583546001600160f81b031990931617600160a01b928390046001600160581b0316909202919091178082558254600160f81b9081900460ff169183916001600160f81b039091169083600181111561045d5761045d611066565b02179055505050600101610392565b50806001018054806104805761048061107c565b600082815260208120820160001990810191909155019055505050505050565b604051631cdd250160e31b81526004810188905260248101879052336044820152879087906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e6e9280890606401602060405180830381865afa158015610516573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053a9190611027565b610557576040516335cd3b6d60e01b815260040160405180910390fd5b60008981526002602081815260408084208c855290915282208981550180546001600160a01b0388166001600160f81b031990911617600160a01b6001600160581b03881602176001600160f81b0316600160f81b60ff8716021790555b86518110156106865760008a81526002602090815260408083208c8452909152902087516001909101908890839081106105f1576105f1611050565b602090810291909101810151825460018181018555600094855293839020825191018054938301516001600160581b0316600160a01b026001600160f81b03199094166001600160a01b0390921691909117929092178083556040820151919383916001600160f81b031690600160f81b90849081111561067457610674611066565b021790555050508060010190506105b5565b50505050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106db576040516347322d0360e01b815260040160405180910390fd5b6001600160a01b03841660009081526003602090815260408083208984529091528120805485929061070e9084906110a8565b909155505060008681526002602090815260408083208884528252808320815160a081018352815481526001820180548451818702810187019095528085529194929385840193909290879084015b828210156107e75760008481526020908190206040805160608101825291850180546001600160a01b0381168452600160a01b81046001600160581b031694840194909452919290830190600160f81b900460ff1660018111156107c3576107c3611066565b60018111156107d4576107d4611066565b815250508152602001906001019061075d565b50505090825250600291909101546001600160a01b038082166020840152600160a01b82046001600160581b0316604080850191909152600160f81b90920460ff1660609093019290925282015191925016156108c95760408082015160608301519151631607e8a560e31b81526001600160a01b0388811660048301526001600160581b03909316602482015260806044820152600060848201526064810187905291169063b03f45289060a401600060405180830381600087803b1580156108b057600080fd5b505af11580156108c4573d6000803e3d6000fd5b505050505b50505050505050565b60008681526002602090815260408083208884528252808320815160a08101835281548152600182018054845181870281018701909552808552869586959394938582019390929091879084015b828210156109aa5760008481526020908190206040805160608101825291850180546001600160a01b0381168452600160a01b81046001600160581b031694840194909452919290830190600160f81b900460ff16600181111561098657610986611066565b600181111561099757610997611066565b8152505081526020019060010190610920565b50505090825250600291909101546001600160a01b038116602080840191909152600160a01b82046001600160581b03166040840152600160f81b90910460ff16606090920191909152810151519091501580610b8a57610a2260408051606081018252600080825260208201819052909182015290565b60005b836020015151811015610b875783602001518181518110610a4857610a48611050565b6020026020010151915060006001811115610a6557610a65611066565b82604001516001811115610a7b57610a7b611066565b03610af65781516040516370a0823160e01b81526001600160a01b038a81166004830152909116906370a0823190602401602060405180830381865afa158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aed91906110c1565b15159250610b7a565b81516020830151604051627eeac760e11b81526001600160a01b038b811660048301526001600160581b03909216602482015291169062fdd58e90604401602060405180830381865afa158015610b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7591906110c1565b151592505b82610b8757600101610a25565b50505b8015610c13576001600160a01b03861660009081526003602090815260408083208d8452909152902054608083015160ff16811015610c1157608083015160ff16819003808911610be5576000809550955050505050610c3f565b60008c81526002602090815260408083208e8452909152812054909650908903029350610c3f92505050565b505b60008a81526002602090815260408083208c8452909152812054610c389089906110da565b9350935050505b965096945050505050565b80356001600160a01b0381168114610c6157600080fd5b919050565b60008060408385031215610c7957600080fd5b610c8283610c4a565b946020939093013593505050565b600080600060608486031215610ca557600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715610cf557610cf5610cbc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610d2457610d24610cbc565b604052919050565b80356001600160581b0381168114610c6157600080fd5b803560ff81168114610c6157600080fd5b600080600080600080600060e0888a031215610d6f57600080fd5b87359650602080890135965060408901359550606089013567ffffffffffffffff80821115610d9d57600080fd5b818b0191508b601f830112610db157600080fd5b813581811115610dc357610dc3610cbc565b610dd1848260051b01610cfb565b8181528481019250606090910283018401908d821115610df057600080fd5b928401925b81841015610e5a576060848f031215610e0e5760008081fd5b610e16610cd2565b610e1f85610c4a565b8152610e2c868601610d2c565b86820152604085013560028110610e435760008081fd5b604082015283526060939093019291840191610df5565b8098505050505050610e6e60808901610c4a565b9250610e7c60a08901610d2c565b9150610e8a60c08901610d43565b905092959891949750929550565b60008060408385031215610eab57600080fd5b50508035926020909101359150565b600082601f830112610ecb57600080fd5b813567ffffffffffffffff811115610ee557610ee5610cbc565b610ef8601f8201601f1916602001610cfb565b818152846020838601011115610f0d57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c08789031215610f4357600080fd5b8635955060208701359450610f5a60408801610c4a565b935060608701359250608087013567ffffffffffffffff80821115610f7e57600080fd5b610f8a8a838b01610eba565b935060a0890135915080821115610fa057600080fd5b50610fad89828a01610eba565b9150509295509295509295565b60008060008060008060c08789031215610fd357600080fd5b8635955060208701359450610fea60408801610c4a565b935060608701359250610fff60808801610c4a565b915060a087013567ffffffffffffffff81111561101b57600080fd5b610fad89828a01610eba565b60006020828403121561103957600080fd5b8151801515811461104957600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156110bb576110bb611092565b92915050565b6000602082840312156110d357600080fd5b5051919050565b80820281158282048414176110bb576110bb61109256fea264697066735822122052ef12ec49ba07f47926461eb9a3bbf49675d143da406b1c19a90b5305538d5764736f6c63430008130033000000000000000000000000b9d5b99d5d0fa04dd7eb2b0cd7753317c2ea1a84