Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simulate: Pack transaction reference arrays for unnamed resources #5684

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jasonpaulos
Copy link
Member

Summary

See #5616 for issue description

Test Plan

todo

@SilentRhetoric
Copy link

Hi Jason, is this still planned?

@joe-p
Copy link
Contributor

joe-p commented Nov 22, 2023

@SilentRhetoric I'm starting to work on it this week. Initial plan is to come up with a very simple function in JS for AVM <9 app calls. Then iterate on top of that to support AVM9 resource sharing. Then once a good algorithim is reached it can be put into algod. There are some edge cases like inner call to AVM<9 from AVM9+ and I'm not sure how nuanced the simulate response is, so don't know the exact scope of work here but I think it's manageable and hopefully ready by EOY.

@joe-p
Copy link
Contributor

joe-p commented Nov 24, 2023

Turns out that the simulate response was much more detailed than I anticipated, which made development much easier.

Working TypeScript implementation with tests for all functionality for both AVM8 and AVM9 is here: https://github.com/joe-p/resource-packer/tree/main

Next step is to do some more testing of the edge cases and then implementation into go-algorand can be started. I think returning {boxes, apps, accounts, assets} for each transaction as part of the response makes the most sense (opposed to returning the entire txn object) but open to other ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants