@arkade-os/sdk 0.4.18 → 0.4.20
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/dist/cjs/contracts/contractWatcher.js +7 -1
- package/dist/cjs/contracts/handlers/default.js +10 -3
- package/dist/cjs/contracts/handlers/helpers.js +47 -5
- package/dist/cjs/contracts/handlers/vhtlc.js +4 -2
- package/dist/cjs/identity/descriptor.js +98 -0
- package/dist/cjs/identity/descriptorProvider.js +2 -0
- package/dist/cjs/identity/index.js +15 -1
- package/dist/cjs/identity/seedIdentity.js +91 -6
- package/dist/cjs/identity/serialize.js +166 -0
- package/dist/cjs/identity/staticDescriptorProvider.js +65 -0
- package/dist/cjs/index.js +6 -3
- package/dist/cjs/providers/ark.js +45 -34
- package/dist/cjs/providers/electrum.js +663 -0
- package/dist/cjs/providers/indexer.js +5 -1
- package/dist/cjs/providers/utils.js +4 -0
- package/dist/cjs/wallet/ramps.js +1 -1
- package/dist/cjs/wallet/serviceWorker/wallet-message-handler.js +10 -0
- package/dist/cjs/wallet/serviceWorker/wallet.js +137 -91
- package/dist/cjs/wallet/vtxo-manager.js +133 -17
- package/dist/cjs/wallet/wallet.js +80 -19
- package/dist/cjs/worker/messageBus.js +200 -56
- package/dist/esm/contracts/contractWatcher.js +7 -1
- package/dist/esm/contracts/handlers/default.js +10 -3
- package/dist/esm/contracts/handlers/helpers.js +47 -5
- package/dist/esm/contracts/handlers/vhtlc.js +4 -2
- package/dist/esm/identity/descriptor.js +92 -0
- package/dist/esm/identity/descriptorProvider.js +1 -0
- package/dist/esm/identity/index.js +6 -1
- package/dist/esm/identity/seedIdentity.js +89 -6
- package/dist/esm/identity/serialize.js +159 -0
- package/dist/esm/identity/staticDescriptorProvider.js +61 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/providers/ark.js +46 -35
- package/dist/esm/providers/electrum.js +658 -0
- package/dist/esm/providers/indexer.js +6 -2
- package/dist/esm/providers/utils.js +3 -0
- package/dist/esm/wallet/ramps.js +1 -1
- package/dist/esm/wallet/serviceWorker/wallet-message-handler.js +10 -0
- package/dist/esm/wallet/serviceWorker/wallet.js +137 -91
- package/dist/esm/wallet/vtxo-manager.js +133 -17
- package/dist/esm/wallet/wallet.js +80 -19
- package/dist/esm/worker/messageBus.js +201 -57
- package/dist/types/contracts/handlers/default.d.ts +1 -1
- package/dist/types/contracts/handlers/helpers.d.ts +1 -1
- package/dist/types/contracts/types.d.ts +11 -3
- package/dist/types/identity/descriptor.d.ts +35 -0
- package/dist/types/identity/descriptorProvider.d.ts +28 -0
- package/dist/types/identity/index.d.ts +7 -1
- package/dist/types/identity/seedIdentity.d.ts +41 -4
- package/dist/types/identity/serialize.d.ts +84 -0
- package/dist/types/identity/staticDescriptorProvider.d.ts +18 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/providers/electrum.d.ts +212 -0
- package/dist/types/providers/utils.d.ts +1 -0
- package/dist/types/wallet/serviceWorker/wallet-message-handler.d.ts +11 -2
- package/dist/types/wallet/serviceWorker/wallet.d.ts +27 -10
- package/dist/types/wallet/vtxo-manager.d.ts +15 -0
- package/dist/types/wallet/wallet.d.ts +3 -0
- package/dist/types/worker/messageBus.d.ts +68 -8
- package/package.json +3 -2
package/dist/cjs/index.js
CHANGED
|
@@ -36,9 +36,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
};
|
|
37
37
|
})();
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
40
|
-
exports.
|
|
41
|
-
exports.isArkContract = exports.contractFromArkContractWithAddress = exports.contractFromArkContract = exports.decodeArkContract = void 0;
|
|
39
|
+
exports.ArkPsbtFieldKeyType = exports.ArkPsbtFieldKey = exports.TapTreeCoder = exports.CLTVMultisigTapscript = exports.ConditionMultisigTapscript = exports.ConditionCSVMultisigTapscript = exports.CSVMultisigTapscript = exports.MultisigTapscript = exports.decodeTapscript = exports.DEFAULT_MESSAGE_TIMEOUTS = exports.ServiceWorkerReadonlyWallet = exports.ServiceWorkerWallet = exports.ServiceWorkerTimeoutError = exports.MessageBusNotInitializedError = exports.MESSAGE_BUS_NOT_INITIALIZED = exports.DelegatorNotConfiguredError = exports.ReadonlyWalletError = exports.WalletNotInitializedError = exports.WalletMessageHandler = exports.MessageBus = exports.setupServiceWorker = exports.SettlementEventType = exports.ChainTxType = exports.IndexerTxType = exports.TxType = exports.VHTLC = exports.VtxoScript = exports.DelegateVtxo = exports.DefaultVtxo = exports.ArkAddress = exports.RestIndexerProvider = exports.RestArkProvider = exports.WsElectrumChainSource = exports.ElectrumOnchainProvider = exports.EsploraProvider = exports.ESPLORA_URL = exports.RestDelegatorProvider = exports.DelegatorManagerImpl = exports.VtxoManager = exports.Ramps = exports.OnchainWallet = exports.isBatchSignable = exports.ReadonlyDescriptorIdentity = exports.MnemonicIdentity = exports.SeedIdentity = exports.ReadonlySingleKey = exports.SingleKey = exports.ReadonlyWallet = exports.Wallet = exports.asset = void 0;
|
|
40
|
+
exports.DelegateContractHandler = exports.DefaultContractHandler = exports.contractHandlers = exports.ContractWatcher = exports.ContractManager = exports.getSequence = exports.isExpired = exports.isSubdust = exports.isSpendable = exports.isRecoverable = exports.buildForfeitTx = exports.validateConnectorsTxGraph = exports.validateVtxoTxGraph = exports.Batch = exports.maybeArkError = exports.ArkError = exports.Transaction = exports.Unroll = exports.P2A = exports.TxTree = exports.BIP322 = exports.Intent = exports.ContractRepositoryImpl = exports.WalletRepositoryImpl = exports.rollbackMigration = exports.getMigrationStatus = exports.requiresMigration = exports.migrateWalletRepository = exports.MIGRATION_KEY = exports.InMemoryContractRepository = exports.InMemoryWalletRepository = exports.IndexedDBContractRepository = exports.IndexedDBWalletRepository = exports.openDatabase = exports.closeDatabase = exports.networks = exports.ArkNote = exports.isValidArkAddress = exports.isVtxoExpiringSoon = exports.combineTapscriptSigs = exports.hasBoardingTxExpired = exports.waitForIncomingFunds = exports.verifyTapscriptSignatures = exports.buildOffchainTx = exports.ConditionWitness = exports.VtxoTaprootTree = exports.VtxoTreeExpiry = exports.CosignerPublicKey = exports.getArkPsbtFields = exports.setArkPsbtField = void 0;
|
|
41
|
+
exports.isArkContract = exports.contractFromArkContractWithAddress = exports.contractFromArkContract = exports.decodeArkContract = exports.encodeArkContract = exports.VHTLCContractHandler = void 0;
|
|
42
42
|
const transaction_1 = require("./utils/transaction");
|
|
43
43
|
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
44
44
|
const singleKey_1 = require("./identity/singleKey");
|
|
@@ -94,6 +94,9 @@ Object.defineProperty(exports, "setupServiceWorker", { enumerable: true, get: fu
|
|
|
94
94
|
const onchain_2 = require("./providers/onchain");
|
|
95
95
|
Object.defineProperty(exports, "ESPLORA_URL", { enumerable: true, get: function () { return onchain_2.ESPLORA_URL; } });
|
|
96
96
|
Object.defineProperty(exports, "EsploraProvider", { enumerable: true, get: function () { return onchain_2.EsploraProvider; } });
|
|
97
|
+
const electrum_1 = require("./providers/electrum");
|
|
98
|
+
Object.defineProperty(exports, "ElectrumOnchainProvider", { enumerable: true, get: function () { return electrum_1.ElectrumOnchainProvider; } });
|
|
99
|
+
Object.defineProperty(exports, "WsElectrumChainSource", { enumerable: true, get: function () { return electrum_1.WsElectrumChainSource; } });
|
|
97
100
|
const ark_1 = require("./providers/ark");
|
|
98
101
|
Object.defineProperty(exports, "RestArkProvider", { enumerable: true, get: function () { return ark_1.RestArkProvider; } });
|
|
99
102
|
Object.defineProperty(exports, "SettlementEventType", { enumerable: true, get: function () { return ark_1.SettlementEventType; } });
|
|
@@ -231,28 +231,21 @@ class RestArkProvider {
|
|
|
231
231
|
const queryParams = topics.length > 0
|
|
232
232
|
? `?${topics.map((topic) => `topics=${encodeURIComponent(topic)}`).join("&")}`
|
|
233
233
|
: "";
|
|
234
|
-
//
|
|
235
|
-
//
|
|
236
|
-
//
|
|
237
|
-
|
|
238
|
-
|
|
234
|
+
// The EventSource is allocated inside the generator body so that
|
|
235
|
+
// abandoning the returned iterator before iteration starts does not
|
|
236
|
+
// leak the underlying SSE connection. `return()` is overridden below
|
|
237
|
+
// so that closing the generator also closes the connection even when
|
|
238
|
+
// the body is currently suspended at an await point.
|
|
239
|
+
let eventSource = null;
|
|
239
240
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
240
241
|
const self = this;
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
? eagerIterator
|
|
249
|
-
: (0, utils_1.eventSourceIterator)(eventSource);
|
|
250
|
-
firstIteration = false;
|
|
251
|
-
try {
|
|
252
|
-
const abortHandler = () => {
|
|
253
|
-
eventSource.close();
|
|
254
|
-
};
|
|
255
|
-
signal?.addEventListener("abort", abortHandler);
|
|
242
|
+
const gen = (async function* () {
|
|
243
|
+
const abortHandler = () => eventSource?.close();
|
|
244
|
+
signal?.addEventListener("abort", abortHandler);
|
|
245
|
+
try {
|
|
246
|
+
while (!signal?.aborted) {
|
|
247
|
+
eventSource = new EventSource(url + queryParams);
|
|
248
|
+
const iterator = (0, utils_1.eventSourceIterator)(eventSource);
|
|
256
249
|
try {
|
|
257
250
|
for await (const event of iterator) {
|
|
258
251
|
if (signal?.aborted)
|
|
@@ -270,25 +263,39 @@ class RestArkProvider {
|
|
|
270
263
|
}
|
|
271
264
|
}
|
|
272
265
|
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
if (signal?.aborted ||
|
|
268
|
+
(error instanceof Error &&
|
|
269
|
+
error.name === "AbortError")) {
|
|
270
|
+
break;
|
|
271
|
+
}
|
|
272
|
+
// ignore timeout errors, they're expected when the server is not sending anything for 5 min
|
|
273
|
+
if (isFetchTimeoutError(error)) {
|
|
274
|
+
console.debug("Timeout error ignored");
|
|
275
|
+
continue;
|
|
276
|
+
}
|
|
277
|
+
if ((0, utils_1.isEventSourceError)(error)) {
|
|
278
|
+
throw error;
|
|
279
|
+
}
|
|
280
|
+
console.error("Event stream error:", error);
|
|
281
|
+
throw error;
|
|
282
|
+
}
|
|
273
283
|
finally {
|
|
274
|
-
signal?.removeEventListener("abort", abortHandler);
|
|
275
284
|
eventSource.close();
|
|
276
285
|
}
|
|
277
286
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
// ignore timeout errors, they're expected when the server is not sending anything for 5 min
|
|
283
|
-
if (isFetchTimeoutError(error)) {
|
|
284
|
-
console.debug("Timeout error ignored");
|
|
285
|
-
continue;
|
|
286
|
-
}
|
|
287
|
-
console.error("Event stream error:", error);
|
|
288
|
-
throw error;
|
|
289
|
-
}
|
|
287
|
+
}
|
|
288
|
+
finally {
|
|
289
|
+
signal?.removeEventListener("abort", abortHandler);
|
|
290
|
+
eventSource?.close();
|
|
290
291
|
}
|
|
291
292
|
})();
|
|
293
|
+
const origReturn = gen.return.bind(gen);
|
|
294
|
+
gen.return = (value) => {
|
|
295
|
+
eventSource?.close();
|
|
296
|
+
return origReturn(value);
|
|
297
|
+
};
|
|
298
|
+
return gen;
|
|
292
299
|
}
|
|
293
300
|
async *getTransactionsStream(signal) {
|
|
294
301
|
const url = `${this.serverUrl}/v1/txs`;
|
|
@@ -323,7 +330,8 @@ class RestArkProvider {
|
|
|
323
330
|
}
|
|
324
331
|
}
|
|
325
332
|
catch (error) {
|
|
326
|
-
if (
|
|
333
|
+
if (signal?.aborted ||
|
|
334
|
+
(error instanceof Error && error.name === "AbortError")) {
|
|
327
335
|
break;
|
|
328
336
|
}
|
|
329
337
|
// ignore timeout errors, they're expected when the server is not sending anything for 5 min
|
|
@@ -331,6 +339,9 @@ class RestArkProvider {
|
|
|
331
339
|
console.debug("Timeout error ignored");
|
|
332
340
|
continue;
|
|
333
341
|
}
|
|
342
|
+
if ((0, utils_1.isEventSourceError)(error)) {
|
|
343
|
+
throw error;
|
|
344
|
+
}
|
|
334
345
|
console.error("Transaction stream error:", error);
|
|
335
346
|
throw error;
|
|
336
347
|
}
|