pallet-dap 0.3.0

FRAME pallet for Dynamic Allocation Pool (DAP)
Documentation

Dynamic Allocation Pool (DAP) Pallet

Intercepts native token burns (staking slashes, transaction fees, dust removal, reward remainders, EVM gas rounding) on AssetHub and redirects them into a buffer account instead of destroying them. The buffer account must be pre-funded with at least ED (existential deposit), e.g., via balances genesis config or a transfer. If the buffer account is not pre-funded, deposits below ED will be silently burned.

Incoming funds are deactivated to exclude them from governance voting. When DAP distributes funds (e.g., to validators, nominators, treasury, collators), those funds must be reactivated before transfer.

  • Burns: Use Dap as OnUnbalanced handler for any burn source (e.g., type Slash = Dap, type DustRemoval = Dap, type OnBurn = Dap) Note: Direct calls to pallet_balances::Pallet::burn() extrinsic are not redirected to the buffer — they still reduce total issuance directly.