Main entry point. Wraps all stream and vesting operations.
const client = new SoroProtocolClient({
network: 'TESTNET',
contractId: 'C...',
});| Method | Description |
|---|---|
createStream(params) |
Create a new payment stream |
cancelStream(id, sender) |
Cancel stream, splits balance |
withdrawStream(id, recipient) |
Withdraw accrued balance |
getStreamBalance(id) |
Read real-time balance (no wallet) |
| Method | Description |
|---|---|
createVesting(params) |
Create a vesting schedule |
claimVesting(id, beneficiary) |
Claim vested tokens |
// Real-time balance polling
const { balance } = useStreamBalance(streamId, fetchBalance, 5000);
// Stream data
const { stream, loading } = useStream(streamId, fetchFn);
// Wallet connection
const { wallet, connect, disconnect } = useWallet();All methods throw SoroProtocolError on failure:
try {
await client.createStream(params);
} catch (err) {
if (err instanceof SoroProtocolError) {
console.error(err.code, err.message);
}
}Error codes: RPC_ERROR, CONTRACT_ERROR, VALIDATION_ERROR, NOT_FOUND.