Independence Note: Provide entirely empty stub structs representing interacting Protocols without network hooks.
Context:
Executing dozens of payouts in a single transaction can exceed gas limits. We need a way to queue payouts natively and process them in chunks.
Objective:
Create an internal state to buffer pending payouts.
Acceptance Criteria:
Technical Pointers:
- Using a vector in persistent storage has gas implications; ensure the count is limited per call to stay within limits.
Independence Note: Provide entirely empty stub structs representing interacting Protocols without network hooks.
Context:
Executing dozens of payouts in a single transaction can exceed gas limits. We need a way to queue payouts natively and process them in chunks.
Objective:
Create an internal state to buffer pending payouts.
Acceptance Criteria:
PayoutQueuestruct usingstorage().persistent().add_payout(recipient, amount)that appends to an internal vector.process_payout_batch(count)which pops the firstcountitems and performs the transfers.Technical Pointers: