airgap-coin-lib
Version:
The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.
54 lines (53 loc) • 3.21 kB
TypeScript
import { TezosNetwork } from './../TezosProtocol';
import { IAirGapTransaction } from '../../../interfaces/IAirGapTransaction';
import { RawTezosTransaction } from '../../../serializer/types';
import { ProtocolSymbols } from '../../../utils/ProtocolSymbols';
import { ICoinSubProtocol, SubProtocolType } from '../../ICoinSubProtocol';
import { TezosContract } from '../contract/TezosContract';
import { TezosContractCall } from '../contract/TezosContractCall';
import { TezosProtocol } from '../TezosProtocol';
import { MichelineDataNode } from '../types/micheline/MichelineNode';
import { TezosTransactionParameters, TezosTransactionOperation } from '../types/operations/Transaction';
import { TezosFAProtocolOptions } from './TezosFAProtocolOptions';
import { TezosTransactionCursor } from '../types/TezosTransactionCursor';
import { TezosTransactionResult } from '../types/TezosTransactionResult';
import { FeeDefaults } from '../../ICoinProtocol';
export interface TezosFAProtocolConfiguration {
symbol: string;
name: string;
marketSymbol: string;
identifier: ProtocolSymbols;
contractAddress: string;
feeDefaults: FeeDefaults;
decimals?: number;
jsonRPCAPI?: string;
baseApiUrl?: string;
network?: TezosNetwork;
baseApiKey?: string;
baseApiNetwork?: string;
}
export declare abstract class TezosFAProtocol extends TezosProtocol implements ICoinSubProtocol {
readonly options: TezosFAProtocolOptions;
readonly isSubProtocol: boolean;
readonly subProtocolType: SubProtocolType;
readonly identifier: ProtocolSymbols;
readonly contractAddress: string;
protected readonly contract: TezosContract;
protected readonly defaultSourceAddress: string;
constructor(options: TezosFAProtocolOptions);
abstract transactionDetailsFromParameters(parameters: TezosTransactionParameters): Partial<IAirGapTransaction>[];
bigMapValue(key: string, isKeyHash?: boolean, bigMapID?: number): Promise<string | null>;
estimateMaxTransactionValueFromPublicKey(publicKey: string, recipients: string[], fee?: string): Promise<string>;
getTransactionsFromPublicKey(publicKey: string, limit: number, cursor?: TezosTransactionCursor): Promise<TezosTransactionResult>;
getTransactionsFromAddresses(addresses: string[], limit: number, cursor?: TezosTransactionCursor): Promise<TezosTransactionResult>;
getTransactions(limit: number, cursor?: TezosTransactionCursor): Promise<TezosTransactionResult>;
normalizeTransactionParameters(parameters: string, fallbackEntrypointName?: string): Promise<TezosTransactionParameters>;
protected getTransactionOperationDetails(transactionOperation: TezosTransactionOperation): Promise<Partial<IAirGapTransaction>[]>;
private parseParameters;
private transactionToAirGapTransactions;
protected runContractCall(contractCall: TezosContractCall, source: string): Promise<MichelineDataNode>;
protected prepareContractCall(contractCalls: TezosContractCall[], fee: string, publicKey: string): Promise<RawTezosTransaction>;
protected requireSource(source?: string, defaultSource?: string, ...excludedPrefixes: string[]): string;
private prepareMockContractCall;
private url;
}