@kaiachain/kss-bridges-celer
Version:
TypeScript client and use-cases for cBridge
66 lines • 3.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.statusTracker = void 0;
const GetData_1 = require("./GetData");
const timers_1 = require("timers");
const statusTracker = async (rpc, transferId, callback, statusCode) => {
let observerdStatus = statusCode ? statusCode : 0;
const transferStatusResponse = async () => {
const res = await (0, GetData_1.getTransferStatus)(rpc, transferId);
if (res.status === 1 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.info("cBRIDGE => TRANSFER_SUBMITTING");
}
else if (res.status === 2 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.error("cBRIDGE => TRANSFER_FAILED");
console.log("Tx Details: ", res);
(0, timers_1.clearInterval)(interval);
}
else if (res.status === 3 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.info("cBRIDGE => TRANSFER_WAITING_FOR_SGN_CONFIRMATION");
}
else if (res.status === 4 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.info("cBRIDGE => TRANSFER_WAITING_FOR_FUND_RELEASE");
}
else if (res.status === 5 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.log("cBRIDGE => TRANSFER_COMPLETED");
console.log("Tx Details: ", res);
(0, timers_1.clearInterval)(interval);
}
else if (res.status === 6 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.warn("cBRIDGE => TRANSFER_TO_BE_REFUNDED");
console.log("Initiate the Refund process, e.g: use-cases/***FlowRefund.ts");
console.log("Tx Details: ", res);
(0, timers_1.clearInterval)(interval);
callback ? callback(res) : null;
}
else if (res.status === 7 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.info("cBRIDGE => TRANSFER_REQUESTING_REFUND");
}
else if (res.status === 8 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.warn("cBRIDGE => TRANSFER_REFUND_TO_BE_CONFIRMED");
callback ? callback(res) : null;
}
else if (res.status === 9 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.info("cBRIDGE => TRANSFER_CONFIRMING_YOUR_REFUND");
}
else if (res.status === 10 && res.status !== observerdStatus) {
observerdStatus = res.status;
console.log("cBRIDGE => TRANSFER_REFUNDED");
console.log("Tx Details: ", res);
(0, timers_1.clearInterval)(interval);
}
};
const interval = setInterval(transferStatusResponse, 10000); // 10 seconds interval
transferStatusResponse();
};
exports.statusTracker = statusTracker;
//# sourceMappingURL=StatusTracker.js.map