Summary
The updated holders table needs a stakedQuantity field per holder. The existing holders endpoint should be extended to include stakedQuantity and liquidQuantity derived from the staking_positions contract state.
Scope
- Extend GET /keys/:keyId/holders to include stakedQuantity and liquidQuantity per holder
- Fetch staking positions from the staking_positions persistent map for each holder via the Soroban RPC
- Compute liquidQuantity as totalQuantity minus stakedQuantity
- Cache individual holder staking positions in Redis for 30 seconds
- Maintain backward compatibility by adding the new fields without removing existing ones
Acceptance Criteria
ETA: 12 hours
Coordinate on Telegram
Summary
The updated holders table needs a stakedQuantity field per holder. The existing holders endpoint should be extended to include stakedQuantity and liquidQuantity derived from the staking_positions contract state.
Scope
Acceptance Criteria
ETA: 12 hours
Coordinate on Telegram