UNPKG

barterjs-sdk

Version:
56 lines (55 loc) 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assembleEVMTransactionResponse = exports.assembleNearTransactionResponse = exports.adaptNearReceipt = exports.adaptEthReceipt = void 0; const ethers_1 = require("ethers"); const abstract_provider_1 = require("@ethersproject/abstract-provider"); function adaptEthReceipt(transactionReceipt) { return { to: transactionReceipt.to, from: transactionReceipt.from, gasUsed: transactionReceipt.gasUsed.toString(), blockHash: transactionReceipt.blockHash, transactionHash: transactionReceipt.transactionHash, blockNumber: transactionReceipt.blockNumber, }; } exports.adaptEthReceipt = adaptEthReceipt; function adaptNearReceipt(finalExecutionOutcome) { console.log('status', finalExecutionOutcome.status); return { to: finalExecutionOutcome.transaction.receiver_id, from: finalExecutionOutcome.transaction.signer_id, gasUsed: finalExecutionOutcome.transaction_outcome.outcome.gas_burnt.toString(), transactionHash: finalExecutionOutcome.transaction.hash, }; } exports.adaptNearReceipt = adaptNearReceipt; function assembleNearTransactionResponse(executionOutcome) { return { hash: executionOutcome.transaction.hash, wait: async () => { return Promise.resolve(adaptNearReceipt(executionOutcome)); }, }; } exports.assembleNearTransactionResponse = assembleNearTransactionResponse; function assembleEVMTransactionResponse(transactionHash, provider) { return { hash: transactionHash, wait: async () => { if (provider instanceof ethers_1.Signer) { const receipt = await provider.provider?.waitForTransaction(transactionHash); return Promise.resolve(adaptEthReceipt(receipt)); } else if (provider instanceof abstract_provider_1.Provider) { const receipt = await provider.waitForTransaction(transactionHash); return Promise.resolve(adaptEthReceipt(receipt)); } else { const receipt = await provider.getTransactionReceipt(transactionHash); return Promise.resolve(adaptEthReceipt(receipt)); } }, }; } exports.assembleEVMTransactionResponse = assembleEVMTransactionResponse;