Overview
External Soroban contracts such as lending protocols or DAOs cannot currently integrate with SoroStream streams programmatically, limiting composability within the Stellar DeFi ecosystem.
Problem
There is no standardized interface that external contracts can call to create, query, or interact with streams, preventing SoroStream from becoming a composable primitive in the Stellar DeFi stack.
Proposed Solution
- Define a
StreamInterface trait exposing create_stream, withdraw, cancel_stream, get_stream, and get_claimable with standardized types
- Implement the trait on the SoroStream contract
- Document the interface as the canonical integration target for external contracts
- Provide a minimal cross-contract call example in the test suite
Acceptance Criteria
Overview
External Soroban contracts such as lending protocols or DAOs cannot currently integrate with SoroStream streams programmatically, limiting composability within the Stellar DeFi ecosystem.
Problem
There is no standardized interface that external contracts can call to create, query, or interact with streams, preventing SoroStream from becoming a composable primitive in the Stellar DeFi stack.
Proposed Solution
StreamInterfacetrait exposingcreate_stream,withdraw,cancel_stream,get_stream, andget_claimablewith standardized typesAcceptance Criteria
StreamInterfacetrait defined in a dedicated module