Skip to content

VortexDistribution pallet

Derived from live runtime metadata on TRN root (pallet index 46, captured 2026-05-02). For prose-style documentation see VortexDistribution on the curated reference side.

Pallet index
46
Calls
18
Events
24
Errors
24
Storage items
26
Constants
11

Calls (extrinsics)

VortexDistribution.set_admin

See [Pallet::set_admin].

ts
api.tx.vortexDistribution.set_admin(new: [u8;20])
ArgumentTypeDoc
new[u8;20]AccountIdLookupOf<T>

Call index: 0

VortexDistribution.create_vtx_dist

See [Pallet::create_vtx_dist].

ts
api.tx.vortexDistribution.create_vtx_dist()

Call index: 1

VortexDistribution.disable_vtx_dist

See [Pallet::disable_vtx_dist].

ts
api.tx.vortexDistribution.disable_vtx_dist(id: u32)
ArgumentTypeDoc
idu32T::VtxDistIdentifier

Call index: 2

VortexDistribution.set_fee_pot_asset_balances

See [Pallet::set_fee_pot_asset_balances].

ts
api.tx.vortexDistribution.set_fee_pot_asset_balances(id: u32, assets_balances: Vec<(u32,u128)>)
ArgumentTypeDoc
idu32T::VtxDistIdentifier
assets_balancesVec&lt;(u32,u128)&gt;BoundedVec<(AssetId, Balance), T::MaxAssetPrices>

Call index: 3

VortexDistribution.set_vtx_vault_asset_balances

See [Pallet::set_vtx_vault_asset_balances].

ts
api.tx.vortexDistribution.set_vtx_vault_asset_balances(id: u32, assets_balances: Vec<(u32,u128)>)
ArgumentTypeDoc
idu32T::VtxDistIdentifier
assets_balancesVec&lt;(u32,u128)&gt;BoundedVec<(AssetId, Balance), T::MaxAssetPrices>

Call index: 4

VortexDistribution.set_vtx_total_supply

See [Pallet::set_vtx_total_supply].

ts
api.tx.vortexDistribution.set_vtx_total_supply(id: u32, supply: u128)
ArgumentTypeDoc
idu32T::VtxDistIdentifier
supplyu128Balance

Call index: 5

VortexDistribution.register_reward_points

See [Pallet::register_reward_points].

ts
api.tx.vortexDistribution.register_reward_points(id: u32, reward_points: Vec<(SeedPrimitivesSignatureAccountId20,u128)>)
ArgumentTypeDoc
idu32T::VtxDistIdentifier
reward_pointsVec&lt;(SeedPrimitivesSignatureAccountId20,u128)&gt;BoundedVec<(T::AccountId, Balance), T::MaxRewards>

Call index: 6

VortexDistribution.register_work_points

See [Pallet::register_work_points].

ts
api.tx.vortexDistribution.register_work_points(id: u32, work_points: Vec<(SeedPrimitivesSignatureAccountId20,u128)>)
ArgumentTypeDoc
idu32T::VtxDistIdentifier
work_pointsVec&lt;(SeedPrimitivesSignatureAccountId20,u128)&gt;BoundedVec<(T::AccountId, Balance), T::MaxRewards>

Call index: 7

VortexDistribution.set_consider_current_balance

See [Pallet::set_consider_current_balance].

ts
api.tx.vortexDistribution.set_consider_current_balance(value: bool)
ArgumentTypeDoc
valueboolbool

Call index: 8

VortexDistribution.set_disable_redeem

See [Pallet::set_disable_redeem].

ts
api.tx.vortexDistribution.set_disable_redeem(value: bool)
ArgumentTypeDoc
valueboolbool

Call index: 9

VortexDistribution.set_enable_manual_reward_input

See [Pallet::set_enable_manual_reward_input].

ts
api.tx.vortexDistribution.set_enable_manual_reward_input(value: bool)
ArgumentTypeDoc
valueboolbool

Call index: 10

VortexDistribution.set_asset_prices

See [Pallet::set_asset_prices].

ts
api.tx.vortexDistribution.set_asset_prices(id: u32, asset_prices: Vec<(u32,u128)>)
ArgumentTypeDoc
idu32T::VtxDistIdentifier
asset_pricesVec&lt;(u32,u128)&gt;BoundedVec<(AssetId, Balance), T::MaxAssetPrices>

Call index: 11

VortexDistribution.trigger_vtx_distribution

See [Pallet::trigger_vtx_distribution].

ts
api.tx.vortexDistribution.trigger_vtx_distribution(id: u32)
ArgumentTypeDoc
idu32T::VtxDistIdentifier

Call index: 12

VortexDistribution.set_vtx_vault_redeem_asset_list

