@ar.io/sdk
Version:
[](https://codecov.io/gh/ar-io/ar-io-sdk)
98 lines (97 loc) • 6.45 kB
TypeScript
import { JWKInterface } from 'arweave/node/lib/wallet.js';
import { Command, OptionValues } from 'commander';
import { ARIOToken, AoANTRead, AoANTWrite, AoARIORead, AoARIOWrite, AoGetCostDetailsParams, AoRedelegateStakeParams, AoSigner, AoUpdateGatewaySettingsParams, ContractSigner, EpochInput, FundFrom, Logger, PaginationParams, SpawnANTState, WriteOptions, mARIOToken } from '../node/index.js';
import { ANTStateCLIOptions, AddressCLIOptions, EpochCLIOptions, GetTokenCostCLIOptions, GlobalCLIOptions, InitiatorCLIOptions, JsonSerializable, PaginationCLIOptions, ProcessIdCLIOptions, RedelegateStakeCLIOptions, TransferCLIOptions, UpdateGatewaySettingsCLIOptions, WalletCLIOptions, WriteActionCLIOptions } from './types.js';
export declare const defaultTtlSecondsCLI = 3600;
export declare function stringifyJsonForCLIDisplay(json: JsonSerializable | unknown): string;
export declare function runCommand<O extends OptionValues>(command: Command, action: (options: O) => Promise<JsonSerializable>): Promise<void>;
export interface CommanderOption {
alias: string;
description: string;
default?: string | boolean;
}
export declare function applyOptions(command: Command, options: CommanderOption[]): Command;
export declare function makeCommand<O extends OptionValues = GlobalCLIOptions>({ description, name, options, action, }: {
name: string;
description: string;
action?: (options: O) => Promise<JsonSerializable>;
options?: CommanderOption[];
}): Command;
export declare function arioProcessIdFromOptions({ arioProcessId, devnet, testnet, }: GlobalCLIOptions): string;
export declare function requiredJwkFromOptions(options: WalletCLIOptions): JWKInterface;
export declare function jwkToAddress(jwk: JWKInterface): string;
export declare function getLoggerFromOptions(options: GlobalCLIOptions): Logger;
export declare function readARIOFromOptions(options: GlobalCLIOptions): AoARIORead;
export declare function contractSignerFromOptions(options: WalletCLIOptions): {
signer: ContractSigner;
signerAddress: string;
} | undefined;
export declare function requiredContractSignerFromOptions(options: WalletCLIOptions): {
signer: ContractSigner;
signerAddress: string;
};
export declare function requiredAoSignerFromOptions(options: WalletCLIOptions): AoSigner;
export declare function writeARIOFromOptions(options: GlobalCLIOptions): {
ario: AoARIOWrite;
signerAddress: string;
};
export declare function formatARIOWithCommas(value: ARIOToken): string;
export declare function formatMARIOToARIOWithCommas(value: mARIOToken): string;
/** helper to get address from --address option first, then check wallet options */
export declare function addressFromOptions<O extends AddressCLIOptions>(options: O): string | undefined;
export declare function requiredAddressFromOptions<O extends AddressCLIOptions>(options: O): string;
export declare function paginationParamsFromOptions<O extends PaginationCLIOptions, R>(options: O): PaginationParams<R>;
export declare function epochInputFromOptions(options: EpochCLIOptions): EpochInput;
export declare function requiredInitiatorFromOptions(options: InitiatorCLIOptions): string;
export declare function customTagsFromOptions<O extends WriteActionCLIOptions>(options: O): WriteOptions;
export declare function gatewaySettingsFromOptions({ allowDelegatedStaking, autoStake, delegateRewardShareRatio, fqdn, label, minDelegatedStake, note, observerAddress, port, properties, allowedDelegates, }: UpdateGatewaySettingsCLIOptions): AoUpdateGatewaySettingsParams;
export declare function requiredTargetAndQuantityFromOptions(options: TransferCLIOptions): {
target: string;
arioQuantity: ARIOToken;
};
export declare function redelegateParamsFromOptions(options: RedelegateStakeCLIOptions): AoRedelegateStakeParams & {
stakeQty: mARIOToken;
};
export declare function recordTypeFromOptions<O extends {
type?: string;
}>(options: O): 'lease' | 'permabuy';
export declare function requiredMARIOFromOptions<O extends GlobalCLIOptions>(options: O, key: string): mARIOToken;
export declare function assertEnoughBalanceForArNSPurchase({ ario, address, costDetailsParams, }: {
ario: AoARIORead;
address: string;
costDetailsParams: AoGetCostDetailsParams;
}): Promise<void>;
export declare function assertEnoughMARIOBalance({ address, ario, mARIOQuantity, }: {
ario: AoARIORead;
address: string;
mARIOQuantity: mARIOToken | number;
}): Promise<void>;
export declare function confirmationPrompt(message: string): Promise<boolean>;
export declare function assertConfirmationPrompt<O extends {
skipConfirmation?: boolean;
}>(message: string, options: O): Promise<boolean>;
export declare function requiredProcessIdFromOptions<O extends ProcessIdCLIOptions>(o: O): string;
export declare function readANTFromOptions(options: ProcessIdCLIOptions): AoANTRead;
export declare function writeANTFromOptions(options: ProcessIdCLIOptions, signer?: ContractSigner): AoANTWrite;
export declare function booleanFromOptions<O extends GlobalCLIOptions>(options: O, key: string): boolean;
export declare function requiredStringFromOptions<O extends GlobalCLIOptions>(options: O, key: string): string;
export declare function stringArrayFromOptions<O extends GlobalCLIOptions>(options: O, key: string): string[] | undefined;
export declare function requiredStringArrayFromOptions<O extends GlobalCLIOptions>(options: O, key: string): string[];
export declare function positiveIntegerFromOptions<O extends GlobalCLIOptions>(options: O, key: string): number | undefined;
export declare function requiredPositiveIntegerFromOptions<O extends GlobalCLIOptions>(options: O, key: string): number;
export declare function getANTStateFromOptions(options: ANTStateCLIOptions): SpawnANTState;
export declare function getTokenCostParamsFromOptions(o: GetTokenCostCLIOptions): {
type: "lease" | "permabuy";
quantity: number | undefined;
years: number;
intent: "Buy-Name" | "Buy-Record" | "Extend-Lease" | "Increase-Undername-Limit" | "Upgrade-Name" | "Primary-Name-Request";
name: string;
fromAddress: string | undefined;
};
export declare function fundFromFromOptions<O extends {
fundFrom?: string;
}>(o: O): FundFrom;
export declare function referrerFromOptions<O extends {
referrer?: string;
}>(o: O): string | undefined;
export declare function assertLockLengthInRange(lockLengthMs: number, assertMin?: boolean): void;