Skip to content

Conversation

@tysonwil
Copy link
Collaborator

@tysonwil tysonwil commented Aug 20, 2025

Swift SDK: Unified Wallet Architecture

Breaking Changes

Removed Dependencies

  • web3swift - No longer included
  • solana-swift - No longer included
  • BigInt dependency moved to internal use only

API Changes

  • ParaEvmSigner class removed - Use signTransaction() with EVMTransaction instead
  • ParaSolanaWeb3Signer class removed - Use signTransaction() with SolanaTransaction instead
  • ParaCosmosSigner class removed - Use signTransaction() with CosmosTransaction instead
  • ✅ New unified methods: signMessage(), signTransaction() work with all wallet types

Migration

Before:

import ParaSwift

let evmSigner = ParaEvmSigner()
let signature = try await evmSigner.signTransaction(...)

After:

import ParaSwift

let transaction = EVMTransaction(to: "0x...", value: 1000000000000000000, gasLimit: 21000)
let result = try await para.signTransaction(walletId: walletId, transaction: transaction)
let signature = result.signature

Impact

  • External wallet integrations: Unaffected - continue using blockchain SDKs directly for MetaMask, Phantom, etc.
  • Para wallet operations: Now use unified interface instead of chain-specific signers
  • Package size: Reduced by removing external blockchain dependencies

tysonwil and others added 4 commits August 19, 2025 09:01
- Keep unified wallet signing approach with SignatureResult
- Incorporate error handling clarity improvements from alpha
- Remove ErrorReportingClient and ErrorTrackable as per alpha changes
- Maintain formatAndSignMessage/formatAndSignTransaction methods

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@tysonwil tysonwil changed the base branch from main to 2.0.0-alpha August 21, 2025 00:00
Keep the new unified signing methods (formatAndSignMessage, formatAndSignTransaction)
while discarding the old legacy methods that were improved in PR #30.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@tysonwil tysonwil merged commit 46dcb39 into 2.0.0-alpha Aug 27, 2025
1 of 2 checks passed
@tysonwil tysonwil deleted the tyson/wallet-unification branch August 27, 2025 20:43
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.

3 participants