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
TypeScript
/// <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;
}