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

Returns

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

Minimal example

  1. You will need to set up the dev enviornment required to run this example. For instructions, check out our docs here.

  2. If you're sending an extrinsic (i.e conducting a transaction) you will need to replace the demo seed phrase with your own seed phrase. The rest of the code should work as is.

  1. Inside your-file-name.ts, add the following code:
avail-js
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()
  1. Run the code using:
ts-node your-file-name.ts