UNPKG

@ledgerhq/coin-multiversx

Version:
188 lines 5.26 kB
import type { Account, AccountRaw, Operation, OperationExtra, OperationExtraRaw, OperationRaw, TransactionCommon, TransactionCommonRaw, TransactionStatusCommon, TransactionStatusCommonRaw } from "@ledgerhq/types-live"; import BigNumber from "bignumber.js"; export type MultiversXAccount = Account & { multiversxResources: MultiversXResources; }; export type MultiversXAccountRaw = AccountRaw & { multiversxResources: MultiversXResourcesRaw; }; export type MultiversXResources = { nonce: number; delegations: MultiversXDelegation[]; isGuarded: boolean; }; export type MultiversXResourcesRaw = { nonce: number; delegations: MultiversXDelegation[]; isGuarded: boolean; }; export type MultiversXDelegation = { address: string; contract: string; userUnBondable: string; userActiveStake: string; claimableRewards: string; userUndelegatedList: UserUndelegated[]; }; export type UserUndelegated = { amount: string; seconds: number; }; /** * MultiversX transaction */ export type Transaction = TransactionCommon & { family: "multiversx"; mode: MultiversXTransactionMode; fees: BigNumber | null | undefined; data?: string; gasLimit: number; }; export type TransactionRaw = TransactionCommonRaw & { family: "multiversx"; mode: MultiversXTransactionMode; fees: string | null | undefined; data?: string; gasLimit: number; }; export type TransactionStatus = TransactionStatusCommon; export type TransactionStatusRaw = TransactionStatusCommonRaw; export type MultiversXTransactionMode = "send" | "delegate" | "reDelegateRewards" | "unDelegate" | "claimRewards" | "withdraw"; /** * MultiversX transaction payload to sign */ export type MultiversXProtocolTransaction = { nonce: number; value: string; receiver: string; sender: string; gasPrice: number; gasLimit: number; chainID: string; signature?: string; data?: string; version: number; options: number; }; /** * MultiversX transaction as received from explorer */ export type MultiversXApiTransaction = { mode: MultiversXTransactionMode; fees: BigNumber | null | undefined; transfer?: MultiversXTransferOptions; txHash?: string; sender?: string; receiver?: string; value?: BigNumber; blockHash?: string; blockHeight?: number; timestamp?: number; nonce?: number; gasLimit: number; status?: string; fee?: BigNumber; round?: number; miniBlockHash?: string; data?: string; tokenIdentifier?: string; tokenValue?: string; action?: MultiversXTransactionAction; operations?: MultiversXTransactionOperation[]; }; export declare enum MultiversXTransferOptions { egld = "egld", esdt = "esdt" } export type MultiversXTransactionOperation = { action: string; type: string; sender: string; receiver: string; value: string; }; export type MultiversXTransactionAction = { category: string; name: string; arguments: MultiversXTransactionActionArguments; }; export type MultiversXTransactionActionArguments = { transfers: MultiversXTransactionActionArgumentsTransfers[]; }; export type MultiversXTransactionActionArgumentsTransfers = { token: string; value: string; }; export type ESDTToken = { identifier: string; name: string; balance: string; }; export type NetworkInfo = { family?: "multiversx"; chainID: string; denomination: number; gasLimit: number; gasPrice: number; gasPerByte: number; gasPriceModifier: string; }; export type NetworkInfoRaw = { family?: "multiversx"; chainID: string; denomination: number; gasLimit: number; gasPrice: number; gasPerByte: number; }; export type MultiversXPreloadData = { validators: MultiversXProvider[]; }; /** * MultiversX validator */ export type MultiversXProvider = { contract: string; owner: string; serviceFee: string; maxDelegationCap: string; initialOwnerFunds: string; totalActiveStake: string; totalUnstaked: string; maxDelegateAmountAllowed: string; apr: string; explorerURL: string; address: string; aprValue: number; automaticActivation: boolean; changeableServiceFee: boolean; checkCapOnRedelegate: boolean; createdNonce: number; featured: boolean; numNodes: number; numUsers: number; ownerBelowRequiredBalanceThreshold: boolean; unBondPeriod: number; withDelegationCap: boolean; disabled?: boolean; identity: { key: string; name: string; avatar: string; description: string; location?: string; twitter: string; url: string; }; }; export type MultiversXOperation = Operation<MultiversXOperationExtra>; export type MultiversXOperationRaw = OperationRaw<MultiversXOperationExtraRaw>; export type MultiversXOperationExtra = { amount?: BigNumber; }; export declare function isMultiversXOperationExtra(op: OperationExtra): op is MultiversXOperationExtra; export type MultiversXOperationExtraRaw = { amount?: string; }; export declare function isMultiversXOperationExtraRaw(op: OperationExtraRaw): op is MultiversXOperationExtraRaw; //# sourceMappingURL=types.d.ts.map