UNPKG

@aut-labs/sdk

Version:

The TS/JS SDK package aims to make it easy for frontends/backends to integrate with Aut Smart Contracts

47 lines 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TransactionStore = exports.DeferredTransaction = void 0; class DeferredTransaction { constructor() { this.promise = new Promise((resolve, reject) => { this.resolve = resolve; this.reject = reject; this._timeout = setTimeout(() => { this.reject(new Error("Transcation took longer than expected!")); clearTimeout(this._timeout); }, 5 * 60 * 1000); }); } clearTimeout() { if (this._timeout) { clearTimeout(this._timeout); } } } exports.DeferredTransaction = DeferredTransaction; class TransactionStore { constructor() { this.map = new Map(); } add(transactionId, promise) { this.map.set(transactionId, promise); } resolve(transactionId, result) { if (this.map.has(transactionId)) { const deferredPromise = this.map.get(transactionId); deferredPromise.resolve(result); deferredPromise.clearTimeout(); this.map.delete(transactionId); } } reject(transactionId, error) { if (this.map.has(transactionId)) { const deferredPromise = this.map.get(transactionId); deferredPromise.reject(error); deferredPromise.clearTimeout(); this.map.delete(transactionId); } } } exports.TransactionStore = TransactionStore; //# sourceMappingURL=transaction.store.js.map