@atomiqlabs/base 10.0.0-dev.2 → 10.0.0-dev.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -201
- package/dist/btc/BitcoinNetwork.d.ts +6 -6
- package/dist/btc/BitcoinNetwork.js +10 -10
- package/dist/btc/rpc/BitcoinRpc.d.ts +68 -68
- package/dist/btc/rpc/BitcoinRpc.js +2 -2
- package/dist/btcrelay/BtcRelay.d.ts +61 -61
- package/dist/btcrelay/BtcRelay.js +2 -2
- package/dist/btcrelay/synchronizer/RelaySynchronizer.d.ts +18 -18
- package/dist/btcrelay/synchronizer/RelaySynchronizer.js +2 -2
- package/dist/btcrelay/types/BtcBlock.d.ts +13 -13
- package/dist/btcrelay/types/BtcBlock.js +2 -2
- package/dist/btcrelay/types/BtcHeader.d.ts +10 -10
- package/dist/btcrelay/types/BtcHeader.js +2 -2
- package/dist/btcrelay/types/BtcStoredHeader.d.ts +11 -11
- package/dist/btcrelay/types/BtcStoredHeader.js +2 -2
- package/dist/btcrelay/utils/StatePredictorUtils.d.ts +11 -11
- package/dist/btcrelay/utils/StatePredictorUtils.js +80 -80
- package/dist/chains/ChainData.d.ts +31 -31
- package/dist/chains/ChainData.js +2 -2
- package/dist/chains/ChainInterface.d.ts +133 -110
- package/dist/chains/ChainInterface.js +7 -2
- package/dist/chains/ChainType.d.ts +24 -23
- package/dist/chains/ChainType.js +2 -2
- package/dist/errors/CannotInitializeATAError.d.ts +3 -3
- package/dist/errors/CannotInitializeATAError.js +11 -11
- package/dist/errors/SignatureVerificationError.d.ts +3 -3
- package/dist/errors/SignatureVerificationError.js +11 -11
- package/dist/errors/SwapDataVerificationError.d.ts +3 -3
- package/dist/errors/SwapDataVerificationError.js +11 -11
- package/dist/errors/TransactionRevertedError.d.ts +3 -0
- package/dist/errors/TransactionRevertedError.js +11 -0
- package/dist/events/ChainEvents.d.ts +9 -9
- package/dist/events/ChainEvents.js +2 -2
- package/dist/events/types/ChainEvent.d.ts +7 -7
- package/dist/events/types/ChainEvent.js +6 -6
- package/dist/events/types/spv_vault/SpvVaultClaimEvent.d.ts +12 -12
- package/dist/events/types/spv_vault/SpvVaultClaimEvent.js +18 -18
- package/dist/events/types/spv_vault/SpvVaultCloseEvent.d.ts +7 -7
- package/dist/events/types/spv_vault/SpvVaultCloseEvent.js +13 -13
- package/dist/events/types/spv_vault/SpvVaultDepositEvent.d.ts +7 -7
- package/dist/events/types/spv_vault/SpvVaultDepositEvent.js +13 -13
- package/dist/events/types/spv_vault/SpvVaultEvent.d.ts +15 -15
- package/dist/events/types/spv_vault/SpvVaultEvent.js +20 -20
- package/dist/events/types/spv_vault/SpvVaultFrontEvent.d.ts +10 -10
- package/dist/events/types/spv_vault/SpvVaultFrontEvent.js +16 -16
- package/dist/events/types/spv_vault/SpvVaultOpenEvent.d.ts +7 -7
- package/dist/events/types/spv_vault/SpvVaultOpenEvent.js +13 -13
- package/dist/events/types/swap/ClaimEvent.d.ts +7 -7
- package/dist/events/types/swap/ClaimEvent.js +11 -11
- package/dist/events/types/swap/InitializeEvent.d.ts +9 -9
- package/dist/events/types/swap/InitializeEvent.js +12 -12
- package/dist/events/types/swap/RefundEvent.d.ts +5 -5
- package/dist/events/types/swap/RefundEvent.js +7 -7
- package/dist/events/types/swap/SwapEvent.d.ts +12 -12
- package/dist/events/types/swap/SwapEvent.js +17 -17
- package/dist/index.d.ts +42 -38
- package/dist/index.js +58 -54
- package/dist/lockable/Lockable.d.ts +6 -6
- package/dist/lockable/Lockable.js +28 -28
- package/dist/messaging/Messenger.d.ts +8 -0
- package/dist/messaging/Messenger.js +2 -0
- package/dist/messaging/messages/Message.d.ts +11 -0
- package/dist/messaging/messages/Message.js +22 -0
- package/dist/messaging/messages/SwapClaimWitnessMessage.d.ts +10 -0
- package/dist/messaging/messages/SwapClaimWitnessMessage.js +28 -0
- package/dist/spv_swap/SpvVaultContract.d.ts +258 -199
- package/dist/spv_swap/SpvVaultContract.js +2 -2
- package/dist/spv_swap/SpvVaultData.d.ts +35 -35
- package/dist/spv_swap/SpvVaultData.js +37 -37
- package/dist/spv_swap/SpvWithdrawalState.d.ts +31 -31
- package/dist/spv_swap/SpvWithdrawalState.js +10 -10
- package/dist/spv_swap/SpvWithdrawalTransactionData.d.ts +43 -43
- package/dist/spv_swap/SpvWithdrawalTransactionData.js +143 -143
- package/dist/storage/IStorageManager.d.ts +15 -15
- package/dist/storage/IStorageManager.js +2 -2
- package/dist/storage/StorageObject.d.ts +3 -3
- package/dist/storage/StorageObject.js +2 -2
- package/dist/swaps/ChainSwapType.d.ts +6 -6
- package/dist/swaps/ChainSwapType.js +10 -10
- package/dist/swaps/SwapCommitState.d.ts +39 -38
- package/dist/swaps/SwapCommitState.js +11 -11
- package/dist/swaps/SwapContract.d.ts +479 -467
- package/dist/swaps/SwapContract.js +2 -2
- package/dist/swaps/SwapData.d.ts +37 -36
- package/dist/swaps/SwapData.js +17 -14
- package/dist/utils/BigIntBufferUtils.d.ts +6 -6
- package/dist/utils/BigIntBufferUtils.js +31 -31
- package/package.json +31 -31
- package/src/btc/BitcoinNetwork.ts +6 -6
- package/src/btc/rpc/BitcoinRpc.ts +77 -77
- package/src/btcrelay/BtcRelay.ts +70 -70
- package/src/btcrelay/synchronizer/RelaySynchronizer.ts +17 -17
- package/src/btcrelay/types/BtcBlock.ts +15 -15
- package/src/btcrelay/types/BtcHeader.ts +11 -11
- package/src/btcrelay/types/BtcStoredHeader.ts +12 -12
- package/src/btcrelay/utils/StatePredictorUtils.ts +108 -108
- package/src/chains/ChainData.ts +40 -40
- package/src/chains/ChainInterface.ts +159 -132
- package/src/chains/ChainType.ts +40 -38
- package/src/errors/CannotInitializeATAError.ts +11 -11
- package/src/errors/SignatureVerificationError.ts +11 -11
- package/src/errors/SwapDataVerificationError.ts +11 -11
- package/src/errors/TransactionRevertedError.ts +11 -0
- package/src/events/ChainEvents.ts +13 -13
- package/src/events/types/ChainEvent.ts +10 -10
- package/src/events/types/spv_vault/SpvVaultClaimEvent.ts +31 -31
- package/src/events/types/spv_vault/SpvVaultCloseEvent.ts +17 -17
- package/src/events/types/spv_vault/SpvVaultDepositEvent.ts +17 -17
- package/src/events/types/spv_vault/SpvVaultEvent.ts +25 -25
- package/src/events/types/spv_vault/SpvVaultFrontEvent.ts +27 -27
- package/src/events/types/spv_vault/SpvVaultOpenEvent.ts +16 -16
- package/src/events/types/swap/ClaimEvent.ts +15 -15
- package/src/events/types/swap/InitializeEvent.ts +18 -18
- package/src/events/types/swap/RefundEvent.ts +6 -6
- package/src/events/types/swap/SwapEvent.ts +21 -21
- package/src/index.ts +51 -46
- package/src/lockable/Lockable.ts +30 -30
- package/src/messaging/Messenger.ts +11 -0
- package/src/messaging/messages/Message.ts +25 -0
- package/src/messaging/messages/SwapClaimWitnessMessage.ts +34 -0
- package/src/spv_swap/SpvVaultContract.ts +269 -230
- package/src/spv_swap/SpvVaultData.ts +70 -70
- package/src/spv_swap/SpvWithdrawalState.ts +40 -40
- package/src/spv_swap/SpvWithdrawalTransactionData.ts +169 -169
- package/src/storage/IStorageManager.ts +16 -16
- package/src/storage/StorageObject.ts +6 -6
- package/src/swaps/ChainSwapType.ts +6 -6
- package/src/swaps/SwapCommitState.ts +40 -39
- package/src/swaps/SwapContract.ts +564 -556
- package/src/swaps/SwapData.ts +69 -65
- package/src/utils/BigIntBufferUtils.ts +31 -31
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { ChainEvent } from "../ChainEvent";
|
|
2
|
-
import { SwapData } from "../../../swaps/SwapData";
|
|
3
|
-
export declare enum SpvVaultEventType {
|
|
4
|
-
OPEN = 0,
|
|
5
|
-
DEPOSIT = 1,
|
|
6
|
-
CLAIM = 2,
|
|
7
|
-
CLOSE = 3,
|
|
8
|
-
FRONT = 4
|
|
9
|
-
}
|
|
10
|
-
export declare class SpvVaultEvent<C extends SpvVaultEventType = SpvVaultEventType> extends ChainEvent<SwapData> {
|
|
11
|
-
readonly eventType: C;
|
|
12
|
-
owner: string;
|
|
13
|
-
vaultId: bigint;
|
|
14
|
-
constructor(owner: string, vaultId: bigint);
|
|
15
|
-
}
|
|
1
|
+
import { ChainEvent } from "../ChainEvent";
|
|
2
|
+
import { SwapData } from "../../../swaps/SwapData";
|
|
3
|
+
export declare enum SpvVaultEventType {
|
|
4
|
+
OPEN = 0,
|
|
5
|
+
DEPOSIT = 1,
|
|
6
|
+
CLAIM = 2,
|
|
7
|
+
CLOSE = 3,
|
|
8
|
+
FRONT = 4
|
|
9
|
+
}
|
|
10
|
+
export declare class SpvVaultEvent<C extends SpvVaultEventType = SpvVaultEventType> extends ChainEvent<SwapData> {
|
|
11
|
+
readonly eventType: C;
|
|
12
|
+
owner: string;
|
|
13
|
+
vaultId: bigint;
|
|
14
|
+
constructor(owner: string, vaultId: bigint);
|
|
15
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SpvVaultEvent = exports.SpvVaultEventType = void 0;
|
|
4
|
-
const ChainEvent_1 = require("../ChainEvent");
|
|
5
|
-
var SpvVaultEventType;
|
|
6
|
-
(function (SpvVaultEventType) {
|
|
7
|
-
SpvVaultEventType[SpvVaultEventType["OPEN"] = 0] = "OPEN";
|
|
8
|
-
SpvVaultEventType[SpvVaultEventType["DEPOSIT"] = 1] = "DEPOSIT";
|
|
9
|
-
SpvVaultEventType[SpvVaultEventType["CLAIM"] = 2] = "CLAIM";
|
|
10
|
-
SpvVaultEventType[SpvVaultEventType["CLOSE"] = 3] = "CLOSE";
|
|
11
|
-
SpvVaultEventType[SpvVaultEventType["FRONT"] = 4] = "FRONT";
|
|
12
|
-
})(SpvVaultEventType = exports.SpvVaultEventType || (exports.SpvVaultEventType = {}));
|
|
13
|
-
class SpvVaultEvent extends ChainEvent_1.ChainEvent {
|
|
14
|
-
constructor(owner, vaultId) {
|
|
15
|
-
super();
|
|
16
|
-
this.owner = owner;
|
|
17
|
-
this.vaultId = vaultId;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.SpvVaultEvent = SpvVaultEvent;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpvVaultEvent = exports.SpvVaultEventType = void 0;
|
|
4
|
+
const ChainEvent_1 = require("../ChainEvent");
|
|
5
|
+
var SpvVaultEventType;
|
|
6
|
+
(function (SpvVaultEventType) {
|
|
7
|
+
SpvVaultEventType[SpvVaultEventType["OPEN"] = 0] = "OPEN";
|
|
8
|
+
SpvVaultEventType[SpvVaultEventType["DEPOSIT"] = 1] = "DEPOSIT";
|
|
9
|
+
SpvVaultEventType[SpvVaultEventType["CLAIM"] = 2] = "CLAIM";
|
|
10
|
+
SpvVaultEventType[SpvVaultEventType["CLOSE"] = 3] = "CLOSE";
|
|
11
|
+
SpvVaultEventType[SpvVaultEventType["FRONT"] = 4] = "FRONT";
|
|
12
|
+
})(SpvVaultEventType = exports.SpvVaultEventType || (exports.SpvVaultEventType = {}));
|
|
13
|
+
class SpvVaultEvent extends ChainEvent_1.ChainEvent {
|
|
14
|
+
constructor(owner, vaultId) {
|
|
15
|
+
super();
|
|
16
|
+
this.owner = owner;
|
|
17
|
+
this.vaultId = vaultId;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.SpvVaultEvent = SpvVaultEvent;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { SpvVaultEvent, SpvVaultEventType } from "./SpvVaultEvent";
|
|
2
|
-
export declare class SpvVaultFrontEvent extends SpvVaultEvent<SpvVaultEventType.FRONT> {
|
|
3
|
-
readonly eventType = SpvVaultEventType.FRONT;
|
|
4
|
-
btcTxId: string;
|
|
5
|
-
recipient: string;
|
|
6
|
-
executionHash: string;
|
|
7
|
-
amounts: bigint[];
|
|
8
|
-
frontingAddress: string;
|
|
9
|
-
constructor(owner: string, vaultId: bigint, btcTxId: string, recipient: string, executionHash: string, amounts: bigint[], frontingAddress: string);
|
|
10
|
-
}
|
|
1
|
+
import { SpvVaultEvent, SpvVaultEventType } from "./SpvVaultEvent";
|
|
2
|
+
export declare class SpvVaultFrontEvent extends SpvVaultEvent<SpvVaultEventType.FRONT> {
|
|
3
|
+
readonly eventType = SpvVaultEventType.FRONT;
|
|
4
|
+
btcTxId: string;
|
|
5
|
+
recipient: string;
|
|
6
|
+
executionHash: string;
|
|
7
|
+
amounts: bigint[];
|
|
8
|
+
frontingAddress: string;
|
|
9
|
+
constructor(owner: string, vaultId: bigint, btcTxId: string, recipient: string, executionHash: string, amounts: bigint[], frontingAddress: string);
|
|
10
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SpvVaultFrontEvent = void 0;
|
|
4
|
-
const SpvVaultEvent_1 = require("./SpvVaultEvent");
|
|
5
|
-
class SpvVaultFrontEvent extends SpvVaultEvent_1.SpvVaultEvent {
|
|
6
|
-
constructor(owner, vaultId, btcTxId, recipient, executionHash, amounts, frontingAddress) {
|
|
7
|
-
super(owner, vaultId);
|
|
8
|
-
this.eventType = SpvVaultEvent_1.SpvVaultEventType.FRONT;
|
|
9
|
-
this.btcTxId = btcTxId;
|
|
10
|
-
this.recipient = recipient;
|
|
11
|
-
this.executionHash = executionHash;
|
|
12
|
-
this.amounts = amounts;
|
|
13
|
-
this.frontingAddress = frontingAddress;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.SpvVaultFrontEvent = SpvVaultFrontEvent;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpvVaultFrontEvent = void 0;
|
|
4
|
+
const SpvVaultEvent_1 = require("./SpvVaultEvent");
|
|
5
|
+
class SpvVaultFrontEvent extends SpvVaultEvent_1.SpvVaultEvent {
|
|
6
|
+
constructor(owner, vaultId, btcTxId, recipient, executionHash, amounts, frontingAddress) {
|
|
7
|
+
super(owner, vaultId);
|
|
8
|
+
this.eventType = SpvVaultEvent_1.SpvVaultEventType.FRONT;
|
|
9
|
+
this.btcTxId = btcTxId;
|
|
10
|
+
this.recipient = recipient;
|
|
11
|
+
this.executionHash = executionHash;
|
|
12
|
+
this.amounts = amounts;
|
|
13
|
+
this.frontingAddress = frontingAddress;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.SpvVaultFrontEvent = SpvVaultFrontEvent;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SpvVaultEvent, SpvVaultEventType } from "./SpvVaultEvent";
|
|
2
|
-
export declare class SpvVaultOpenEvent extends SpvVaultEvent<SpvVaultEventType.OPEN> {
|
|
3
|
-
readonly eventType = SpvVaultEventType.OPEN;
|
|
4
|
-
btcTxId: string;
|
|
5
|
-
vout: number;
|
|
6
|
-
constructor(owner: string, vaultId: bigint, btcTxId: string, vout: number);
|
|
7
|
-
}
|
|
1
|
+
import { SpvVaultEvent, SpvVaultEventType } from "./SpvVaultEvent";
|
|
2
|
+
export declare class SpvVaultOpenEvent extends SpvVaultEvent<SpvVaultEventType.OPEN> {
|
|
3
|
+
readonly eventType = SpvVaultEventType.OPEN;
|
|
4
|
+
btcTxId: string;
|
|
5
|
+
vout: number;
|
|
6
|
+
constructor(owner: string, vaultId: bigint, btcTxId: string, vout: number);
|
|
7
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SpvVaultOpenEvent = void 0;
|
|
4
|
-
const SpvVaultEvent_1 = require("./SpvVaultEvent");
|
|
5
|
-
class SpvVaultOpenEvent extends SpvVaultEvent_1.SpvVaultEvent {
|
|
6
|
-
constructor(owner, vaultId, btcTxId, vout) {
|
|
7
|
-
super(owner, vaultId);
|
|
8
|
-
this.eventType = SpvVaultEvent_1.SpvVaultEventType.OPEN;
|
|
9
|
-
this.btcTxId = btcTxId;
|
|
10
|
-
this.vout = vout;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.SpvVaultOpenEvent = SpvVaultOpenEvent;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpvVaultOpenEvent = void 0;
|
|
4
|
+
const SpvVaultEvent_1 = require("./SpvVaultEvent");
|
|
5
|
+
class SpvVaultOpenEvent extends SpvVaultEvent_1.SpvVaultEvent {
|
|
6
|
+
constructor(owner, vaultId, btcTxId, vout) {
|
|
7
|
+
super(owner, vaultId);
|
|
8
|
+
this.eventType = SpvVaultEvent_1.SpvVaultEventType.OPEN;
|
|
9
|
+
this.btcTxId = btcTxId;
|
|
10
|
+
this.vout = vout;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.SpvVaultOpenEvent = SpvVaultOpenEvent;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SwapEvent, SwapEventType } from "./SwapEvent";
|
|
2
|
-
import { SwapData } from "../../../swaps/SwapData";
|
|
3
|
-
export declare class ClaimEvent<T extends SwapData> extends SwapEvent<T, SwapEventType.CLAIM> {
|
|
4
|
-
readonly eventType: SwapEventType.CLAIM;
|
|
5
|
-
result: string;
|
|
6
|
-
constructor(escrowHash: string, result: string);
|
|
7
|
-
}
|
|
1
|
+
import { SwapEvent, SwapEventType } from "./SwapEvent";
|
|
2
|
+
import { SwapData } from "../../../swaps/SwapData";
|
|
3
|
+
export declare class ClaimEvent<T extends SwapData> extends SwapEvent<T, SwapEventType.CLAIM> {
|
|
4
|
+
readonly eventType: SwapEventType.CLAIM;
|
|
5
|
+
result: string;
|
|
6
|
+
constructor(escrowHash: string, result: string);
|
|
7
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClaimEvent = void 0;
|
|
4
|
-
const SwapEvent_1 = require("./SwapEvent");
|
|
5
|
-
class ClaimEvent extends SwapEvent_1.SwapEvent {
|
|
6
|
-
constructor(escrowHash, result) {
|
|
7
|
-
super(escrowHash);
|
|
8
|
-
this.result = result;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
exports.ClaimEvent = ClaimEvent;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClaimEvent = void 0;
|
|
4
|
+
const SwapEvent_1 = require("./SwapEvent");
|
|
5
|
+
class ClaimEvent extends SwapEvent_1.SwapEvent {
|
|
6
|
+
constructor(escrowHash, result) {
|
|
7
|
+
super(escrowHash);
|
|
8
|
+
this.result = result;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ClaimEvent = ClaimEvent;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { SwapEvent, SwapEventType } from "./SwapEvent";
|
|
2
|
-
import { SwapData } from "../../../swaps/SwapData";
|
|
3
|
-
import { ChainSwapType } from "../../../swaps/ChainSwapType";
|
|
4
|
-
export declare class InitializeEvent<T extends SwapData> extends SwapEvent<T, SwapEventType.INITIALIZE> {
|
|
5
|
-
readonly eventType: SwapEventType.INITIALIZE;
|
|
6
|
-
swapType: ChainSwapType;
|
|
7
|
-
swapData: () => Promise<T>;
|
|
8
|
-
constructor(escrowHash: string, swapType: ChainSwapType, swapData: () => Promise<T>);
|
|
9
|
-
}
|
|
1
|
+
import { SwapEvent, SwapEventType } from "./SwapEvent";
|
|
2
|
+
import { SwapData } from "../../../swaps/SwapData";
|
|
3
|
+
import { ChainSwapType } from "../../../swaps/ChainSwapType";
|
|
4
|
+
export declare class InitializeEvent<T extends SwapData> extends SwapEvent<T, SwapEventType.INITIALIZE> {
|
|
5
|
+
readonly eventType: SwapEventType.INITIALIZE;
|
|
6
|
+
swapType: ChainSwapType;
|
|
7
|
+
swapData: () => Promise<T>;
|
|
8
|
+
constructor(escrowHash: string, swapType: ChainSwapType, swapData: () => Promise<T>);
|
|
9
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InitializeEvent = void 0;
|
|
4
|
-
const SwapEvent_1 = require("./SwapEvent");
|
|
5
|
-
class InitializeEvent extends SwapEvent_1.SwapEvent {
|
|
6
|
-
constructor(escrowHash, swapType, swapData) {
|
|
7
|
-
super(escrowHash);
|
|
8
|
-
this.swapType = swapType;
|
|
9
|
-
this.swapData = swapData;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.InitializeEvent = InitializeEvent;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InitializeEvent = void 0;
|
|
4
|
+
const SwapEvent_1 = require("./SwapEvent");
|
|
5
|
+
class InitializeEvent extends SwapEvent_1.SwapEvent {
|
|
6
|
+
constructor(escrowHash, swapType, swapData) {
|
|
7
|
+
super(escrowHash);
|
|
8
|
+
this.swapType = swapType;
|
|
9
|
+
this.swapData = swapData;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.InitializeEvent = InitializeEvent;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SwapEvent, SwapEventType } from "./SwapEvent";
|
|
2
|
-
import { SwapData } from "../../../swaps/SwapData";
|
|
3
|
-
export declare class RefundEvent<T extends SwapData> extends SwapEvent<T, SwapEventType.REFUND> {
|
|
4
|
-
readonly eventType: SwapEventType.REFUND;
|
|
5
|
-
}
|
|
1
|
+
import { SwapEvent, SwapEventType } from "./SwapEvent";
|
|
2
|
+
import { SwapData } from "../../../swaps/SwapData";
|
|
3
|
+
export declare class RefundEvent<T extends SwapData> extends SwapEvent<T, SwapEventType.REFUND> {
|
|
4
|
+
readonly eventType: SwapEventType.REFUND;
|
|
5
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RefundEvent = void 0;
|
|
4
|
-
const SwapEvent_1 = require("./SwapEvent");
|
|
5
|
-
class RefundEvent extends SwapEvent_1.SwapEvent {
|
|
6
|
-
}
|
|
7
|
-
exports.RefundEvent = RefundEvent;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RefundEvent = void 0;
|
|
4
|
+
const SwapEvent_1 = require("./SwapEvent");
|
|
5
|
+
class RefundEvent extends SwapEvent_1.SwapEvent {
|
|
6
|
+
}
|
|
7
|
+
exports.RefundEvent = RefundEvent;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { SwapData } from "../../../swaps/SwapData";
|
|
2
|
-
import { ChainEvent } from "../ChainEvent";
|
|
3
|
-
export declare enum SwapEventType {
|
|
4
|
-
INITIALIZE = 0,
|
|
5
|
-
REFUND = 1,
|
|
6
|
-
CLAIM = 2
|
|
7
|
-
}
|
|
8
|
-
export declare class SwapEvent<T extends SwapData, C extends SwapEventType = SwapEventType> extends ChainEvent<T> {
|
|
9
|
-
readonly eventType: C;
|
|
10
|
-
escrowHash: string;
|
|
11
|
-
constructor(escrowHash: string);
|
|
12
|
-
}
|
|
1
|
+
import { SwapData } from "../../../swaps/SwapData";
|
|
2
|
+
import { ChainEvent } from "../ChainEvent";
|
|
3
|
+
export declare enum SwapEventType {
|
|
4
|
+
INITIALIZE = 0,
|
|
5
|
+
REFUND = 1,
|
|
6
|
+
CLAIM = 2
|
|
7
|
+
}
|
|
8
|
+
export declare class SwapEvent<T extends SwapData, C extends SwapEventType = SwapEventType> extends ChainEvent<T> {
|
|
9
|
+
readonly eventType: C;
|
|
10
|
+
escrowHash: string;
|
|
11
|
+
constructor(escrowHash: string);
|
|
12
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SwapEvent = exports.SwapEventType = void 0;
|
|
4
|
-
const ChainEvent_1 = require("../ChainEvent");
|
|
5
|
-
var SwapEventType;
|
|
6
|
-
(function (SwapEventType) {
|
|
7
|
-
SwapEventType[SwapEventType["INITIALIZE"] = 0] = "INITIALIZE";
|
|
8
|
-
SwapEventType[SwapEventType["REFUND"] = 1] = "REFUND";
|
|
9
|
-
SwapEventType[SwapEventType["CLAIM"] = 2] = "CLAIM";
|
|
10
|
-
})(SwapEventType = exports.SwapEventType || (exports.SwapEventType = {}));
|
|
11
|
-
class SwapEvent extends ChainEvent_1.ChainEvent {
|
|
12
|
-
constructor(escrowHash) {
|
|
13
|
-
super();
|
|
14
|
-
this.escrowHash = escrowHash;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.SwapEvent = SwapEvent;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwapEvent = exports.SwapEventType = void 0;
|
|
4
|
+
const ChainEvent_1 = require("../ChainEvent");
|
|
5
|
+
var SwapEventType;
|
|
6
|
+
(function (SwapEventType) {
|
|
7
|
+
SwapEventType[SwapEventType["INITIALIZE"] = 0] = "INITIALIZE";
|
|
8
|
+
SwapEventType[SwapEventType["REFUND"] = 1] = "REFUND";
|
|
9
|
+
SwapEventType[SwapEventType["CLAIM"] = 2] = "CLAIM";
|
|
10
|
+
})(SwapEventType = exports.SwapEventType || (exports.SwapEventType = {}));
|
|
11
|
+
class SwapEvent extends ChainEvent_1.ChainEvent {
|
|
12
|
+
constructor(escrowHash) {
|
|
13
|
+
super();
|
|
14
|
+
this.escrowHash = escrowHash;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.SwapEvent = SwapEvent;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,38 +1,42 @@
|
|
|
1
|
-
export * from "./btcrelay/BtcRelay";
|
|
2
|
-
export * from "./btc/rpc/BitcoinRpc";
|
|
3
|
-
export * from "./btcrelay/synchronizer/RelaySynchronizer";
|
|
4
|
-
export * from "./btcrelay/types/BtcBlock";
|
|
5
|
-
export * from "./btcrelay/types/BtcHeader";
|
|
6
|
-
export * from "./btcrelay/types/BtcStoredHeader";
|
|
7
|
-
export * from "./btcrelay/utils/StatePredictorUtils";
|
|
8
|
-
export * from "./events/ChainEvents";
|
|
9
|
-
export * from "./events/types/swap/ClaimEvent";
|
|
10
|
-
export * from "./events/types/swap/InitializeEvent";
|
|
11
|
-
export * from "./events/types/swap/RefundEvent";
|
|
12
|
-
export * from "./events/types/swap/SwapEvent";
|
|
13
|
-
export * from "./lockable/Lockable";
|
|
14
|
-
export * from "./storage/IStorageManager";
|
|
15
|
-
export * from "./storage/StorageObject";
|
|
16
|
-
export * from "./swaps/SwapContract";
|
|
17
|
-
export * from "./swaps/SwapData";
|
|
18
|
-
export * from "./swaps/ChainSwapType";
|
|
19
|
-
export * from "./swaps/SwapCommitState";
|
|
20
|
-
export * from "./errors/SignatureVerificationError";
|
|
21
|
-
export * from "./errors/CannotInitializeATAError";
|
|
22
|
-
export * from "./errors/SwapDataVerificationError";
|
|
23
|
-
export * from "./
|
|
24
|
-
export * from "./chains/
|
|
25
|
-
export * from "./
|
|
26
|
-
export * from "./
|
|
27
|
-
export * from "./
|
|
28
|
-
export * from "./
|
|
29
|
-
export * from "./spv_swap/
|
|
30
|
-
export * from "./spv_swap/
|
|
31
|
-
export * from "./spv_swap/
|
|
32
|
-
export * from "./
|
|
33
|
-
export * from "./events/types/
|
|
34
|
-
export * from "./events/types/spv_vault/
|
|
35
|
-
export * from "./events/types/spv_vault/
|
|
36
|
-
export * from "./events/types/spv_vault/
|
|
37
|
-
export * from "./events/types/spv_vault/
|
|
38
|
-
export * from "./events/types/spv_vault/
|
|
1
|
+
export * from "./btcrelay/BtcRelay";
|
|
2
|
+
export * from "./btc/rpc/BitcoinRpc";
|
|
3
|
+
export * from "./btcrelay/synchronizer/RelaySynchronizer";
|
|
4
|
+
export * from "./btcrelay/types/BtcBlock";
|
|
5
|
+
export * from "./btcrelay/types/BtcHeader";
|
|
6
|
+
export * from "./btcrelay/types/BtcStoredHeader";
|
|
7
|
+
export * from "./btcrelay/utils/StatePredictorUtils";
|
|
8
|
+
export * from "./events/ChainEvents";
|
|
9
|
+
export * from "./events/types/swap/ClaimEvent";
|
|
10
|
+
export * from "./events/types/swap/InitializeEvent";
|
|
11
|
+
export * from "./events/types/swap/RefundEvent";
|
|
12
|
+
export * from "./events/types/swap/SwapEvent";
|
|
13
|
+
export * from "./lockable/Lockable";
|
|
14
|
+
export * from "./storage/IStorageManager";
|
|
15
|
+
export * from "./storage/StorageObject";
|
|
16
|
+
export * from "./swaps/SwapContract";
|
|
17
|
+
export * from "./swaps/SwapData";
|
|
18
|
+
export * from "./swaps/ChainSwapType";
|
|
19
|
+
export * from "./swaps/SwapCommitState";
|
|
20
|
+
export * from "./errors/SignatureVerificationError";
|
|
21
|
+
export * from "./errors/CannotInitializeATAError";
|
|
22
|
+
export * from "./errors/SwapDataVerificationError";
|
|
23
|
+
export * from "./errors/TransactionRevertedError";
|
|
24
|
+
export * from "./chains/ChainType";
|
|
25
|
+
export * from "./chains/ChainData";
|
|
26
|
+
export * from "./utils/BigIntBufferUtils";
|
|
27
|
+
export * from "./btc/BitcoinNetwork";
|
|
28
|
+
export * from "./chains/ChainInterface";
|
|
29
|
+
export * from "./spv_swap/SpvVaultContract";
|
|
30
|
+
export * from "./spv_swap/SpvVaultData";
|
|
31
|
+
export * from "./spv_swap/SpvWithdrawalState";
|
|
32
|
+
export * from "./spv_swap/SpvWithdrawalTransactionData";
|
|
33
|
+
export * from "./events/types/ChainEvent";
|
|
34
|
+
export * from "./events/types/spv_vault/SpvVaultEvent";
|
|
35
|
+
export * from "./events/types/spv_vault/SpvVaultCloseEvent";
|
|
36
|
+
export * from "./events/types/spv_vault/SpvVaultClaimEvent";
|
|
37
|
+
export * from "./events/types/spv_vault/SpvVaultDepositEvent";
|
|
38
|
+
export * from "./events/types/spv_vault/SpvVaultOpenEvent";
|
|
39
|
+
export * from "./events/types/spv_vault/SpvVaultFrontEvent";
|
|
40
|
+
export * from "./messaging/Messenger";
|
|
41
|
+
export * from "./messaging/messages/Message";
|
|
42
|
+
export * from "./messaging/messages/SwapClaimWitnessMessage";
|
package/dist/index.js
CHANGED
|
@@ -1,54 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./btcrelay/BtcRelay"), exports);
|
|
18
|
-
__exportStar(require("./btc/rpc/BitcoinRpc"), exports);
|
|
19
|
-
__exportStar(require("./btcrelay/synchronizer/RelaySynchronizer"), exports);
|
|
20
|
-
__exportStar(require("./btcrelay/types/BtcBlock"), exports);
|
|
21
|
-
__exportStar(require("./btcrelay/types/BtcHeader"), exports);
|
|
22
|
-
__exportStar(require("./btcrelay/types/BtcStoredHeader"), exports);
|
|
23
|
-
__exportStar(require("./btcrelay/utils/StatePredictorUtils"), exports);
|
|
24
|
-
__exportStar(require("./events/ChainEvents"), exports);
|
|
25
|
-
__exportStar(require("./events/types/swap/ClaimEvent"), exports);
|
|
26
|
-
__exportStar(require("./events/types/swap/InitializeEvent"), exports);
|
|
27
|
-
__exportStar(require("./events/types/swap/RefundEvent"), exports);
|
|
28
|
-
__exportStar(require("./events/types/swap/SwapEvent"), exports);
|
|
29
|
-
__exportStar(require("./lockable/Lockable"), exports);
|
|
30
|
-
__exportStar(require("./storage/IStorageManager"), exports);
|
|
31
|
-
__exportStar(require("./storage/StorageObject"), exports);
|
|
32
|
-
__exportStar(require("./swaps/SwapContract"), exports);
|
|
33
|
-
__exportStar(require("./swaps/SwapData"), exports);
|
|
34
|
-
__exportStar(require("./swaps/ChainSwapType"), exports);
|
|
35
|
-
__exportStar(require("./swaps/SwapCommitState"), exports);
|
|
36
|
-
__exportStar(require("./errors/SignatureVerificationError"), exports);
|
|
37
|
-
__exportStar(require("./errors/CannotInitializeATAError"), exports);
|
|
38
|
-
__exportStar(require("./errors/SwapDataVerificationError"), exports);
|
|
39
|
-
__exportStar(require("./
|
|
40
|
-
__exportStar(require("./chains/
|
|
41
|
-
__exportStar(require("./
|
|
42
|
-
__exportStar(require("./
|
|
43
|
-
__exportStar(require("./
|
|
44
|
-
__exportStar(require("./
|
|
45
|
-
__exportStar(require("./spv_swap/
|
|
46
|
-
__exportStar(require("./spv_swap/
|
|
47
|
-
__exportStar(require("./spv_swap/
|
|
48
|
-
__exportStar(require("./
|
|
49
|
-
__exportStar(require("./events/types/
|
|
50
|
-
__exportStar(require("./events/types/spv_vault/
|
|
51
|
-
__exportStar(require("./events/types/spv_vault/
|
|
52
|
-
__exportStar(require("./events/types/spv_vault/
|
|
53
|
-
__exportStar(require("./events/types/spv_vault/
|
|
54
|
-
__exportStar(require("./events/types/spv_vault/
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./btcrelay/BtcRelay"), exports);
|
|
18
|
+
__exportStar(require("./btc/rpc/BitcoinRpc"), exports);
|
|
19
|
+
__exportStar(require("./btcrelay/synchronizer/RelaySynchronizer"), exports);
|
|
20
|
+
__exportStar(require("./btcrelay/types/BtcBlock"), exports);
|
|
21
|
+
__exportStar(require("./btcrelay/types/BtcHeader"), exports);
|
|
22
|
+
__exportStar(require("./btcrelay/types/BtcStoredHeader"), exports);
|
|
23
|
+
__exportStar(require("./btcrelay/utils/StatePredictorUtils"), exports);
|
|
24
|
+
__exportStar(require("./events/ChainEvents"), exports);
|
|
25
|
+
__exportStar(require("./events/types/swap/ClaimEvent"), exports);
|
|
26
|
+
__exportStar(require("./events/types/swap/InitializeEvent"), exports);
|
|
27
|
+
__exportStar(require("./events/types/swap/RefundEvent"), exports);
|
|
28
|
+
__exportStar(require("./events/types/swap/SwapEvent"), exports);
|
|
29
|
+
__exportStar(require("./lockable/Lockable"), exports);
|
|
30
|
+
__exportStar(require("./storage/IStorageManager"), exports);
|
|
31
|
+
__exportStar(require("./storage/StorageObject"), exports);
|
|
32
|
+
__exportStar(require("./swaps/SwapContract"), exports);
|
|
33
|
+
__exportStar(require("./swaps/SwapData"), exports);
|
|
34
|
+
__exportStar(require("./swaps/ChainSwapType"), exports);
|
|
35
|
+
__exportStar(require("./swaps/SwapCommitState"), exports);
|
|
36
|
+
__exportStar(require("./errors/SignatureVerificationError"), exports);
|
|
37
|
+
__exportStar(require("./errors/CannotInitializeATAError"), exports);
|
|
38
|
+
__exportStar(require("./errors/SwapDataVerificationError"), exports);
|
|
39
|
+
__exportStar(require("./errors/TransactionRevertedError"), exports);
|
|
40
|
+
__exportStar(require("./chains/ChainType"), exports);
|
|
41
|
+
__exportStar(require("./chains/ChainData"), exports);
|
|
42
|
+
__exportStar(require("./utils/BigIntBufferUtils"), exports);
|
|
43
|
+
__exportStar(require("./btc/BitcoinNetwork"), exports);
|
|
44
|
+
__exportStar(require("./chains/ChainInterface"), exports);
|
|
45
|
+
__exportStar(require("./spv_swap/SpvVaultContract"), exports);
|
|
46
|
+
__exportStar(require("./spv_swap/SpvVaultData"), exports);
|
|
47
|
+
__exportStar(require("./spv_swap/SpvWithdrawalState"), exports);
|
|
48
|
+
__exportStar(require("./spv_swap/SpvWithdrawalTransactionData"), exports);
|
|
49
|
+
__exportStar(require("./events/types/ChainEvent"), exports);
|
|
50
|
+
__exportStar(require("./events/types/spv_vault/SpvVaultEvent"), exports);
|
|
51
|
+
__exportStar(require("./events/types/spv_vault/SpvVaultCloseEvent"), exports);
|
|
52
|
+
__exportStar(require("./events/types/spv_vault/SpvVaultClaimEvent"), exports);
|
|
53
|
+
__exportStar(require("./events/types/spv_vault/SpvVaultDepositEvent"), exports);
|
|
54
|
+
__exportStar(require("./events/types/spv_vault/SpvVaultOpenEvent"), exports);
|
|
55
|
+
__exportStar(require("./events/types/spv_vault/SpvVaultFrontEvent"), exports);
|
|
56
|
+
__exportStar(require("./messaging/Messenger"), exports);
|
|
57
|
+
__exportStar(require("./messaging/messages/Message"), exports);
|
|
58
|
+
__exportStar(require("./messaging/messages/SwapClaimWitnessMessage"), exports);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export declare class Lockable {
|
|
2
|
-
private lockedTill;
|
|
3
|
-
private lockNonce;
|
|
4
|
-
lock(timeoutSeconds: number): (() => boolean) | null;
|
|
5
|
-
isLocked(): boolean;
|
|
6
|
-
}
|
|
1
|
+
export declare class Lockable {
|
|
2
|
+
private lockedTill;
|
|
3
|
+
private lockNonce;
|
|
4
|
+
lock(timeoutSeconds: number): (() => boolean) | null;
|
|
5
|
+
isLocked(): boolean;
|
|
6
|
+
}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Lockable = void 0;
|
|
4
|
-
class Lockable {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.lockedTill = 0;
|
|
7
|
-
this.lockNonce = 0;
|
|
8
|
-
}
|
|
9
|
-
lock(timeoutSeconds) {
|
|
10
|
-
if (this.isLocked()) {
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
this.lockedTill = Date.now() + (timeoutSeconds * 1000);
|
|
14
|
-
this.lockNonce++;
|
|
15
|
-
const lockNonce = this.lockNonce;
|
|
16
|
-
return () => {
|
|
17
|
-
if (this.lockNonce !== lockNonce) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
this.lockedTill = 0;
|
|
21
|
-
return true;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
isLocked() {
|
|
25
|
-
return this.lockedTill > Date.now();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.Lockable = Lockable;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Lockable = void 0;
|
|
4
|
+
class Lockable {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.lockedTill = 0;
|
|
7
|
+
this.lockNonce = 0;
|
|
8
|
+
}
|
|
9
|
+
lock(timeoutSeconds) {
|
|
10
|
+
if (this.isLocked()) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
this.lockedTill = Date.now() + (timeoutSeconds * 1000);
|
|
14
|
+
this.lockNonce++;
|
|
15
|
+
const lockNonce = this.lockNonce;
|
|
16
|
+
return () => {
|
|
17
|
+
if (this.lockNonce !== lockNonce) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
this.lockedTill = 0;
|
|
21
|
+
return true;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
isLocked() {
|
|
25
|
+
return this.lockedTill > Date.now();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.Lockable = Lockable;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Message } from "./messages/Message";
|
|
2
|
+
export interface Messenger {
|
|
3
|
+
init(): Promise<void>;
|
|
4
|
+
broadcast(msg: Message): Promise<void>;
|
|
5
|
+
subscribe(callback: (msg: Message) => void): Promise<void>;
|
|
6
|
+
unsubscribe(callback: (msg: Message) => void): Promise<boolean>;
|
|
7
|
+
stop(): Promise<void>;
|
|
8
|
+
}
|