join: TxDescriptor<{
    amount: bigint;
    pool_id: number;
}>

Stake funds with a pool. The amount to bond is transferred from the member to the pool account and immediately increases the pools bond.

The method of transferring the amount to the pool account is determined by [adapter::StakeStrategyType]. If the pool is configured to use [adapter::StakeStrategyType::Delegate], the funds remain in the account of the origin, while the pool gains the right to use these funds for staking.

Note

  • An account can only be a member of a single pool.
  • An account cannot join the same pool multiple times.
  • This call will not dust the member account, so the member must have at least existential deposit + amount in their account.
  • Only a pool with [PoolState::Open] can be joined