Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the change
Add some tests to better quantify maximum gas used when performing purchase transactions.
Note that these are quickly added tests to help describe maximum gas expected when minting, but they by no means represent maximum possible gas.
The following items could increase gas to an unbounded amount:
receive()
orfallback()
function can perform an arbitrary amount of execution during a purchase transaction, making purchase transaction gas costs unbounded.The logs associated with the new tests are:
Conclusion
It seams reasonable to update the frontend to use a hard-coded upper limit of 250k gas based on the data above. That provides a margin of
250/146 = ~+70%
relative to the max observed Merkle minter purchase gas to account for additional payee splits, etc.