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

API reference
Create a new nomination pool

Create a new nomination pool

On-chain name of method: nominationPools_create

Parameters

parametertypeoptionaldescription
amountBNfalseThe amount of funds to delegate to the pool
rootstringfalseThe account to set as [PoolRoles::root]
nominatorstringfalseThe account to set as the [PoolRoles::nominator]
bouncerstringfalseThe account to set as the [PoolRoles::bouncer]
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 for the failure is returned. On success, the function will return a object of type PoolCreateTxSuccess. This object contains the details of the transaction and your newly created nomination pool.

Minimal example

  1. Inside your-file-name.ts, add the following code:
avail-deno
import { BN, Keyring, SDK, WaitFor } from "https://raw.githubusercontent.com/availproject/avail/main/avail-deno/src/sdk.ts";
 
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 amount = new BN(10).pow(new BN(18)).mul(new BN(10000)); // 10_000 Avail
 
const root: string = "5CqgQkrDcdg5QrtuxT3H7WszrqgrBMhdwRbmMVXQzc4VSiEg"; // Alice
const nominator: string = "5CqgQkrDcdg5QrtuxT3H7WszrqgrBMhdwRbmMVXQzc4VSiEg"; // Alice
const bouncer: string = "5CqgQkrDcdg5QrtuxT3H7WszrqgrBMhdwRbmMVXQzc4VSiEg"; // Alice
 
const result = await sdk.tx.nomination_pools.create(amount, root, nominator, bouncer, WaitFor.BlockInclusion, account);
if (result.isErr) {
	console.log(result.reason);
	Deno.exit(1);
}
 
console.log(JSON.stringify(result, null, 4));
 
Deno.exit();
  1. Run the code using:
deno run --allow-net your-file-name.ts

Sample Response:
{
    "isErr": false,
	"event": {
        "depositor": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY",
        "poolId": "1"
    },
    "event2": {
        "member": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY",
        "poolId": "1",
        "bonded": "10000",
        "joined": "true"
    },
    "event": {
        "key": "0x4d79417765736f6d654b6579",
        "owner": "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY",
        "id": "10"
    },
    "events": [...],
    "txHash": "0x5ae9edbd2a2da96eeffc14cf9050d711082890fa6bfb8749ad2c4947565f3bd2",
    "txIndex": 1,
    "blockHash": "0x152338c1b0696d12664cf3d4c159af3d54beca151ba1ea8b00989a66dc8050b0",
    "blockNumber": 1
}