barterjs-sdk
Version:
Barter Network SDK
56 lines (55 loc) • 2.39 kB
JavaScript
;
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;