Skip to content

Implement Transaction Builder Wrapper #56

@wheval

Description

@wheval

Implement Transaction Builder Wrapper

Description:
Build AccountTransactionBuilder — a convenience wrapper around Stellar SDK's TransactionBuilder that simplifies building smart account operations (session key management, contract execution).

Context:
Invoking our account contract methods requires verbose Soroban invocation code. This wrapper provides a clean fluent API for common operations while delegating to Stellar SDK internally.

Requirements:

  • Create AccountTransactionBuilder class wrapping Stellar SDK's TransactionBuilder
  • Implement .addSessionKey(publicKey, permissions, expiresAt) convenience method
  • Implement .revokeSessionKey(publicKey) convenience method
  • Implement .execute(sessionKey, operations) convenience method
  • Implement .simulate() for Soroban transaction simulation
  • Support .addOperation() passthrough for standard Stellar operations
  • Automatic fee estimation from simulation results
  • Implement .build() returning a ready-to-sign transaction
  • Unit tests for all builder methods (>90% coverage)

Files to Create:

  • packages/account-abstraction/src/transaction-builder.ts
  • packages/account-abstraction/src/__tests__/transaction-builder.test.ts

Dependencies:

Definition of Done:

  • Builder produces valid Soroban transactions
  • Simulation works and returns estimated fees
  • All methods chain correctly (fluent API)
  • Tests pass with >90% coverage

Labels: sdk, transactions, account-abstraction
Estimated Effort: 3–4 days
Priority: High — needed for send flow and session key management

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programsdkrelated to sdk

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions