feat(stellar): implement batch sender contract path - #222
truthixify merged 6 commits into
Conversation
|
@fwseyi Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
The contract call does not match the deployed ABI. batch_send expects sender, a vector of Transfer structs, and asset, but this PR sends seven separate arguments. Please build the Transfer values and regenerate the API report. |
|
The API report conflict has been resolved and the accidental CI setup issue was fixed. The latest CI run is now fully green: all regular checks pass, with only the two expected nightly checks skipped. PR #222 is clean and mergeable. |
|
The call now has the right three arguments, but each Transfer still includes scheme_id, which is not part of the contract struct. Please encode exactly the four ABI fields and add a contract simulation or round-trip decode test. |
|
Thanks for the feedback. I removed scheme_id from the Transfer struct so it now encodes exactly the four ABI fields, and added round-trip decoding assertions to verify the payload shape. The changes are pushed in commit 0bfc38c, and all regular CI checks are passing. |
|
The transfer fields now match the contract, but the ScMapEntry keys are not sorted. Soroban requires canonical map order. Use nativeToScVal, scvSortedMap, or sort the keys before building the struct. |
|
Thanks for catching that. I updated the transfer encoding to use |
|
The batch path and tests look good. SDK #227 changed the shared API report, so this now conflicts. Please rebase on develop and regenerate the API report. |
8e20d5f to
72fd0fd
Compare
|
Merged. The batch sender call now matches the Soroban ABI, uses canonical map ordering, and passes the focused tests. Thanks @fwseyi. |
Summary
Validation
pnpm exec vitest run test/chains/stellar/tx-builder.test.ts— 21 passedpnpm exec vitest run test/chains/stellar— 909 passed, 5 skippedpnpm exec tsc --noEmit— passedpnpm build— passedCloses #199