Overview
Add SDK helpers for routing payments from non-Stellar chains (Ethereum, Solana) toward a StellarSplit invoice via a bridge. The SDK must estimate bridge fees, build the relay proof parameters, and submit the bridge payment to the contract.
Requirements
client.estimateBridgeFee(sourceChain: ChainId, amount: bigint): Promise<BridgeFeeEstimate>
BridgeFeeEstimate { bridgeFee: bigint, netAmount: bigint, estimatedTimeSeconds: number }
client.buildBridgePayment(params: BridgePaymentParams): BridgePaymentRequest — builds the unsigned relay proof struct
client.submitBridgePayment(proof: SignedBridgeProof): Promise<{ txHash: string }> — submits to contract
- Support at minimum: Ethereum mainnet and Solana mainnet as source chains
- Write tests with mock bridge fee APIs and mock contract responses
Acceptance Criteria
Definition of Done
All CI checks must pass before the PR is reviewed.
Overview
Add SDK helpers for routing payments from non-Stellar chains (Ethereum, Solana) toward a StellarSplit invoice via a bridge. The SDK must estimate bridge fees, build the relay proof parameters, and submit the bridge payment to the contract.
Requirements
client.estimateBridgeFee(sourceChain: ChainId, amount: bigint): Promise<BridgeFeeEstimate>BridgeFeeEstimate { bridgeFee: bigint, netAmount: bigint, estimatedTimeSeconds: number }client.buildBridgePayment(params: BridgePaymentParams): BridgePaymentRequest— builds the unsigned relay proof structclient.submitBridgePayment(proof: SignedBridgeProof): Promise<{ txHash: string }>— submits to contractAcceptance Criteria
bridge_payentry pointnpm testpasses with zero failuresDefinition of Done
All CI checks must pass before the PR is reviewed.