UNPKG

airgap-coin-lib

Version:

The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

35 lines (34 loc) 2.2 kB
/// <reference types="node" /> import BigNumber from '../../../dependencies/src/bignumber.js-9.0.0/bignumber'; import { SubstrateNetwork } from '../SubstrateNetwork'; import { SubstrateAccountId } from './data/account/SubstrateAddress'; import { SubstrateTransactionMethod } from './data/transaction/method/SubstrateTransactionMethod'; import { SubstrateTransaction, SubstrateTransactionType } from './data/transaction/SubstrateTransaction'; import { SubstrateTransactionPayload } from './data/transaction/SubstrateTransactionPayload'; import { SubstrateNodeClient } from './node/SubstrateNodeClient'; export interface SubstrateTransactionDetails { fee: BigNumber; transaction: SubstrateTransaction; payload: SubstrateTransactionPayload; } export interface SubstrateTransactionConfig { type: SubstrateTransactionType; tip: string | number | BigNumber; args: any; } export declare class SubstrateTransactionController { readonly network: SubstrateNetwork; readonly nodeClient: SubstrateNodeClient; constructor(network: SubstrateNetwork, nodeClient: SubstrateNodeClient); prepareSubmittableTransactions(accountId: SubstrateAccountId, available: BigNumber | string, txConfig: SubstrateTransactionConfig[]): Promise<string>; createTransaction(type: SubstrateTransactionType, accountId: SubstrateAccountId, tip?: string | number | BigNumber, args?: any, chainHeight?: number | BigNumber, nonce?: number | BigNumber): Promise<SubstrateTransaction>; createTransactionMethod(type: SubstrateTransactionType, args?: any): Promise<SubstrateTransactionMethod>; signTransaction(privateKey: Buffer, transaction: SubstrateTransaction, payload: SubstrateTransactionPayload): Promise<SubstrateTransaction>; encodeDetails(txs: SubstrateTransactionDetails[]): string; decodeDetails(serialized: string): SubstrateTransactionDetails[]; calculateTransactionFee(transaction: SubstrateTransaction): Promise<BigNumber | null>; estimateTransactionFees(accountId: SubstrateAccountId, transationTypes: [SubstrateTransactionType, any][]): Promise<BigNumber | null>; private prepareTransactionDetails; private signPayload; private signSr25519Payload; }