Skip to content

feat: add protocol fee for escrow releases — platform takes a small percentage of each release #352

@BigBen-7

Description

@BigBen-7

Description

A configurable protocol fee deducted from each escrow release and sent to a treasury address funds platform operations sustainably.

What to do

  • Add DataKey::ProtocolFeeBps and DataKey::ProtocolTreasury to storage_types.rs
  • Add set_protocol_fee(e, admin, fee_bps: u32, treasury: Address) — admin-only, fee_bps <= 500 (max 5%)
  • In release_escrow: compute and deduct fee, transfer to treasury, release remainder to beneficiary
  • Add get_protocol_fee(e) -> (u32, Option<Address>) view
  • Add tests: 0% fee, 1% fee correctly deducted, >500bps panics

Files touched

  • src/storage_types.rs
  • src/escrow.rs
  • src/contract.rs
  • src/escrow_test.rs

PR requirement

  • Closes #[issue_id] — Timeframe: 72 hours

Metadata

Metadata

Assignees

No one assigned

    Labels

    adminAdmin and governanceenhancementNew feature or requestescrowEscrow module

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions