@avalanche-sdk/client
Version:
A TypeScript SDK for interacting with the Avalanche network through JSON-RPC APIs. This SDK provides a comprehensive set of tools to interact with all Avalanche chains (P-Chain, X-Chain, C-Chain) and various APIs, including wallet functionality for transa
43 lines • 2.38 kB
TypeScript
import { AvalancheWalletCoreClient } from "../../../clients/createAvalancheWalletCoreClient.js";
import { PrepareAddPermissionlessValidatorTxnParameters, PrepareAddPermissionlessValidatorTxnReturnType } from "./types/prepareAddPermissionlessValidatorTxn.js";
/**
* Prepares an add permissionless validator transaction for the P-chain.
*
* @param client - The client to use for the transaction. {@link AvalancheWalletCoreClient}
* @param params - The parameters for the transaction. {@link PrepareAddPermissionlessValidatorTxnParameters}
* @returns The unsigned transaction. {@link PrepareAddPermissionlessValidatorTxnReturnType}
*
* @see https://build.avax.network/docs/api-reference/p-chain/txn-format#unsigned-add-permissionless-validator-tx
*
* @example
* ```ts
* import { prepareAddPermissionlessValidatorTxn } from "@avalanche-sdk/client/methods/wallet/pChain/prepareAddPermissionlessValidatorTxn";
* import { createAvalancheWalletClient } from "@avalanche-sdk/client/clients/createAvalancheWalletClient";
* import { privateKeyToAvalancheAccount } from "@avalanche-sdk/client/accounts";
* import { avalanche } from "@avalanche-sdk/client/chains";
* import { avaxToNanoAvax } from "@avalanche-sdk/client/utils";
*
* const account = privateKeyToAvalancheAccount("0x1234567890123456789012345678901234567890");
* const walletClient = createAvalancheWalletClient({
* account,
* chain: avalanche,
* });
*
* const pChainAddPermissionlessValidatorTxnRequest = await prepareAddPermissionlessValidatorTxn(walletClient, {
* nodeId: "NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg",
* stakeInAvax: avaxToNanoAvax(1),
* end: 1716441600n,
* rewardAddresses: ["P-fuji19fc97zn3mzmwr827j4d3n45refkksgms4y2yzz"],
* threshold: 1,
* publicKey: "0x1234567890123456789012345678901234567890",
* signature: "0x1234567890123456789012345678901234567890",
* locktime: 1716441600n,
* delegatorRewardPercentage: 2.5,
* delegatorRewardAddresses: ["P-fuji19fc97zn3mzmwr827j4d3n45refkksgms4y2yzz"],
* });
*
* console.log(pChainAddPermissionlessValidatorTxnRequest);
* ```
*/
export declare function prepareAddPermissionlessValidatorTxn(client: AvalancheWalletCoreClient, params: PrepareAddPermissionlessValidatorTxnParameters): Promise<PrepareAddPermissionlessValidatorTxnReturnType>;
//# sourceMappingURL=prepareAddPermissionlessValidatorTxn.d.ts.map