67 releases (29 stable)

3.15.0 Oct 1, 2024
3.14.0 Jun 4, 2024
3.13.0 Apr 26, 2024
3.7.0 Feb 13, 2024
0.14.0 Jul 25, 2022

#3 in #fees

Download history 14/week @ 2025-03-08 23/week @ 2025-03-15 20/week @ 2025-03-22 16/week @ 2025-03-29 4/week @ 2025-04-05 28/week @ 2025-04-12 42/week @ 2025-04-19 30/week @ 2025-04-26 13/week @ 2025-05-03 28/week @ 2025-05-10 132/week @ 2025-05-17 210/week @ 2025-05-24 472/week @ 2025-05-31 370/week @ 2025-06-07 1151/week @ 2025-06-14 558/week @ 2025-06-21

2,552 downloads per month
Used in 22 crates (21 directly)

Apache-2.0

14KB
224 lines

SG1 Spec: Fair Burn

TODO 7/28/23 add deprecation note in favor of core/fairburn

Fair Burn is a specification for processing fees in Stargaze, influenced by EIP-1559.

With Fair Burn, a portion of fees are burned, and the remaining portion is distributed to stakers. Currently, 50% is burned, and 50% go to stakers.

Fair Burn also includes a way to incentivize custom smart contract development by distributing some of the fee to a developer address. This developer fee is substracted from the amount burned.

For example, if a developer address is provided, 40% fees will be burned, 10% will go to the developer address, and 50% will go to the Community Pool.

Governance Parameters

const FEE_BURN_PERCENT: u64 = 50;      // 50%
const DEV_INCENTIVE_PERCENT: u64 = 10; // 10%

API

Contracts can use Fair Burn via one of the following functions.

/// Burn and distribute fees and return an error if the fee is not enough
checked_fair_burn(info: &MessageInfo, fee: u128, developer: Option<Addr>) -> Result<Vec<SubMsg>, FeeError>

/// Burn and distribute fees, assuming the right fee is passed in
fair_burn(fee: u128, developer: Option<Addr>) -> Vec<SubMsg>

Custom contract developers can pass in a a developer address that will receive 10% of all fees.

Dependencies

~4–6.5MB
~134K SLoC