See [Pallet::set_vtx_vault_redeem_asset_list].

ts
api.tx.vortexDistribution.set_vtx_vault_redeem_asset_list(assets_list: Vec<u32>)
ArgumentTypeDoc
assets_listVec&lt;u32&gt;BoundedVec<AssetId, T::MaxAssetPrices>

Call index: 13

VortexDistribution.start_vtx_dist

See [Pallet::start_vtx_dist].

ts
api.tx.vortexDistribution.start_vtx_dist(id: u32)
ArgumentTypeDoc
idu32T::VtxDistIdentifier

Call index: 14

VortexDistribution.pay_unsigned

See [Pallet::pay_unsigned].

ts
api.tx.vortexDistribution.pay_unsigned(id: u32, current_block: u32)
ArgumentTypeDoc
idu32T::VtxDistIdentifier
current_blocku32BlockNumberFor<T>

Call index: 15

VortexDistribution.redeem_tokens_from_vault

See [Pallet::redeem_tokens_from_vault].

ts
api.tx.vortexDistribution.redeem_tokens_from_vault(vortex_token_amount: u128)
ArgumentTypeDoc
vortex_token_amountu128Balance

Call index: 16

VortexDistribution.register_rewards

See [Pallet::register_rewards].

ts
api.tx.vortexDistribution.register_rewards(id: u32, rewards: Vec<(SeedPrimitivesSignatureAccountId20,u128)>)
ArgumentTypeDoc
idu32T::VtxDistIdentifier
rewardsVec&lt;(SeedPrimitivesSignatureAccountId20,u128)&gt;BoundedVec<(T::AccountId, Balance), T::MaxRewards>

Call index: 17

Events

VortexDistribution.AdminAccountChanged

Admin Account changed

FieldTypeDoc
old_keyOption&lt;SeedPrimitivesSignatureAccountId20&gt;
new_key[u8;20]

VortexDistribution.VtxDistCreated

Distribution created

FieldTypeDoc
idu32

VortexDistribution.VtxDistDisabled

Distribution disabled

FieldTypeDoc
idu32

VortexDistribution.VtxDistDone

Distribution done

FieldTypeDoc
idu32

VortexDistribution.VtxDistPaidOut

Distribution paid out

FieldTypeDoc
idu32
who[u8;20]
amountu128

VortexDistribution.VtxDistPayFailed

Distribution payment failed

FieldTypeDoc
idu32
who[u8;20]
amountu128

VortexDistribution.VtxDistStarted

Distribution started

FieldTypeDoc
idu32

VortexDistribution.SetFeePotAssetBalances

Set Fee pot asset balances

FieldTypeDoc
idu32
assets_balancesVec&lt;(u32,u128)&gt;

VortexDistribution.SetVtxVaultAssetBalances

Set Vtx vault asset balances

FieldTypeDoc
idu32
assets_balancesVec&lt;(u32,u128)&gt;

VortexDistribution.SetAssetPrices

Set asset prices

FieldTypeDoc
idu32
asset_pricesVec&lt;(u32,u128)&gt;

VortexDistribution.VtxWorkPointRegistered

Vtx work points registered

FieldTypeDoc
idu32
work_pointsVec&lt;(SeedPrimitivesSignatureAccountId20,u128)&gt;

VortexDistribution.VtxRewardPointRegistered

Vtx staker reward points registered

FieldTypeDoc
idu32
reward_pointsVec&lt;(SeedPrimitivesSignatureAccountId20,u128)&gt;

VortexDistribution.VtxDistributionTriggered

Vtx distribution triggered

FieldTypeDoc
idu32

VortexDistribution.VtxDistributionTriggering

Vtx distribution triggering

FieldTypeDoc
idu32

VortexDistribution.SetVtxTotalSupply

Set Vtx total supply

FieldTypeDoc
idu32
total_supplyu128

VortexDistribution.SetConsiderCurrentBalance

Set ConsiderCurrentBalance

FieldTypeDoc
valuebool

VortexDistribution.SetDisableRedeem

Set DisableRedeem

FieldTypeDoc
valuebool

VortexDistribution.SetVtxVaultRedeemAssetList

Set VtxVaultRedeemAssetList

FieldTypeDoc
asset_listVec&lt;u32&gt;

VortexDistribution.VtxRedeemed

Vortex redeemed

FieldTypeDoc
who[u8;20]
amountu128

VortexDistribution.SetEnableManualRewardInput

Set EnableManualRewardInput

FieldTypeDoc
valuebool

VortexDistribution.RewardRegistered

Rewards registered

FieldTypeDoc
idu32
rewardsVec&lt;(SeedPrimitivesSignatureAccountId20,u128)&gt;

VortexDistribution.PivotStringTooLong

