From a66d96f6cd14671d4fa3ea0d24fb299d14e4810c Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 09:42:15 -0400 Subject: [PATCH 01/12] docs: add distribution rule info --- docs/explanations/tokens.md | 120 ++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index b6722de7e..6728abc6d 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -193,6 +193,126 @@ Dash Platform also supports three options to control the destination for newly m | **Fixed Destination** | Newly minted tokens are always directed to one predetermined (fixed) identity. | - Ensures a strict, predictable allocation.
- No choice at the time of minting once configured. | | **Combination / Exclusive** | These two approaches can be used exclusively (only one rule active) or combined for more granular control. | - In a combined setup, some mints could go to a fixed address while others go to a chosen address. | +##### Perpetual Distribution Options + +A wide variety of emission patterns are provided to cover most common scenarios. + +###### Fixed Amount + +Emits a constant (fixed) number of tokens for every period. + +- **Formula:** `f(x) = n` +- **Use Case:** + + - When a predictable, unchanging reward is desired. + - Simplicity and stable emissions. + +- **Example:** If `n = 5` tokens per block, then after 3 blocks the total emission is 15 tokens. + +###### Step Decreasing Amount + +Emits a random number of tokens within a specified range. + +- **Formula**: `f(x) ∈ [min, max]` + - Constraints: + + - `min` must be ≤ `max`, otherwise the function is invalid. + - If `min == max`, this behaves like a [Fixed Amount](#fixed-amount) function with a constant emission. +- **Description** + + - This function selects a **random** token emission amount between `min` and `max`. + - The value is drawn **uniformly** between the bounds. + - The randomness uses a Pseudo Random Function (PRF) from x. + +- **Use Case** + + - **Stochastic Rewards**: Introduces randomness into rewards to incentivize unpredictability. + - **Lottery-Based Systems**: Used for randomized emissions, such as block rewards with probabilistic payouts. + +- **Example** + + Suppose a system emits **between 10 and 100 tokens per period**. + + ```text + Random { min: 10, max: 100 } + ``` + + | Period (x) | Emitted Tokens (Random) | + |------------|------------------------| + | 1 | 27 | + | 2 | 94 | + | 3 | 63 | + | 4 | 12 | + + - Each period, the function emits a **random number of tokens** between `min = 10` and `max = 100`. + - Over time, the **average reward trends toward the midpoint** `(min + max) / 2`. + +###### Linear Integer + +A linear function using integer precision. + +- **Formula:** `f(x) = a * x + b` +- **Description:** + - `a` > 0 -> tokens increase over time + - `a` < 0 -> tokens decrease over time + - `b` is the initial value +- **Use Case:** Incentivize early or match ecosystem growth +- **Example:** f(x) = 10x + 50 + +###### Linear Float + +A linear function with fractional (floating-point) rates. + +- **Formula:** `f(x) = a * x + b` +- **Description:** Similar to [Linear Integer](#linear-integer), but with fractional slope +- **Use Case:** Gradual fractional increases/decreases over time +- **Example:** f(x) = 0.5x + 50 + +###### Polynomial Integer + +A polynomial function (e.g. quadratic, cubic) using integer precision. + +- **Formula:** `f(x) = a * x^n + b` +- **Description:** Flexible curves (growth/decay) beyond simple linear +- **Use Case:** Diminishing or accelerating returns as time progresses +- **Example:** f(x) = 2x^2 + 20 + +###### Polynomial Float + +A polynomial function supporting fractional exponents or coefficients. + +- **Formula:** `f(x) = a * x^n + b` +- **Description:** Similar to [Polynomial Integer](#polynomial-integer), but with floats +- **Example:** f(x) = 0.5x^3 + 20 + +###### Exponential + +Exponential growth or decay of tokens. + +- **Formula:** `f(x) = a * e^(b * x) + c` +- **Description:** + - `b` > 0 -> rapid growth + - `b` < 0 -> rapid decay +- **Use Case:** Early contributor boosts or quick emission tapering +- **Example:** f(x) = 100 * e^(-0.693 * x) + 5 + +###### Logarithmic + +Logarithmic growth of token emissions. + +- **Formula:** `f(x) = a * log_b(x) + c` +- **Description:** Growth slows as `x` increases +- **Use Case:** Sustainable long-term emission tapering +- **Example:** f(x) = 20 * log_2(x) + 5 + +###### Stepwise + +Emits tokens in fixed amounts for specific intervals. + +- **Description:** Emissions remain constant within each step +- **Use Case:** Adjust rewards at specific milestones +- **Example:** 100 tokens per block for first 1000 blocks, then 50 tokens thereafter + ### Groups Groups can be used to distribute token configuration and update authorization across multiple identities. Each group defines a set of member identities, the voting power of each member, and the required power threshold to authorize an action. From e7d996cf65d971dedacf0ff23eac89d4c89115a0 Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 09:42:48 -0400 Subject: [PATCH 02/12] docs: link to perpetual distro rules section --- docs/explanations/tokens.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index 6728abc6d..c4ec2791c 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -183,8 +183,8 @@ distribution options are summarized below: | ------ | ----------- | -------- | ------ | | Manual Minting | Authorized users/groups can create new tokens until `maxSupply` is reached | On-demand minting | - Requires proper configuration to enable
- Minting actions may be logged or controlled via permissions | | Programmed Distribution | A fixed number of tokens are automatically minted to designated identities at a specific timestamp | *On Jan 1, 2047, allocate `X` tokens to the provided identity* | - Automates token release at known times
- Useful for predictable, one-time or recurring events at fixed timestamps | -| Perpetual Distribution | Scheduled release of tokens based on blocks or time intervals | *Emit 100 tokens every 20 blocks*, or *Halve the emission every year* | - Offers ongoing, dynamic token emission patterns.
- Supports variable rates (e.g., linear, steps).
- Configurable to trigger automatically or require manual "release" actions. | - +| [Perpetual Distribution](#perpetual-distribution-options) | Scheduled release of tokens based on blocks or time intervals | *Emit 100 tokens every 20 blocks*, or *Halve the emission every year* | - Offers ongoing, dynamic token emission patterns.
- Supports variable rates (e.g., linear, steps).
- Configurable to trigger automatically or require manual "release" actions. | + Dash Platform also supports three options to control the destination for newly minted tokens: | Option | Description | Notes | From 3533c359476ed7cd9deb590226f9c4c40c73c7dc Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 09:47:59 -0400 Subject: [PATCH 03/12] chore: update myst parser setting to avoid extraneous warning A warning was reported for some heading cross-references even though they worked fine. This resolves the issue. --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index 99d2778e7..24b0476b9 100644 --- a/conf.py +++ b/conf.py @@ -54,7 +54,7 @@ # -- Myst parser configuration ----------------------------------------------- # Auto-generate header anchors for md headings -myst_heading_anchors = 5 +myst_heading_anchors = 6 # Enable colon_fence for better markdown compatibility # https://myst.tools/docs/mystjs/syntax-overview#directives From 4be0c7954ea5b03f79171f1ea259869e546a5733 Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 10:21:47 -0400 Subject: [PATCH 04/12] docs: add summary table for perpetual distro options --- docs/explanations/tokens.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index c4ec2791c..e1ec76d57 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -195,7 +195,18 @@ Dash Platform also supports three options to control the destination for newly m ##### Perpetual Distribution Options -A wide variety of emission patterns are provided to cover most common scenarios. +A wide variety of emission patterns are provided to cover most common scenarios. The following table summarizes the options and links to further details. + +| Name | Description | +| - | - | +| [Fixed Amount](#fixed-amount) | Emits a constant number of tokens per period | +| [Step Decreasing Amount](#step-decreasing-amount) | Emits a random amount between `min` and `max`, using a PRF | +| [Linear Integer](#linear-integer) | Linear growth/decay with integer precision | +| [Linear Float](#linear-float) | Linear growth/decay with fractional precision | +| [Polynomial Integer](#polynomial-integer) | Integer polynomial (e.g., quadratic, cubic) | +| [Polynomial Float](#polynomial-float) | Polynomial with fractional exponents or coefficients | +| [Logarithmic](#logarithmic) | Slows emission over time | +| [Stepwise](#stepwise) | Emits constant values within predefined steps | ###### Fixed Amount From c2969d9ff58403d4a40728bfe857f12d8286b802 Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 11:38:28 -0400 Subject: [PATCH 05/12] docs: add actual step decreasing option --- docs/explanations/tokens.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index e1ec76d57..166ba1d38 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -258,6 +258,22 @@ Emits a random number of tokens within a specified range. - Each period, the function emits a **random number of tokens** between `min = 10` and `max = 100`. - Over time, the **average reward trends toward the midpoint** `(min + max) / 2`. +###### Step Decreasing Amount + +Emits tokens that decrease in discrete steps at fixed intervals. + +- **Formula:** `f(x) = n * (1 - (numerator / denominator))^((x - s) / step_count)` +- **Description:** Reduces token emissions by a fixed percentage at regular intervals. Includes optional start offset and minimum emission floor. + - `step_count`: number of periods between each step + - `numerator` and `denominator`: the reduction factor per step + - `s`: optional start period offset (e.g., start block or time). If not provided, the contract creation start is used. + - `n`: initial token emission amount + - `min_value`: optional minimum emission value +- **Use Case:** Reward systems with predictable decay—ideal for Bitcoin-style halvings or Dash-style gradual reductions +- **Example:** + - Bitcoin: 50% reduction every 210,000 blocks + - Dash: ~7% reduction every 210,240 blocks + ###### Linear Integer A linear function using integer precision. From cb6a7b6d19ef958fea5627e967fbb4289a5b5b46 Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 11:39:02 -0400 Subject: [PATCH 06/12] docs: update heading to add random --- docs/explanations/tokens.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index 166ba1d38..4be5ace9a 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -200,6 +200,7 @@ A wide variety of emission patterns are provided to cover most common scenarios. | Name | Description | | - | - | | [Fixed Amount](#fixed-amount) | Emits a constant number of tokens per period | +| [Random](#random) | Emits a random amount between `min` and `max`, using a PRF | | [Step Decreasing Amount](#step-decreasing-amount) | Emits a random amount between `min` and `max`, using a PRF | | [Linear Integer](#linear-integer) | Linear growth/decay with integer precision | | [Linear Float](#linear-float) | Linear growth/decay with fractional precision | @@ -220,7 +221,7 @@ Emits a constant (fixed) number of tokens for every period. - **Example:** If `n = 5` tokens per block, then after 3 blocks the total emission is 15 tokens. -###### Step Decreasing Amount +###### Random Emits a random number of tokens within a specified range. From 902366ee4322bc980ce1a7089da44f7802cff3ef Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 11:39:18 -0400 Subject: [PATCH 07/12] style: minor formatting --- docs/explanations/tokens.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index 4be5ace9a..7dab9dce2 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -215,10 +215,8 @@ Emits a constant (fixed) number of tokens for every period. - **Formula:** `f(x) = n` - **Use Case:** - - When a predictable, unchanging reward is desired. - Simplicity and stable emissions. - - **Example:** If `n = 5` tokens per block, then after 3 blocks the total emission is 15 tokens. ###### Random @@ -227,20 +225,15 @@ Emits a random number of tokens within a specified range. - **Formula**: `f(x) ∈ [min, max]` - Constraints: - - `min` must be ≤ `max`, otherwise the function is invalid. - If `min == max`, this behaves like a [Fixed Amount](#fixed-amount) function with a constant emission. - **Description** - - This function selects a **random** token emission amount between `min` and `max`. - The value is drawn **uniformly** between the bounds. - The randomness uses a Pseudo Random Function (PRF) from x. - - **Use Case** - - **Stochastic Rewards**: Introduces randomness into rewards to incentivize unpredictability. - **Lottery-Based Systems**: Used for randomized emissions, such as block rewards with probabilistic payouts. - - **Example** Suppose a system emits **between 10 and 100 tokens per period**. From ddf8d187c333e5402e6441f5383a4e8b74e12945 Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 12:16:24 -0400 Subject: [PATCH 08/12] docs: add inverted log info --- docs/explanations/tokens.md | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index 7dab9dce2..405584d84 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -326,6 +326,44 @@ Logarithmic growth of token emissions. - **Use Case:** Sustainable long-term emission tapering - **Example:** f(x) = 20 * log_2(x) + 5 +###### Inverted Logarithmic + +Emits tokens following an inverted logarithmic decay curve. + +- **Formula:** + `f(x) = (a * log(n / (m * (x - s + o)))) / d + b` + +- **Description:** + Emits a high number of tokens initially, with emissions decreasing rapidly at first, then slowing over time. Useful when early adoption or front-loaded incentives are desired. + Parameters: + - `a`: scaling factor for the log term + - `d`: divisor to scale the final result + - `m` and `n`: Control the logarithmic inversion + - `o`: offset applied inside the logarithm + - `s`: optional start period offset (defaults to contract creation time if not provided) + - `b`: offset added after scaling + - `min_value` / `max_value`: optional bounds to constrain emissions + +- **Use Case:** + - **Gradual Decay of Rewards**: Prioritize early users with higher emissions that reduce over time + - **Resource Draining / Controlled Burn**: Designed for token models where supply tapers gradually + - **Airdrops & Grants**: Rewards diminish for late claimants, encouraging early participation + +- **Example:** + - `f(x) = (1000 * log(5000 / (5 * (x - 1000)))) / 10 + 10` + - Sample outputs: + + | Period (x) | Emission (f(x)) | + |------------|----------------| + | 1000 | 500 tokens | + | 1500 | 230 tokens | + | 2000 | 150 tokens | + | 5000 | 50 tokens | + | 10,000 | 20 tokens | + | 50,000 | 10 tokens | + + - Starts high and decays gradually without hitting zero too fast + ###### Stepwise Emits tokens in fixed amounts for specific intervals. From 906ca9d5454a104dec6d12eb5bcf26ff41ca37e5 Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 12:19:56 -0400 Subject: [PATCH 09/12] docs: consolidate linear to match platform --- docs/explanations/tokens.md | 41 ++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index 405584d84..23386d4d3 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -202,8 +202,7 @@ A wide variety of emission patterns are provided to cover most common scenarios. | [Fixed Amount](#fixed-amount) | Emits a constant number of tokens per period | | [Random](#random) | Emits a random amount between `min` and `max`, using a PRF | | [Step Decreasing Amount](#step-decreasing-amount) | Emits a random amount between `min` and `max`, using a PRF | -| [Linear Integer](#linear-integer) | Linear growth/decay with integer precision | -| [Linear Float](#linear-float) | Linear growth/decay with fractional precision | +| [Linear](#linear) | Linear growth/decay with integer or fractional precision | | [Polynomial Integer](#polynomial-integer) | Integer polynomial (e.g., quadratic, cubic) | | [Polynomial Float](#polynomial-float) | Polynomial with fractional exponents or coefficients | | [Logarithmic](#logarithmic) | Slows emission over time | @@ -268,29 +267,33 @@ Emits tokens that decrease in discrete steps at fixed intervals. - Bitcoin: 50% reduction every 210,000 blocks - Dash: ~7% reduction every 210,240 blocks -###### Linear Integer +###### Linear -A linear function using integer precision. +Emits tokens following a linear function that can increase or decrease over time with fractional precision. -- **Formula:** `f(x) = a * x + b` -- **Description:** - - `a` > 0 -> tokens increase over time - - `a` < 0 -> tokens decrease over time - - `b` is the initial value -- **Use Case:** Incentivize early or match ecosystem growth -- **Example:** f(x) = 10x + 50 - -###### Linear Float +- **Formula:** `f(x) = (a * (x - s) / d) + b` -A linear function with fractional (floating-point) rates. +- **Description:** Supports both integer and fractional slopes via `a / d` ratio. Enables precise reward schedules without floating-point rounding errors. + - Parameters + - `a`: slope numerator (positive = increase, negative = decrease) + - `d`: slope divisor (enables fractional precision) + - `s`: optional start period offset (defaults to contract creation) + - `b`: starting emission amount + - `min_value` / `max_value`: optional emission bounds + - Behavior + - If `a > 0`, emissions increase linearly over time + - If `a < 0`, emissions decrease linearly over time + - If `a = 0`, emissions remain constant at `b` -- **Formula:** `f(x) = a * x + b` -- **Description:** Similar to [Linear Integer](#linear-integer), but with fractional slope -- **Use Case:** Gradual fractional increases/decreases over time -- **Example:** f(x) = 0.5x + 50 +- **Use Case:** Predictable inflation or deflation, gradual reward scaling, clamped emission schedules -###### Polynomial Integer +- **Example:** + - Increasing Linear Emission: `f(x) = (1 * (x - 0) / 1) + 10` + - Decreasing Linear Emission: `f(x) = (-2 * (x - 0) / 1) + 100` + - Delayed Start: `f(x) = (5 * (x - 10) / 1) + 50` + - Clamping Emissions: `f(x) = (2 * (x - 0) / 1) + 50` +###### Polynomial A polynomial function (e.g. quadratic, cubic) using integer precision. - **Formula:** `f(x) = a * x^n + b` From 89b8f51eb76a3b27ac4af5fe025463378e1c207a Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 12:31:50 -0400 Subject: [PATCH 10/12] docs: consolidate polynomial to match platform code --- docs/explanations/tokens.md | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index 23386d4d3..34fe28ea7 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -203,8 +203,7 @@ A wide variety of emission patterns are provided to cover most common scenarios. | [Random](#random) | Emits a random amount between `min` and `max`, using a PRF | | [Step Decreasing Amount](#step-decreasing-amount) | Emits a random amount between `min` and `max`, using a PRF | | [Linear](#linear) | Linear growth/decay with integer or fractional precision | -| [Polynomial Integer](#polynomial-integer) | Integer polynomial (e.g., quadratic, cubic) | -| [Polynomial Float](#polynomial-float) | Polynomial with fractional exponents or coefficients | +| [Polynomial](#polynomial) | Polynomial with integer or fractional exponents or coefficients | | [Logarithmic](#logarithmic) | Slows emission over time | | [Stepwise](#stepwise) | Emits constant values within predefined steps | @@ -294,20 +293,34 @@ Emits tokens following a linear function that can increase or decrease over time - Clamping Emissions: `f(x) = (2 * (x - 0) / 1) + 50` ###### Polynomial -A polynomial function (e.g. quadratic, cubic) using integer precision. -- **Formula:** `f(x) = a * x^n + b` -- **Description:** Flexible curves (growth/decay) beyond simple linear -- **Use Case:** Diminishing or accelerating returns as time progresses -- **Example:** f(x) = 2x^2 + 20 +A polynomial function using fixed-point arithmetic for fractional or integer exponents. -###### Polynomial Float +- **Formula:** + `f(x) = (a * (x - s + o)^(m / n)) / d + b` + +- **Description:** + Emits tokens based on a polynomial curve, where the exponent is defined as a fraction (`m / n`). This enables a wide range of growth or decay behaviors—linear, quadratic, root-based, and more—using precise fixed-point logic. + Parameters: + - `a`: coefficient scaling the curve (positive for growth, negative for decay) + - `m` and `n`: exponent numerator and denominator, allowing fractional powers (e.g., `m = 1`, `n = 2` → square root) + - `d`: divisor to scale the result + - `s`: optional start period offset + - `o`: offset inside the exponent input + - `b`: amount added after the curve is computed + - `min_value` / `max_value`: optional boundaries to clamp emissions -A polynomial function supporting fractional exponents or coefficients. +- **Use Case:** + - **Accelerating Growth:** Use `a > 0` and `m > 1` for quadratic/cubic growth + - **Diminishing Emissions:** Use `a < 0` and fractional exponents for decaying curves + - **Root-based Models:** Use `m = 1`, `n > 1` to slow down early growth + - **Flexibility:** Fine-tune emission behavior with high control over shape -- **Formula:** `f(x) = a * x^n + b` -- **Description:** Similar to [Polynomial Integer](#polynomial-integer), but with floats -- **Example:** f(x) = 0.5x^3 + 20 +- **Example:** + - Increasing Polynomial Growth: `f(x) = (2 * (x - s + o)^2) / d + 10` + - Decreasing Polynomial Decay: `f(x) = (5 * (x - s + o)^(-1)) / d + 10` + - Inverted Growth → Decreasing Over Time: `f(x) = (-3 * (x - s + o)^2) / d + 50` + - Inverted Decay → Slowing Increase: `f(x) = (-10 * (x - s + o)^(-2)) / d + 50` ###### Exponential From 147e010f79c62b4f47d4088184de5f15ba8f1b23 Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 12:55:39 -0400 Subject: [PATCH 11/12] docs: update perpetual distro table --- docs/explanations/tokens.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index 34fe28ea7..13a8747ea 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -204,7 +204,9 @@ A wide variety of emission patterns are provided to cover most common scenarios. | [Step Decreasing Amount](#step-decreasing-amount) | Emits a random amount between `min` and `max`, using a PRF | | [Linear](#linear) | Linear growth/decay with integer or fractional precision | | [Polynomial](#polynomial) | Polynomial with integer or fractional exponents or coefficients | +| [Exponential](#exponential) | Emits tokens following an exponential function | | [Logarithmic](#logarithmic) | Slows emission over time | +| [Inverted Logarithmic](#inverted-logarithmic) | Slows emission over time | | [Stepwise](#stepwise) | Emits constant values within predefined steps | ###### Fixed Amount @@ -324,7 +326,7 @@ A polynomial function using fixed-point arithmetic for fractional or integer exp ###### Exponential -Exponential growth or decay of tokens. +Emits tokens following an exponential function. - **Formula:** `f(x) = a * e^(b * x) + c` - **Description:** From a3da02d51f2438d50b8417004a3d5abcb2798a18 Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 9 Apr 2025 14:58:15 -0400 Subject: [PATCH 12/12] docs: correct description --- docs/explanations/tokens.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/explanations/tokens.md b/docs/explanations/tokens.md index 13a8747ea..451a39f2a 100644 --- a/docs/explanations/tokens.md +++ b/docs/explanations/tokens.md @@ -201,7 +201,7 @@ A wide variety of emission patterns are provided to cover most common scenarios. | - | - | | [Fixed Amount](#fixed-amount) | Emits a constant number of tokens per period | | [Random](#random) | Emits a random amount between `min` and `max`, using a PRF | -| [Step Decreasing Amount](#step-decreasing-amount) | Emits a random amount between `min` and `max`, using a PRF | +| [Step Decreasing Amount](#step-decreasing-amount) | Emits tokens that decrease in discrete steps at fixed intervals | | [Linear](#linear) | Linear growth/decay with integer or fractional precision | | [Polynomial](#polynomial) | Polynomial with integer or fractional exponents or coefficients | | [Exponential](#exponential) | Emits tokens following an exponential function |