Skip to content

Conversation

@phdargen
Copy link
Contributor

@phdargen phdargen commented Jan 5, 2026

Description

Adds svm mechanism to python v2 sdk. Closely follows ts implementation with inspiration from #607 by @HealthyBuilder for python specifics

Tests

  • added unit tests, all pass
  • added integration tests, all pass
  • added e2e test
  • manual test: updated server examples
📊 Test Summary
==============
✅ Passed: 3
❌ Failed: 0
📈 Total: 3

📋 Detailed Test Results
========================

✅ PASSED TESTS:

  # 1: httpx → fastapi → /protected-svm
      Facilitator: typescript | Network: solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 | Tx: 3VG4HiztbB...
  # 2: requests → fastapi → /protected-svm
      Facilitator: typescript | Network: solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 | Tx: 3rGRez1LyS...
  # 3: httpx → flask → /protected-svm
      Facilitator: typescript | Network: solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 | Tx: 5z4HD5M5SW...

📊 Breakdown by Facilitator:
   typescript      ✅ 3 / ❌ 0 (100%)

📊 Breakdown by Server:
   fastapi              ✅ 2 / ❌ 0 (100%)
   flask                ✅ 1 / ❌ 0 (100%)

📊 Breakdown by Client:
   httpx                ✅ 2 / ❌ 0 (100%)
   requests             ✅ 1 / ❌ 0 (100%)

Flask server + httpx client:

Response status: 200
Response body: {"report":{"temperature":70,"weather":"sunny"}}

Payment response: {
  "success": true,
  "error_reason": null,
  "payer": "0xE33A295AF5C90A0649DFBECfDf9D604789B892e2",
  "transaction": "0x28ef7b73666b63fa0e9e1f75b21c9651a170a96a6c672987f990baa2c4d4b99c",
  "network": "eip155:84532"
}

Checklist

  • I have formatted and linted my code
  • All new and existing tests pass
  • My commits are signed (required for merge) -- you may need to rebase if you initially pushed unsigned commits

@vercel
Copy link

vercel bot commented Jan 5, 2026

@phdargen is attempting to deploy a commit to the Coinbase Team on Vercel.

A member of the Team first needs to authorize it.

@phdargen phdargen marked this pull request as draft January 5, 2026 19:00
@phdargen phdargen force-pushed the python-v2-svm branch 2 times, most recently from 612401a to 4f78bcd Compare January 5, 2026 19:22
@phdargen phdargen force-pushed the python-v2-svm branch 2 times, most recently from 9832b5a to e336d4b Compare January 5, 2026 21:18
@phdargen phdargen marked this pull request as ready for review January 5, 2026 21:19
Copy link
Contributor

@CarsonRoscoe CarsonRoscoe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work @phdargen!

Now that #901 is merged, could we add the EVM/SVM dependencies as optional extras?

@github-actions github-actions bot added sdk Changes to core v2 packages examples Changes to examples python legacy Changes to legacy sdk or examples labels Jan 7, 2026
@phdargen
Copy link
Contributor Author

phdargen commented Jan 7, 2026

Great work @phdargen!

Now that #901 is merged, could we add the EVM/SVM dependencies as optional extras?

Done @CarsonRoscoe, also updated the server/client examples to use the new import pattern

@CarsonRoscoe CarsonRoscoe merged commit fd04ac6 into coinbase:feat/python-v2-sdk Jan 7, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

examples Changes to examples legacy Changes to legacy sdk or examples python sdk Changes to core v2 packages

Development

Successfully merging this pull request may close these issues.

2 participants