rubic-sdk
Version:
Simplify dApp creation
54 lines • 2.24 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBridgersTradeStatus = void 0;
const tx_status_1 = require("../../../../core/blockchain/web3-public-service/web3-public/models/tx-status");
const injector_1 = require("../../../../core/injector/injector");
const to_bridgers_blockchain_1 = require("../../providers/bridgers/constants/to-bridgers-blockchain");
async function getBridgersTradeStatus(srcTxHash, fromBlockchain, sourceFlag, amountOutMin) {
try {
const updateDataAndStatusRequest = {
hash: srcTxHash,
fromTokenChain: to_bridgers_blockchain_1.toBridgersBlockchain[fromBlockchain],
sourceFlag,
amountOutMin
};
const updateDataAndStatusResponse = await injector_1.Injector.httpClient.post('https://sswap.swft.pro/api/exchangeRecord/updateDataAndStatus', updateDataAndStatusRequest);
const orderId = updateDataAndStatusResponse.data?.orderId;
if (!orderId) {
return {
status: tx_status_1.TxStatus.PENDING,
hash: null
};
}
const getTransDataByIdRequest = {
orderId
};
const getTransDataByIdResponse = await injector_1.Injector.httpClient.post('https://sswap.swft.pro/api/exchangeRecord/getTransDataById', getTransDataByIdRequest);
const transactionData = getTransDataByIdResponse.data;
if (!transactionData?.status) {
return {
status: tx_status_1.TxStatus.PENDING,
hash: null
};
}
if (transactionData.status === 'receive_complete') {
return {
status: tx_status_1.TxStatus.SUCCESS,
hash: transactionData.toHash
};
}
if (transactionData.status.includes('error') || transactionData.status.includes('fail')) {
return {
status: tx_status_1.TxStatus.FAIL,
hash: null
};
}
}
catch { }
return {
status: tx_status_1.TxStatus.PENDING,
hash: null
};
}
exports.getBridgersTradeStatus = getBridgersTradeStatus;
//# sourceMappingURL=get-bridgers-trade-status.js.map
;