Skip to content

Use SDK ParadexEvm for EVM auth; require paradex_py >= 0.6.3#31

Merged
amayvs merged 2 commits into
mainfrom
amay/evm-auth-reuse-sdk
Jul 16, 2026
Merged

Use SDK ParadexEvm for EVM auth; require paradex_py >= 0.6.3#31
amayvs merged 2 commits into
mainfrom
amay/evm-auth-reuse-sdk

Conversation

@amayvs

@amayvs amayvs commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • _evm_authed_paradex now returns the SDK's ParadexEvm on standard environments (paradex_py 0.6.3 ships the full v2 SIWE flow incl. vault-operator targeting) — gaining onboarding-if-needed, JWT refresh on expiry, and the SDK's operator guards (e.g. refusing a pre-feature server that answers with the main account).
  • The CLI's own v2 SIWE flow remains only as the --siwe-domain/--chain-id override fallback (e.g. --env local), which ParadexEvm cannot serve (per-env SIWE domains are hardcoded in the SDK). Unknown envs still get the helpful "pass --siwe-domain and --chain-id" error.
  • paradex_py>=0.6.3 in pyproject + uv.lock.
  • 3 new tests cover the routing (SDK path with operator forwarding, override fallback, unknown-env error); 94 pass locally.

Notes for reviewers

  • The uv.lock entry for paradex-py 0.6.3 was written from PyPI's JSON API metadata (canonical URLs + sha256) because a local network security proxy blocks not-yet-vetted new packages from resolving; CI resolves normally.
  • The guardian-command tests hit the live testnet API, which is currently scaled down (503) — if CI shows those 9 failing, re-run once testnet is back up.
  • Follow-up candidate: upstream the SIWE subkey-registration payload builder into paradex-py, after which the CLI's remaining SIWE code can be deleted entirely.

amayvs added 2 commits July 15, 2026 19:04
paradex_py 0.6.3 ships the full v2 SIWE flow including vault-operator
targeting, so _evm_authed_paradex now returns a ParadexEvm client on
standard environments — gaining onboarding-if-needed, JWT refresh on
expiry, and the SDK's operator guards. The CLI's own v2 flow remains
only as the fallback for --siwe-domain/--chain-id overrides (e.g.
env=local), which ParadexEvm cannot serve (per-env SIWE domains are
hardcoded in the SDK).

uv.lock entry for paradex-py 0.6.3 written from PyPI's JSON API
metadata (canonical URLs + sha256); a local security proxy blocks
not-yet-vetted new packages so uv could not resolve it here.
Every command path constructs Paradex(env=...), whose constructor
fetches system config from the live API — the file failed wholesale
whenever testnet was unreachable (ELB 503 -> JSONDecodeError). Autouse
a Paradex mock; tests that assert on the constructor re-patch it
themselves. Also drops suite runtime from ~44s to ~2s.
@amayvs
amayvs merged commit efff49f into main Jul 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants