Skip to content

[Feature]: Soroban Contract Integration SDK Layer #222

Description

@SudiptaPaul-31

🔍 Problem Statement

Description

Develop a reusable TypeScript service layer that abstracts Soroban contract interactions. This SDK will centralize transaction building, argument preparation, simulation, submission, and response parsing, ensuring frontend applications do not duplicate contract logic.


Responsibilities

  • Build contract transactions — construct Soroban transaction objects for each contract method.
  • Prepare arguments — encode/decode contract arguments with strong TypeScript types.
  • Simulate transactions — run dry-runs to validate execution before submission.
  • Submit signed transactions — handle signing and broadcasting to Soroban network.
  • Parse contract responses/events — standardize event parsing and error handling.

Example API

// Escrow lifecycle
createEscrow(projectId: string, budget: number, milestones?: Milestone[]): Promise<TxResult>;
fundEscrow(escrowId: string, amount: number): Promise<TxResult>;
submitMilestone(escrowId: string, milestoneId: string): Promise<TxResult>;
approveMilestone(escrowId: string, milestoneId: string): Promise<TxResult>;
raiseDispute(escrowId: string, milestoneId: string): Promise<TxResult>;
releasePayment(escrowId: string, milestoneId: string): Promise<TxResult>;


### 📈 Expected Impact

High — Would significantly improve user experience

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions