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

Stake funds with a pool. The amount to bond is delegated (or transferred based on [adapter::StakeStrategyType]) from the member to the pool account and immediately increases the pool's 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