Pivot key string is too long and exceeds MaxStringLength

FieldTypeDoc
idu32

VortexDistribution.PartnerAttributionRewardPaid

Partner attribution reward paid

FieldTypeDoc
vtx_idu32
account[u8;20]
amountu128

VortexDistribution.PartnerAttributionsUpdated

Emitted when partner attributions are updated for a distribution

FieldTypeDoc
vtx_idu32

Errors

VortexDistribution.RequireAdmin

Require to be previous admin

VortexDistribution.VtxDistIdNotAvailable

No available Dist id

VortexDistribution.VtxDistAlreadyEnabled

Vortex distribution already enabled

VortexDistribution.VtxDistDisabled

Vortex distribution disabled

VortexDistribution.NoVtxAssetMinted

No Vtx asset minted

VortexDistribution.InvalidAmount

Invalid amount

VortexDistribution.VtxDistIdInUse

ID already in use

VortexDistribution.NotAValidator

Not a validator

VortexDistribution.VortexPeriodNotSet

Vortex period not set

VortexDistribution.PivotStringTooLong

Pivot string too long

VortexDistribution.AssetsShouldNotIncludeVtxAsset

Assets should not include vortex asset

VortexDistribution.CannotTrigger

Vortex distribution is not ready to be triggered

VortexDistribution.CannotRedeem

Vortex distribution is not ready to be redeemed

VortexDistribution.NotTriggered

Vortex distribution not triggered

VortexDistribution.ExceededMaxRewards

out of max reward vecotor bound

VortexDistribution.VortexPriceIsZero

vortex price is zero

VortexDistribution.RootPriceIsZero

root price is zero

VortexDistribution.VtxRedeemDisabled

Vtx redeem disabled

VortexDistribution.ManualRewardInputDisabled

Manual reward input is disabled

VortexDistribution.VtxRewardPayoutFailed

Vtx reward payout failed

VortexDistribution.RewardPointsNotRegistered

Reward points not registered

VortexDistribution.ExceededMaxPartners

Exceeded max attribution partners

VortexDistribution.InvalidPartnerFeePercentage

Invalid partner fee percentage

VortexDistribution.InvalidFeeVaultAssetValue

Invalid fee vault asset value

Storage

VortexDistribution.AdminAccount

ts
await api.query.vortexDistribution.adminAccount()

Returns: [u8;20]

Modifier: Optional

VortexDistribution.NextVortexId

ts
await api.query.vortexDistribution.nextVortexId()

Returns: u32

Modifier: Default

VortexDistribution.ConsiderCurrentBalance

Stores balance consideration criteria, current or stored

ts
await api.query.vortexDistribution.considerCurrentBalance()

Returns: bool

Modifier: Default

VortexDistribution.DisableRedeem

Stores disable redeem

ts
await api.query.vortexDistribution.disableRedeem()

Returns: bool

Modifier: Default

VortexDistribution.EnableManualRewardInput

Stores enabling manual reward input

ts
await api.query.vortexDistribution.enableManualRewardInput()

Returns: bool

Modifier: Default

VortexDistribution.VtxVaultRedeemAssetList

Stores VtxVault latest asset id list that can be redeemed.

ts
await api.query.vortexDistribution.vtxVaultRedeemAssetList()

Returns: Vec<u32>

Modifier: Default

VortexDistribution.TotalRewardPoints

Stores total Reward points for each cycle when the rewards are registered.

