Overview
Soroban smart contracts are the future of Stellar dApps. This issue tracks adding a useContractCall hook and SorobanContractInvoker component that lets dApps invoke Soroban contract functions through the same wallet adapter layer already in StellarPayProvider.
What needs to be built
API shape
const {
invoke, // (args: xdr.ScVal[]) => Promise<SorobanRpc.GetTransactionResponse>
simulate, // (args: xdr.ScVal[]) => Promise<SorobanRpc.SimulateTransactionResponse>
result, // SorobanRpc.GetTransactionResponse | null
status, // "idle" | "simulating" | "signing" | "submitting" | "success" | "error"
error, // string | null
} = useContractCall(contractId, "transfer");
Why this matters
- StellarBridge and other Wave projects use Soroban contracts
- No existing React library abstracts the simulate → sign → submit → poll lifecycle
- This makes
stellar-pay-ui useful beyond just payments — it becomes the standard Soroban UI toolkit
References
Overview
Soroban smart contracts are the future of Stellar dApps. This issue tracks adding a
useContractCallhook andSorobanContractInvokercomponent that lets dApps invoke Soroban contract functions through the same wallet adapter layer already inStellarPayProvider.What needs to be built
useContractCall(contractId, method, args)hook usingSorobanRpc.ServerSorobanContractInvokercomponent for no-code contract invocation UIAPI shape
Why this matters
stellar-pay-uiuseful beyond just payments — it becomes the standard Soroban UI toolkitReferences