Parameters of the bonding curves

We maintain four parameters for the bonding curve.

Delta

Delta is a static variable until changed used to determine the speed of price increase Delta can be functionally flat as well, if you don’t want prices to change from trade to trade.

  • The number indicating functionally flat delta differs from each curve. For Linear curves, input a delta of 0. For Exponential curves, input a delta of 1e18 (representing 100% i.e. no multiplicative change). You can also do that with Sigmoid curves by setting P_min = P_max. However, since these are all functionally equivalent, we recommend just sticking with the simple Linear representation if you wish to create a functionally flat pricing curve.

SpotPrice

SpotPrice is a stateful variable that is used to store a rough price level to help calculate bid/asks

Props

We foresee the need for an arbitrarily large set of static variable beyond just delta (e.g. for the sigmoid curve, we require explicit min/max levels)

State

We foresee the need for an arbitrarily large set of stateful variables. State is a bytes variable for an arbitrarily large set of stateful variables.

Do note that the difference between props and state is just a convention for the curves that we have, and is not enforced for custom curves - someone could easily make props the stateful variable and state the static variable.

VariablesIntent of variable usageDataTypeLimited Data Storage?

Delta

Static - Changed by user only when you want to change the hyperparameters of pricing function

uint128

Limited

SpotPrice

Stateful - Changed by the pool automatically on each trade

uint128

Limited

Props

Static - Changed by user only when you want to change the hyperparameters of pricing function

bytes

Unlimited

State

Stateful - Changed by the pool automatically on each trade

bytes

Unlimited

Last updated

Logo

© 2023 Collection. All rights reserved