@tatumio/algo-connector
Version:
ALGO Connector for Tatum API
78 lines (77 loc) • 2.65 kB
TypeScript
import { PinoLogger } from 'nestjs-pino';
import { AlgoTransaction } from '@tatumio/tatum';
import { AlgoNodeType } from '@tatumio/blockchain-connector-common';
import { Request } from 'express';
export declare abstract class AlgoService {
protected readonly logger: PinoLogger;
private static mapBlock;
private static mapTransaction;
protected constructor(logger: PinoLogger);
protected abstract isTestnet(): Promise<boolean>;
abstract getNodesUrl(nodeType: AlgoNodeType): Promise<string[]>;
protected abstract storeKMSTransaction(txData: string, currency: string, signatureId: string[], index?: number): Promise<string>;
protected abstract completeKMSTransaction(txId: string, signatureId: string): Promise<void>;
getClient(testnet?: boolean): Promise<any>;
getIndexerClient(): Promise<any>;
generateWallet(mnem?: string): Promise<{
address: any;
secret: any;
}>;
generateAddress(fromPrivateKey: string): Promise<any>;
sendTransaction(tx: AlgoTransaction): Promise<{
txId: string;
failed?: boolean;
} | {
signatureId: string;
}>;
getBalance(address: string): Promise<number>;
private broadcastOrStoreKMSTransaction;
private waitForConfirmation;
broadcast(txData: string, signatureId?: string): Promise<{
txId: string;
failed?: boolean;
}>;
getCurrentBlock(testnet?: boolean): Promise<number>;
getBlock(roundNumber: number): Promise<{
genesisHash: any;
genesisId: any;
previousBlockHash: any;
rewards: any;
round: any;
seed: any;
timestamp: any;
txns: any;
txn: any;
txnc: any;
upgradeState: any;
upgradeVote: any;
}>;
getTransaction(txid: string): Promise<{
closeRewards: any;
closingAmount: any;
confirmedRound: any;
fee: number;
firstValid: any;
genesisHash: any;
genesisId: any;
id: any;
intraRoundOffset: any;
lastValid: any;
note: any;
paymentTransaction: any;
receiverRewards: any;
roundTime: any;
sender: any;
senderRewards: any;
signature: any;
txType: any;
}>;
getPayTransactions(from: string, to: string, limit?: string, next?: string, testnet?: boolean): Promise<{
nextToken: any;
transactions: any;
}>;
getPayTransactionsByBlockRange(from: number, to: number, testnet?: boolean): Promise<{
transactions: any;
}>;
nodeMethod(req: Request, key: string, algoNodeType: AlgoNodeType): Promise<any>;
}