ts
await api.query.vortexDistribution.totalRewardPoints(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.TotalWorkPoints

Stores total work points for each cycle when the work points are registered.

ts
await api.query.vortexDistribution.totalWorkPoints(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.VtxDistStatuses

Stores status of each vortex distribution

ts
await api.query.vortexDistribution.vtxDistStatuses(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: {"_enum":["Disabled","Enabled","Triggering","Triggered","Paying","Done"]}

Modifier: Default

VortexDistribution.VtxTotalSupply

Stores Vtx total supply for each vortex distribution

ts
await api.query.vortexDistribution.vtxTotalSupply(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.VtxPrice

Stores Vtx price each vortex distribution

ts
await api.query.vortexDistribution.vtxPrice(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.VtxDistOrderbook

Stores order books for each vortex distribution

ts
await api.query.vortexDistribution.vtxDistOrderbook(key1, key2)
  • Key: (u32,SeedPrimitivesSignatureAccountId20) (hashers: Blake2_128Concat, Blake2_128Concat)
  • Returns: (u128,bool)

Modifier: Default

VortexDistribution.RewardPoints

Stores reward points for each account, each vortex distribution

ts
await api.query.vortexDistribution.rewardPoints(key1, key2)
  • Key: (u32,SeedPrimitivesSignatureAccountId20) (hashers: Blake2_128Concat, Blake2_128Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.WorkPoints

Stores work points for each account, each vortex distribution

ts
await api.query.vortexDistribution.workPoints(key1, key2)
  • Key: (u32,SeedPrimitivesSignatureAccountId20) (hashers: Blake2_128Concat, Blake2_128Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.FeePotAssetsList

Stores Fee pot asset list for each vortex distribution

ts
await api.query.vortexDistribution.feePotAssetsList(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: Vec<(u32,u128)>

Modifier: Default

VortexDistribution.VtxVaultAssetsList

Stores Vortex vault asset list for each vortex distribution

ts
await api.query.vortexDistribution.vtxVaultAssetsList(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: Vec<(u32,u128)>

Modifier: Default

VortexDistribution.AssetPrices

Stores asset prices for each vortex distribution

ts
await api.query.vortexDistribution.assetPrices(key1, key2)
  • Key: (u32,u32) (hashers: Twox64Concat, Twox64Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.TotalNetworkReward

Stores total network reward for each distribution, this is in drops multiplied by PRECISION_MULTIPLIER

ts
await api.query.vortexDistribution.totalNetworkReward(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.PartnerAttributionRewards

Stores partner attribution rewards for each distribution, this is in drops multiplied by PRECISION_MULTIPLIER

ts
await api.query.vortexDistribution.partnerAttributionRewards(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: Vec<(SeedPrimitivesSignatureAccountId20,u128)>

Modifier: Default

VortexDistribution.TotalBootstrapReward

Stores total bootstrap reward for each distribution, this is in drops multiplied by PRECISION_MULTIPLIER

ts
await api.query.vortexDistribution.totalBootstrapReward(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.TotalVortex

Stores total vortex amount for each distribution, this is in drops multiplied by PRECISION_MULTIPLIER

ts
await api.query.vortexDistribution.totalVortex(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.NextUnsignedAt

Stores next unsigned tx block number

ts
await api.query.vortexDistribution.nextUnsignedAt()

Returns: u32

Modifier: Default

VortexDistribution.VtxDistPayoutPivot

Stores payout pivot block for each vortex distribution

ts
await api.query.vortexDistribution.vtxDistPayoutPivot(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: Bytes

Modifier: Default

VortexDistribution.VtxRewardCalculationPivot

Stores reward calculation pivot block for each vortex distribution

ts
await api.query.vortexDistribution.vtxRewardCalculationPivot(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: Bytes

Modifier: Default

VortexDistribution.TotalAttributionRewards

Stores total attribution rewards for each distribution in drops multiplied by PRECISION_MULTIPLIER

ts
await api.query.vortexDistribution.totalAttributionRewards(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: u128

Modifier: Default

VortexDistribution.PartnerAttributions

Stores partner attributions for each distribution

ts
await api.query.vortexDistribution.partnerAttributions(key1)
  • Key: u32 (hasher: Twox64Concat)
  • Returns: Vec<(SeedPrimitivesSignatureAccountId20,u128,Option<Permill>)>

Modifier: Default

Constants

VortexDistribution.NativeAssetId

The native token asset Id (managed by pallet-balances)

Type: u32
SCALE-encoded value: 0x01000000

VortexDistribution.VtxAssetId

Vortex token asset Id

Type: u32
SCALE-encoded value: 0x03000000

VortexDistribution.VtxHeldPotId

Vortex vault pot id that holds fresh minted vortex

Type: [u8;8]
SCALE-encoded value: 0x7674782f68706f74

VortexDistribution.VtxDistPotId

Vortex distribution pot id

Type: [u8;8]
SCALE-encoded value: 0x7674782f76706f74

VortexDistribution.RootPotId

Vortex root pot id

Type: [u8;8]
SCALE-encoded value: 0x7674782f72706f74

VortexDistribution.TxFeePotId

Tx fee pot id

Type: [u8;8]
SCALE-encoded value: 0x7478666565706f74

VortexDistribution.UnsignedInterval

Unsigned transaction interval

Type: u32
SCALE-encoded value: 0x07000000

VortexDistribution.PayoutBatchSize

Payout batch size

Type: u32
SCALE-encoded value: 0x63000000

VortexDistribution.HistoryDepth

History depth

Type: u32
SCALE-encoded value: 0x54000000

VortexDistribution.GasAssetId

Gas asset Id

Type: u32
SCALE-encoded value: 0x02000000

VortexDistribution.MaxAttributionPartners

Max Attribution partners

Type: u32
SCALE-encoded value: 0xc8000000

Source: live chain metadata from wss://root.rootnet.live/archive/ws · captured 2026-05-02

Curated independently by Codeology. Source-attributed reference for The Root Network. Not affiliated with Futureverse / TRN Labs.