Skip to content

feat: implement intent API for WalletKit#353

Open
TrueCarry wants to merge 224 commits intomainfrom
dev/tim/sdk-sign-message-updates
Open

feat: implement intent API for WalletKit#353
TrueCarry wants to merge 224 commits intomainfrom
dev/tim/sdk-sign-message-updates

Conversation

@TrueCarry
Copy link
Copy Markdown
Collaborator

No description provided.

nikdim03 added 30 commits March 13, 2026 05:52
Add intent URL parsing, resolution, and handling pipeline:

Models:
- IntentActionItem: SendTon, SendJetton, SendNft action types
- IntentRequestEvent: Transaction, SignData, Action intent events
- IntentResponse: Transaction, SignData, and error response types
- BatchedIntentEvent: Multiple intents in a single event

Handlers:
- IntentParser: URL parsing, validation, wire-to-model mapping
- IntentResolver: Action items to TransactionRequest conversion,
  action URL fetching with jetton/NFT message building
- IntentHandler: Orchestrator with parse-resolve-emulate-emit flow,
  approval/rejection methods, pending connect request management

Integration:
- TonWalletKit: 10 public intent API methods
- BridgeManager: sendIntentResponse with ephemeral SessionCrypto
- Android bridge: Full intent API surface with event listeners
1. Action URL response parsing: handle { action_type, action } format
   per spec instead of wire intent format. sendTransaction actions
   return standard messages array, signData returns typed payload.

2. Query param: use 'address' instead of 'wallet' when appending
   wallet address to action URL (spec requirement).

3. Wire response format: convert SDK response models to spec format
   before sending via bridge:
   - txIntent/signMsg: { result: '<boc>', id }
   - signIntent: { result: { signature, address, timestamp, domain, payload }, id }
   - error: { error: { code, message }, id }

4. SignData response: add echoed payload field per spec requirement
   (MakeSignDataIntentResponseSuccess = SignDataResponseSuccess).
…ning and adjust related logic in IntentHandler
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