Refactor SVM client and verification logic to remove create ATA instruction
Description
Refactor SVM client and verification logic to remove create ATA instruction handling
- Removed create associated token account (ATA) instruction logic from SVM client and tests.
- Updated transfer instruction handling to assume destination ATA exists.
- Adjusted verification functions to reflect changes in instruction expectations.
- Cleaned up related test cases to remove references to create ATA instructions.
Tests
Updated existing tests.
Checklist
- [x] I have formatted and linted my code
- [x] All new and existing tests pass
- [x] My commits are signed (required for merge) -- you may need to rebase if you initially pushed unsigned commits
✅ Heimdall Review Status
| Requirement | Status | More Info | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Reviews |
✅
1/1
|
Denominator calculation
|
@notorious-d-e-v is attempting to deploy a commit to the Coinbase Team on Vercel.
A member of the Team first needs to authorize it.
IMO this is a good change. Facilitator should be responsible for keeping their ATA open. Might be worth documenting expected transaction structure in x402-specification.md or a readme in typescript/packages/x402/src/schemes/exact/svm/facilitator/. This hits on some of the elements of #421 -- I think we could tackle the rest of that after this merges.
Thanks, agreed! You're right, should update the docs.
Ideally there will be a way for facilitators to help merchants set up their ATA. It could also be a sponsored tx where the merchant pays in USDC.
But for now it's simplest to just remove it.