@swap-coffee/sdk
Version:
SDK for swap.coffee DEX aggregator
25 lines • 992 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.waitForRouteResults = void 0;
/**
* Wait for transaction result by route id
*
* @param routeId - route id
* @param api - instance of {@link RoutingApi}
* @param period - period of time to wait for result (default 1000 ms)
*/
async function waitForRouteResults(routeId, api, period = 10_000) {
let result = await api.getRouteResult(routeId);
return new Promise(async (resolve, reject) => {
while (!allSplitsCompleted(result.data.splits)) {
await new Promise(resolve => setTimeout(resolve, period));
result = await api.getRouteResult(routeId);
}
resolve(result.data.splits);
});
}
exports.waitForRouteResults = waitForRouteResults;
function allSplitsCompleted(transactions) {
return transactions.every(transaction => transaction.status != 'pending' && transaction.status != 'partially_complete');
}
//# sourceMappingURL=transactions.js.map