You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A generalised payment splitting contract that receives token deposits and automatically distributes them to a configured list of recipients according to predefined share percentages. Useful for splitting platform fees, puzzle creator royalties, or guild treasury payouts among multiple parties.
Location:
contracts/payment_splitterEstimated Time: 6 hours
Description
A generalised payment splitting contract that receives token deposits and automatically distributes them to a configured list of recipients according to predefined share percentages. Useful for splitting platform fees, puzzle creator royalties, or guild treasury payouts among multiple parties.
Tasks
SplitConfigstruct:id,recipients: Vec<(Address, BasisPoints)>,token,total_releasedrecipientsshare weights must sum to 10000 bps; validated on config creationcreate_split(recipients, token)— registers a new split configurationdeposit(split_id, amount)— anyone can deposit; funds accumulate in contractrelease(split_id)— distributes current balance to all recipients per their sharerelease_to(split_id, recipient)— releases only one recipient's accumulated shareget_split(split_id)— returns config, total deposited, total released, per-recipient released amountsDeposited(split_id, amount),Released(split_id, recipient, amount)eventsAcceptance Criteria