Skip to content

chore: resolve dev/v2 merge conflicts in tron mechanism#10

Merged
Hades-Ye merged 4 commits intofeat/e2e-test-optimizationfrom
feat/merge-dev-v2-resolved
Mar 12, 2026
Merged

chore: resolve dev/v2 merge conflicts in tron mechanism#10
Hades-Ye merged 4 commits intofeat/e2e-test-optimizationfrom
feat/merge-dev-v2-resolved

Conversation

@Hades-Ye
Copy link
Copy Markdown
Contributor

Summary

This PR resolves merge conflicts from dev/v2 into the feat/e2e-test-optimization branch.

Changes

  • utils.ts: Kept local implementation (using viem) for better type safety and consistency.
  • package.json: Adopted dev/v2 versions to align with the project's updated toolchain (Vitest 3, tsup 8).
  • eslint.config.js: Synchronized with @bankofai/x402-evm standard configuration (enabling JSDoc rules).
  • pnpm-lock.yaml: Regenerated to match updated dependencies.

Verified with pnpm build, pnpm lint, and pnpm test.

@Hades-Ye Hades-Ye merged commit 8158f77 into feat/e2e-test-optimization Mar 12, 2026
7 checks passed
@Hades-Ye Hades-Ye deleted the feat/merge-dev-v2-resolved branch March 12, 2026 08:39
boboliu-1010 pushed a commit that referenced this pull request Apr 24, 2026
All three testnet scenarios now verified end-to-end on real chain:
- exact_testnet         — BSC tx 461d17b...159a0
- exact_permit_testnet  — BSC tx 0xfc8b32d...98a23
- exact_gasfree_testnet — TRON Nile tx 1d77f242b72293116e65c46b5ad756dd2f8355ebc625078aec0eb4ea54d148d2

Two new solutions entries from closing the gasfree loop:

#9 GasFree gasFreeAddress is per-query, not absolute. The API returns a
   fresh mapping for every queried address; our SDK queries with the main
   wallet and writes that layer's gasFreeAddress into the payload. If you
   deposit to a gasFreeAddress obtained by querying any *other* address
   (e.g. one resolved from a second hop), the balance won't register.
   Always deposit to api_client.get_address_info(main_wallet)["gasFreeAddress"].

#10 TRON multisig / witness accounts reject single-key signatures under
    the default permission_id=0 (owner). If owner_permission.threshold > 1,
    sign under an active permission via .permission_id(2) — confirmed on
    the Nile witness account used in our testnet .env. tronpy default path
    would otherwise return "Validate signature error: sig error" with no
    hint at the permission cause.

Testnet README status table updated: all three rows ✅ verified.

Regression: 217 pytest + 51 vitest + 8 mock e2e still green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

1 participant