Open clemsos opened 5 months ago
I think this is an interesting idea... BUT also a breaking change and we should be really careful with these changes. Could we just add another signature and show a deprecation warning for the old one?
If we did this ^^ we could easily emit an event for each "purchase" and use that to construct receipts.
The current models for the purchase function args is to pass several arrays of identical length - one for each required param of a purchase.
Current signature
This makes unpacking encoding args difficult as array can be of arbitrary length.
Possible improvement
A more elegant solution could be to have a single array of Struct containing each the param for a single purchase.
Not sure what will be the downsides, but it sure improves readability as well as the ability to loop and decode an encoded array of Structs.
Any thoughts?