Skip to content

Feature/intent api design#253

Open
nikdim03 wants to merge 15 commits intomainfrom
feature/intent-api-design
Open

Feature/intent api design#253
nikdim03 wants to merge 15 commits intomainfrom
feature/intent-api-design

Conversation

@nikdim03
Copy link
Contributor

No description provided.

@nikdim03 nikdim03 requested a review from a team as a code owner February 23, 2026 09:28
@vercel
Copy link

vercel bot commented Feb 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
kit-demo-wallet Ready Ready Preview, Comment Feb 27, 2026 5:32am

Request Review

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.

1 participant