All phases of Avail's unification drop have now ended, 👉👉 check out this page 👈👈 for more information.

API reference
Bond AVAIL tokens on Avail DA

Bond AVAIL tokens on Avail DA

On-chain name of extrinsic: staking_bond

Parameters

parametertypeoptionaldescription
valueBNfalseamount that is bond. 10^18 is equal to 1 AVL
payeeStakingRewardDestinationfalseCan be: "Stakzed", "Stash", "None" or an account address
waitForWaitForfalsewait for block inclusion or finalization
accountKeyringPairfalseaccount that will send and sign the transaction
optionsSignerOptionstrueused to overwrite existing signer options

Return value

On failure, a reason of failure is returned. On Success, Bonded event, transaction hash and block hash is returned.

Minimal Example

import { Keyring } from "@polkadot/api"
import { SDK } from "avail-js-sdk"
import { WaitFor } from "avail-js-sdk/sdk/transactions"
import { BN } from "@polkadot/util"
 
const main = async () => {
  const providerEndpoint = "wss://turing-rpc.avail.so/ws";
  const sdk = await SDK.New(providerEndpoint)
 
  const Alice = 'This is a random seed phrase please do not use it';
  const account = new Keyring({ type: "sr25519" }).addFromUri(Alice)
  const value = new BN(100_000).mul(new BN(10).pow(new BN("18"))) // 100 000 Avail
  const payee = "Staked"
 
  const result = await sdk.tx.staking.bond(value, payee, WaitFor.BlockInclusion, account)
  if (result.isErr) {
    console.log(result.reason)
    process.exit(1)
  }
 
  console.log("Stash=" + result.event.stash + ", Amount=" + result.event.amount)
  console.log("TxHash=" + result.txHash + ", BlockHash=" + result.blockHash)
 
  process.exit()
}
main()