@tatumio/erc20-connector
Version:
ERC20 Connector for Tatum API
32 lines (31 loc) • 2.2 kB
TypeScript
import { PinoLogger } from 'nestjs-pino';
import { ChainBurnCeloErc20, ChainBurnErc20, ChainBurnKcsErc20, ChainDeployCeloErc20, ChainDeployErc20, ChainDeployKcsErc20, ChainEgldEsdtTransaction, ChainMintCeloErc20, ChainMintErc20, ChainMintKcsErc20, ChainTransferAlgoErc20, ChainTransferBscBep20, ChainTransferCeloErc20Token, ChainTransferErc20, ChainTransferEthErc20, ChainTransferHrm20, ChainTransferKcsErc20, ChainTransferPolygonErc20 } from './Erc20Base';
import { ApproveErc20, Currency, TransactionHash } from '@tatumio/tatum';
export declare abstract class Erc20Service {
protected readonly logger: PinoLogger;
protected constructor(logger: PinoLogger);
protected abstract storeKMSTransaction(txData: string, currency: string, signatureId: string[], index?: number): Promise<string>;
protected abstract isTestnet(): Promise<boolean>;
protected abstract getNodesUrl(chain: Currency, testnet: boolean): Promise<string[]>;
protected abstract broadcast(chain: Currency, txData: string, signatureId?: string): Promise<TransactionHash>;
private getFirstNodeUrl;
private getClient;
getErc20Balance(chain: Currency, address: string, contractAddress: string): Promise<{
balance: string;
}>;
transferErc20(body: ChainTransferEthErc20 | ChainTransferBscBep20 | ChainTransferCeloErc20Token | ChainTransferErc20 | ChainTransferHrm20 | ChainTransferPolygonErc20 | ChainEgldEsdtTransaction | ChainTransferAlgoErc20 | ChainTransferKcsErc20): Promise<TransactionHash | {
signatureId: string;
}>;
burnErc20(body: ChainBurnErc20 | ChainBurnCeloErc20 | ChainEgldEsdtTransaction | ChainBurnKcsErc20): Promise<TransactionHash | {
signatureId: string;
}>;
mintErc20(body: ChainMintErc20 | ChainMintCeloErc20 | ChainEgldEsdtTransaction | ChainMintKcsErc20): Promise<TransactionHash | {
signatureId: string;
}>;
deployErc20(body: ChainDeployErc20 | ChainDeployCeloErc20 | ChainEgldEsdtTransaction | ChainDeployKcsErc20): Promise<TransactionHash | {
signatureId: string;
}>;
approveErc20(body: ApproveErc20 | ChainEgldEsdtTransaction): Promise<TransactionHash | {
signatureId: string;
}>;
}