Acala
Acala copied to clipboard
honzon-distribution pallet
- Types
- enum DistributionDestination
- StableAsset { poolId: StableAssetPoolId }
- struct DistributionParams
- cap: Balance
- maxStep: Balance
- targetMin: Ratio
- targetMax: Ratio
- enum DistributionDestination
- Config
- type UpdateOrigin: EnsureOrigin
- type AdjustPeriod: Get<(BlockNumber, BlockNumber)>
- Storages
- Params: map DistrubutionDestination => DistributionParams
- Amount: map DistrubutionDestination => Balance
- Calls
- fn update_params(origin, params: Option<DistributionParams>)
- ensure UpdateOrigin
- fn force_adjust(origin, dest: DistributionDestination)
- ensure UpdateOrigin
- apply distrubution adjustment
- fn update_params(origin, params: Option<DistributionParams>)
- Pallet
- fn on_initialize
- if now % AdjustPeriod.0 == AdjustPeriod.1
- for (dest, params) in Params
- Check dest value
- if lower than min target
- Mint & add liqudiity
- if higher than max target
- Withdraw liquidity and burn
- for (dest, params) in Params
- if now % AdjustPeriod.0 == AdjustPeriod.1
- fn on_initialize