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

SDKs: Support Box static array in transactions + algod box search APIs #175

Closed
michaeldiamant opened this issue May 10, 2022 · 1 comment
Assignees

Comments

@michaeldiamant
Copy link
Contributor

michaeldiamant commented May 10, 2022

Problem

As of algorand/go-algorand#3890, accessing a Box requires specifying the box name in the (new) static Boxes array. The story requests adding SDK support + tests for submitting Application Call transactions with a static Boxes array.

SDKs in-scope:

Solution

  • We should able to specify the boxes that an application call will touch: i.e. ApplicationCallTxn needs a new "boxes" field.
  • The atomic transaction composer also needs an update to the add_method_call function, and possibly some other updates (not well understood by me yet).
  • Encoding note:
    • The SDK exposes an API where apps are directly referenced: appl(A, ForeignApps=[B], Boxes=[(A, "hello"), (B, "goodbye")])
    • In contrast, the transaction encoding translates the app reference to the foreign app index (e.g. A to 0): appl(A, ForeignApps=[B], Boxes=[(0, "hello"), (1, "goodbye")]).

Dependencies

Urgency

@michaeldiamant michaeldiamant changed the title SDKs: Support Box foreign array SDKs: Support Box static array May 16, 2022
@algoanne algoanne changed the title SDKs: Support Box static array SDKs: Support Box static array in transactions May 19, 2022
@algochoi
Copy link
Contributor

algochoi commented May 25, 2022

SDK work for Boxes

Work go-algorand algorand-sdk-testing go-sdk java-sdk py-sdk js-sdk Notes
Encode boxes as new field in application transactions algorand/go-algorand#3890 #181 algorand/go-algorand-sdk#337 algorand/java-algorand-sdk#340 algorand/py-algorand-sdk#338 algorand/js-algorand-sdk#573 Unit tests for encoding appl calls for boxes correctly
API Path tests - #203 algorand/go-algorand-sdk#338 algorand/java-algorand-sdk#343 algorand/py-algorand-sdk#346 algorand/js-algorand-sdk#586 Check that API URLs are escaped properly & check for non UTF-8 characters in endpoint url
Support box reads given app and name algorand/go-algorand#3973 #196 algorand/go-algorand-sdk#338 algorand/java-algorand-sdk#343 algorand/py-algorand-sdk#346 algorand/js-algorand-sdk#586 Integration tests for round-trip box creation, writes and reads using algod APIs
Support all box names by app algorand/go-algorand#4021 #208 algorand/go-algorand-sdk#344 algorand/java-algorand-sdk#347 algorand/py-algorand-sdk#359 algorand/js-algorand-sdk#608

@michaeldiamant michaeldiamant changed the title SDKs: Support Box static array in transactions SDKs: Support Box static array in transactions + algod box search APIs Jul 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants