Concepts
Members
Stellar accounts registered in a pool with assigned basis points.
A Member is an active Stellar address registered within a pool to receive a designated percentage allocation from all settled payments.
Member Definition
Members are added by the pool owner via add_member. A pool must have at least one member before accepting payments, and all members must have a non-zero share specified in basis points.
On-Chain Member Data Structure
rustcontracts/splitpay/src/types.rs
#[contracttype]#[derive(Clone, Debug, Eq, PartialEq)]pub struct Member { pub pool_id: u64, pub address: Address, pub share_bps: u32,}Member Constraints & Integrity
- No Duplicate Addresses: A single Stellar address cannot be added more than once to the same pool. Attempts result in
Error::MemberAlreadyExists. - Non-Zero Shares: A member's share must be strictly greater than 0 and less than or equal to 10,000 BPS (
Error::InvalidShare). - Total Cap: Adding or updating a member cannot cause the cumulative shares of the pool to exceed 10,000 BPS (
Error::InvalidTotalShares).