rubic-sdk
Version:
Simplify dApp creation
39 lines • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OnChainStatusManager = void 0;
const waitFor_1 = require("../../../common/utils/waitFor");
const blockchain_name_1 = require("../../../core/blockchain/models/blockchain-name");
const tx_status_1 = require("../../../core/blockchain/web3-public-service/web3-public/models/tx-status");
const get_bridgers_trade_status_1 = require("../../common/status-manager/utils/get-bridgers-trade-status");
const get_src_tx_status_1 = require("../../common/status-manager/utils/get-src-tx-status");
class OnChainStatusManager {
/**
* Get Bridgers trade transaction status.
*/
async getBridgersSwapStatus(srcTxHash) {
const srcTxStatus = await (0, get_src_tx_status_1.getSrcTxStatus)(blockchain_name_1.BLOCKCHAIN_NAME.TRON, srcTxHash);
if (srcTxStatus === tx_status_1.TX_STATUS.FAIL) {
return {
status: tx_status_1.TX_STATUS.FAIL,
hash: srcTxHash
};
}
return (0, get_bridgers_trade_status_1.getBridgersTradeStatus)(srcTxHash, blockchain_name_1.BLOCKCHAIN_NAME.TRON, 'rubic_widget');
}
static async getBitcoinTransaction(srcTxHash) {
return this.getSrcStatusRecursive(srcTxHash, blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN, 300000);
}
static async getSrcStatusRecursive(srcTxHash, blockchain, timeoutMs) {
const srcTxStatus = await (0, get_src_tx_status_1.getSrcTxStatus)(blockchain, srcTxHash);
if (srcTxStatus === tx_status_1.TX_STATUS.FAIL || srcTxStatus === tx_status_1.TX_STATUS.SUCCESS) {
return {
status: srcTxStatus,
hash: srcTxHash
};
}
await (0, waitFor_1.waitFor)(timeoutMs);
return this.getSrcStatusRecursive(srcTxHash, blockchain, timeoutMs);
}
}
exports.OnChainStatusManager = OnChainStatusManager;
//# sourceMappingURL=on-chain-status-manager.js.map