UNPKG

@0xpolygonid/js-sdk

Version:
81 lines (80 loc) 3 kB
import { Block, JsonRpcProvider, Signer, TransactionReceipt, TransactionRequest } from 'ethers'; /** * Resend transaction options * @type ResendTxnOptions */ export type ResendTxnOptions = { increasedFeesPercentage?: number; }; /** * Interface for TransactionService * @public */ export interface ITransactionService { /** * Returns transaction receipt and block by transaction hash * * @param {string} transactionHash - transaction hash. * @returns `Promise<{receipt?: TransactionReceipt , block?: Block}>` - returns transaction receipt and block * @public */ getTransactionReceiptAndBlock(transactionHash: string): Promise<{ receipt?: TransactionReceipt; block?: Block; }>; /** * Send transaction. * * @param {Signer} signer - transaction signer. * @param {TransactionRequest} request - transaction request. * @returns `Promise<txnHash: string, txnReceipt: TransactionReceipt` - returns txn hash and txn receipt. * @public */ sendTransactionRequest(signer: Signer, request: TransactionRequest): Promise<{ txnHash: string; txnReceipt: TransactionReceipt; }>; /** * Resend transaction with options. Useful when `transaction underpriced` error thrown on transaction. * * @param {Signer} signer - transaction signer. * @param {TransactionRequest} request - transaction request. * @param {ResendTxnOptions} opts - resend transaction options. * @returns `Promise<{ txnHash: string; txnReceipt: TransactionReceipt }>` -returns txn hash and txn receipt. * @public */ resendTransaction(signer: Signer, request: TransactionRequest, opts?: ResendTxnOptions): Promise<{ txnHash: string; txnReceipt: TransactionReceipt; }>; } /** * Transaction service to provide interaction with blockchain transactions. * allows to: get tx receipt by tx id, send and resend transaction with new fees. * @class TransactionService * @public * @implements ITransactionService interface */ export declare class TransactionService implements ITransactionService { private readonly _provider; /** * Creates an instance of TransactionService. * @param {JsonRpcProvider} - RPC provider */ constructor(_provider: JsonRpcProvider); /** {@inheritDoc ITransactionService.getTransactionReceiptAndBlock} */ getTransactionReceiptAndBlock(txnHash: string): Promise<{ receipt?: TransactionReceipt; block?: Block; }>; /** {@inheritDoc ITransactionService.sendTransactionRequest} */ sendTransactionRequest(signer: Signer, request: TransactionRequest): Promise<{ txnHash: string; txnReceipt: TransactionReceipt; }>; /** {@inheritDoc ITransactionService.resendTransaction} */ resendTransaction(signer: Signer, request: TransactionRequest, opts?: ResendTxnOptions): Promise<{ txnHash: string; txnReceipt: TransactionReceipt; }>; }