beignet 0.0.41 → 0.0.42
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/electrum/constants.js +1 -27
- package/dist/electrum/constants.js.map +1 -1
- package/dist/electrum/index.js +13 -8
- package/dist/electrum/index.js.map +1 -1
- package/dist/types/electrum/constants.d.ts +0 -6
- package/dist/types/electrum/index.d.ts +3 -7
- package/dist/types/types/transaction.d.ts +2 -0
- package/dist/types/types/wallet.d.ts +7 -10
- package/dist/types/utils/wallet.d.ts +4 -2
- package/dist/types/wallet/constants.d.ts +1 -0
- package/dist/types/wallet.js.map +1 -1
- package/dist/utils/wallet.js +14 -4
- package/dist/utils/wallet.js.map +1 -1
- package/dist/wallet/constants.js +2 -1
- package/dist/wallet/constants.js.map +1 -1
- package/dist/wallet/index.js +53 -18
- package/dist/wallet/index.js.map +1 -1
- package/example/helpers.ts +8 -1
- package/package.json +3 -2
- package/src/electrum/constants.ts +0 -26
- package/src/electrum/index.ts +10 -5
- package/src/types/transaction.ts +2 -0
- package/src/types/wallet.ts +4 -3
- package/src/utils/wallet.ts +20 -4
- package/src/wallet/constants.ts +1 -0
- package/src/wallet/index.ts +60 -18
- package/tests/electrum.test.ts +7 -1
- package/tests/storage.test.ts +6 -1
- package/tests/transaction.test.ts +6 -1
- package/tests/wallet.test.ts +27 -5
- package/dist/index.d.ts +0 -1188
|
@@ -1,31 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.TEST_MNEMONIC = void 0;
|
|
4
4
|
exports.TEST_MNEMONIC = 'decorate grass round powder swarm syrup identify resemble mass online grunt cruise';
|
|
5
|
-
exports.TESTNET_PEERS = [
|
|
6
|
-
{
|
|
7
|
-
host: 'testnet.hsmiths.com',
|
|
8
|
-
ssl: 53012,
|
|
9
|
-
tcp: 53012,
|
|
10
|
-
protocol: 'ssl'
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
host: 'tn.not.fyi',
|
|
14
|
-
ssl: 55002,
|
|
15
|
-
tcp: 55002,
|
|
16
|
-
protocol: 'ssl'
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
host: 'testnet.aranguren.org',
|
|
20
|
-
ssl: 51002,
|
|
21
|
-
tcp: 51001,
|
|
22
|
-
protocol: 'ssl'
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
host: 'blackie.c3-soft.com',
|
|
26
|
-
ssl: 57006,
|
|
27
|
-
tcp: 57006,
|
|
28
|
-
protocol: 'ssl'
|
|
29
|
-
}
|
|
30
|
-
];
|
|
31
5
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/electrum/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GACzB,oFAAoF,CAAC
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/electrum/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GACzB,oFAAoF,CAAC"}
|
package/dist/electrum/index.js
CHANGED
|
@@ -173,12 +173,14 @@ class Electrum {
|
|
|
173
173
|
addressValues = (0, utils_1.filterAddressesForGapLimit)({
|
|
174
174
|
addresses: addressValues,
|
|
175
175
|
index: addressIndex,
|
|
176
|
-
gapLimitOptions: this._wallet.gapLimitOptions
|
|
176
|
+
gapLimitOptions: this._wallet.gapLimitOptions,
|
|
177
|
+
change: false
|
|
177
178
|
});
|
|
178
179
|
changeAddressValues = (0, utils_1.filterAddressesForGapLimit)({
|
|
179
180
|
addresses: changeAddressValues,
|
|
180
181
|
index: changeAddressIndex,
|
|
181
|
-
gapLimitOptions: this._wallet.gapLimitOptions
|
|
182
|
+
gapLimitOptions: this._wallet.gapLimitOptions,
|
|
183
|
+
change: true
|
|
182
184
|
});
|
|
183
185
|
}
|
|
184
186
|
const utxoScriptHashes = currentWallet.utxos;
|
|
@@ -316,12 +318,14 @@ class Electrum {
|
|
|
316
318
|
addresses = Object.assign(Object.assign({}, addresses), (0, utils_1.filterAddressesObjForGapLimit)({
|
|
317
319
|
addresses: allAddresses,
|
|
318
320
|
index: lowestAddressIndex,
|
|
319
|
-
gapLimitOptions: this._wallet.gapLimitOptions
|
|
321
|
+
gapLimitOptions: this._wallet.gapLimitOptions,
|
|
322
|
+
change: false
|
|
320
323
|
}));
|
|
321
324
|
changeAddresses = Object.assign(Object.assign({}, changeAddresses), (0, utils_1.filterAddressesObjForGapLimit)({
|
|
322
325
|
addresses: allChangeAddresses,
|
|
323
326
|
index: lowestChangeAddressIndex,
|
|
324
|
-
gapLimitOptions: this._wallet.gapLimitOptions
|
|
327
|
+
gapLimitOptions: this._wallet.gapLimitOptions,
|
|
328
|
+
change: true
|
|
325
329
|
}));
|
|
326
330
|
break;
|
|
327
331
|
case types_1.EScanningStrategy.startingIndex:
|
|
@@ -508,7 +512,8 @@ class Electrum {
|
|
|
508
512
|
const addressesInRangeToSubscribe = (0, utils_1.filterAddressesForGapLimit)({
|
|
509
513
|
addresses: Object.values(addresses),
|
|
510
514
|
index: addressIndex,
|
|
511
|
-
gapLimitOptions: this._wallet.gapLimitOptions
|
|
515
|
+
gapLimitOptions: this._wallet.gapLimitOptions,
|
|
516
|
+
change: false
|
|
512
517
|
});
|
|
513
518
|
const _scriptHashes = addressesInRangeToSubscribe.map((address) => address.scriptHash);
|
|
514
519
|
scriptHashes.push(..._scriptHashes);
|
|
@@ -520,7 +525,7 @@ class Electrum {
|
|
|
520
525
|
}
|
|
521
526
|
});
|
|
522
527
|
}
|
|
523
|
-
const
|
|
528
|
+
const allScriptHashesPromises = scriptHashes.map(async (scriptHash) => {
|
|
524
529
|
const response = await electrum.subscribeAddress({
|
|
525
530
|
scriptHash,
|
|
526
531
|
network: this.electrumNetwork,
|
|
@@ -533,7 +538,7 @@ class Electrum {
|
|
|
533
538
|
throw Error('Unable to subscribe to receiving addresses.');
|
|
534
539
|
}
|
|
535
540
|
});
|
|
536
|
-
const
|
|
541
|
+
const allUtxosPromises = allUtxos.map(async (utxo) => {
|
|
537
542
|
const response = await electrum.subscribeAddress({
|
|
538
543
|
scriptHash: utxo.scriptHash,
|
|
539
544
|
network: this.electrumNetwork,
|
|
@@ -552,7 +557,7 @@ class Electrum {
|
|
|
552
557
|
}
|
|
553
558
|
});
|
|
554
559
|
try {
|
|
555
|
-
await Promise.all([
|
|
560
|
+
await Promise.all([...allScriptHashesPromises, ...allUtxosPromises]);
|
|
556
561
|
}
|
|
557
562
|
catch (e) {
|
|
558
563
|
return (0, utils_1.err)(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/electrum/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/electrum/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
import type * as TNet from 'net';
|
|
4
|
-
import type * as TTls from 'tls';
|
|
5
|
-
import { EAddressType, EAvailableNetworks, EElectrumNetworks, EScanningStrategy, IAddress, IElectrumGetAddressBalanceRes, IGetAddressHistoryResponse, IGetAddressScriptHashBalances, IGetAddressTxResponse, IGetTransactions, IGetTransactionsFromInputs, IGetUtxosResponse, IHeader, IPeerData, ITransaction, ITxHash, IUtxo, TConnectToElectrumRes, TGetAddressHistory, TServer, TSubscribedReceive, TUnspentAddressScriptHashData } from '../types';
|
|
1
|
+
import { EAddressType, EAvailableNetworks, EElectrumNetworks, EScanningStrategy, IAddress, IElectrumGetAddressBalanceRes, IGetAddressHistoryResponse, IGetAddressScriptHashBalances, IGetAddressTxResponse, IGetTransactions, IGetTransactionsFromInputs, IGetUtxosResponse, IHeader, IPeerData, ITransaction, ITxHash, IUtxo, Net, TConnectToElectrumRes, TGetAddressHistory, TServer, TSubscribedReceive, TUnspentAddressScriptHashData, Tls } from '../types';
|
|
6
2
|
import { Result } from '../utils';
|
|
7
3
|
import { Wallet } from '../wallet';
|
|
8
4
|
export declare class Electrum {
|
|
@@ -22,8 +18,8 @@ export declare class Electrum {
|
|
|
22
18
|
constructor({ wallet, network, net, tls, servers, batchLimit, batchDelay, onReceive }: {
|
|
23
19
|
wallet: Wallet;
|
|
24
20
|
network: EAvailableNetworks;
|
|
25
|
-
net:
|
|
26
|
-
tls:
|
|
21
|
+
net: Net;
|
|
22
|
+
tls: Tls;
|
|
27
23
|
servers?: TServer | TServer[];
|
|
28
24
|
batchLimit?: number;
|
|
29
25
|
batchDelay?: number;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
1
|
import { Result } from '../utils';
|
|
4
|
-
import { EElectrumNetworks, IHeader, INewBlock, TServer, TTxResult } from './electrum';
|
|
2
|
+
import { EElectrumNetworks, IHeader, INewBlock, Net, TServer, TTxResult, Tls } from './electrum';
|
|
5
3
|
import { EFeeId, TGapLimitOptions } from './transaction';
|
|
6
|
-
import type * as TNet from 'net';
|
|
7
|
-
import type * as TTls from 'tls';
|
|
8
4
|
import { ECPairInterface } from 'ecpair';
|
|
9
5
|
import { BIP32Interface } from 'bip32';
|
|
10
6
|
export type TAvailableNetworks = 'bitcoin' | 'testnet' | 'regtest';
|
|
@@ -72,7 +68,8 @@ export interface IVin {
|
|
|
72
68
|
}
|
|
73
69
|
export interface IFormattedTransaction {
|
|
74
70
|
address: string;
|
|
75
|
-
|
|
71
|
+
blockhash?: string;
|
|
72
|
+
height?: number;
|
|
76
73
|
scriptHash: string;
|
|
77
74
|
totalInputValue: number;
|
|
78
75
|
matchedInputValue: number;
|
|
@@ -164,8 +161,8 @@ export interface IWallet {
|
|
|
164
161
|
data?: IWalletData;
|
|
165
162
|
storage?: TStorage;
|
|
166
163
|
electrumOptions: {
|
|
167
|
-
net:
|
|
168
|
-
tls:
|
|
164
|
+
net: Net;
|
|
165
|
+
tls: Tls;
|
|
169
166
|
servers?: TServer | TServer[];
|
|
170
167
|
batchLimit?: number;
|
|
171
168
|
batchDelay?: number;
|
|
@@ -290,8 +287,8 @@ export interface ITransaction<T> {
|
|
|
290
287
|
};
|
|
291
288
|
}
|
|
292
289
|
export type TTxDetails = {
|
|
293
|
-
blockhash
|
|
294
|
-
confirmations
|
|
290
|
+
blockhash?: string;
|
|
291
|
+
confirmations?: number;
|
|
295
292
|
hash: string;
|
|
296
293
|
hex: string;
|
|
297
294
|
locktime: number;
|
|
@@ -45,15 +45,17 @@ export declare const getTxFee: ({ satsPerByte, transactionByteCount }: {
|
|
|
45
45
|
satsPerByte: number;
|
|
46
46
|
transactionByteCount: number;
|
|
47
47
|
}) => number;
|
|
48
|
-
export declare const filterAddressesForGapLimit: ({ addresses, index, gapLimitOptions }: {
|
|
48
|
+
export declare const filterAddressesForGapLimit: ({ addresses, index, gapLimitOptions, change }: {
|
|
49
49
|
addresses: IAddress[];
|
|
50
50
|
index: number;
|
|
51
51
|
gapLimitOptions: TGapLimitOptions;
|
|
52
|
+
change: boolean;
|
|
52
53
|
}) => IAddress[];
|
|
53
|
-
export declare const filterAddressesObjForGapLimit: ({ addresses, index, gapLimitOptions }: {
|
|
54
|
+
export declare const filterAddressesObjForGapLimit: ({ addresses, index, gapLimitOptions, change }: {
|
|
54
55
|
addresses: IAddresses;
|
|
55
56
|
index: number;
|
|
56
57
|
gapLimitOptions: TGapLimitOptions;
|
|
58
|
+
change: boolean;
|
|
57
59
|
}) => IAddresses;
|
|
58
60
|
export declare const filterAddressesObjForStartingIndex: ({ addresses, index }: {
|
|
59
61
|
addresses: IAddresses;
|
|
@@ -3,6 +3,7 @@ export declare const BITKIT_WALLET_SEED_HASH_PREFIX: Buffer;
|
|
|
3
3
|
export declare const WALLET_ID_PREFIX: Buffer;
|
|
4
4
|
export declare const GENERATE_ADDRESS_AMOUNT = 5;
|
|
5
5
|
export declare const GAP_LIMIT = 20;
|
|
6
|
+
export declare const GAP_LIMIT_CHANGE = 20;
|
|
6
7
|
export declare const DUST_LIMITS: {
|
|
7
8
|
p2pkh: number;
|
|
8
9
|
p2sh: number;
|
package/dist/types/wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":";;;AAyBA,IAAY,kBAQX;AARD,WAAY,kBAAkB;IAC7B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;IAC1B,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;IAC1B,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;AAC3B,CAAC,EARW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAQ7B;AACD,IAAY,YAMX;AAND,WAAY,YAAY;IACvB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,6BAAa,CAAA;AAEd,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACvB,6BAAa,CAAA;IACb,qCAAqB,CAAA;AACtB,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":";;;AAyBA,IAAY,kBAQX;AARD,WAAY,kBAAkB;IAC7B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;IAC1B,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;IAC1B,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;AAC3B,CAAC,EARW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAQ7B;AACD,IAAY,YAMX;AAND,WAAY,YAAY;IACvB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,6BAAa,CAAA;AAEd,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACvB,6BAAa,CAAA;IACb,qCAAqB,CAAA;AACtB,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAwED,IAAY,UAGX;AAHD,WAAY,UAAU;IACrB,yBAAW,CAAA;IACX,2BAAa,CAAA;AACd,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAiQD,IAAY,KAIX;AAJD,WAAY,KAAK;IAChB,4BAAmB,CAAA;IACnB,oBAAW,CAAA;IACX,sBAAa,CAAA;AACd,CAAC,EAJW,KAAK,GAAL,aAAK,KAAL,aAAK,QAIhB"}
|
package/dist/utils/wallet.js
CHANGED
|
@@ -225,8 +225,13 @@ const getStorageKeyValues = (storageKey) => {
|
|
|
225
225
|
exports.getStorageKeyValues = getStorageKeyValues;
|
|
226
226
|
const getTxFee = ({ satsPerByte, transactionByteCount }) => transactionByteCount * satsPerByte;
|
|
227
227
|
exports.getTxFee = getTxFee;
|
|
228
|
-
const filterAddressesForGapLimit = ({ addresses, index, gapLimitOptions }) => {
|
|
229
|
-
const
|
|
228
|
+
const filterAddressesForGapLimit = ({ addresses, index, gapLimitOptions, change }) => {
|
|
229
|
+
const lookBehind = change
|
|
230
|
+
? gapLimitOptions.lookBehindChange
|
|
231
|
+
: gapLimitOptions.lookBehind;
|
|
232
|
+
const lookAhead = change
|
|
233
|
+
? gapLimitOptions.lookAheadChange
|
|
234
|
+
: gapLimitOptions.lookAhead;
|
|
230
235
|
return addresses.filter((a) => {
|
|
231
236
|
if (a.index >= index) {
|
|
232
237
|
return (0, helpers_1.getAddressIndexDiff)(index, a.index) <= lookAhead;
|
|
@@ -235,8 +240,13 @@ const filterAddressesForGapLimit = ({ addresses, index, gapLimitOptions }) => {
|
|
|
235
240
|
});
|
|
236
241
|
};
|
|
237
242
|
exports.filterAddressesForGapLimit = filterAddressesForGapLimit;
|
|
238
|
-
const filterAddressesObjForGapLimit = ({ addresses, index, gapLimitOptions }) => {
|
|
239
|
-
const
|
|
243
|
+
const filterAddressesObjForGapLimit = ({ addresses, index, gapLimitOptions, change }) => {
|
|
244
|
+
const lookBehind = change
|
|
245
|
+
? gapLimitOptions.lookBehindChange
|
|
246
|
+
: gapLimitOptions.lookBehind;
|
|
247
|
+
const lookAhead = change
|
|
248
|
+
? gapLimitOptions.lookAheadChange
|
|
249
|
+
: gapLimitOptions.lookAhead;
|
|
240
250
|
const response = {};
|
|
241
251
|
Object.values(addresses).map((a) => {
|
|
242
252
|
if (a.index >= index) {
|
package/dist/utils/wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/utils/wallet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/utils/wallet.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet/constants.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BLOCKTANK_HOST = exports.TRANSACTION_DEFAULTS = exports.DUST_LIMITS = exports.GAP_LIMIT = exports.GENERATE_ADDRESS_AMOUNT = exports.WALLET_ID_PREFIX = exports.BITKIT_WALLET_SEED_HASH_PREFIX = void 0;
|
|
3
|
+
exports.BLOCKTANK_HOST = exports.TRANSACTION_DEFAULTS = exports.DUST_LIMITS = exports.GAP_LIMIT_CHANGE = exports.GAP_LIMIT = exports.GENERATE_ADDRESS_AMOUNT = exports.WALLET_ID_PREFIX = exports.BITKIT_WALLET_SEED_HASH_PREFIX = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
5
|
exports.BITKIT_WALLET_SEED_HASH_PREFIX = Buffer.from('@Bitkit/wallet-uuid');
|
|
6
6
|
exports.WALLET_ID_PREFIX = Buffer.from('@Beignet/wallet-id');
|
|
7
7
|
exports.GENERATE_ADDRESS_AMOUNT = 5;
|
|
8
8
|
exports.GAP_LIMIT = 20;
|
|
9
|
+
exports.GAP_LIMIT_CHANGE = 20;
|
|
9
10
|
exports.DUST_LIMITS = {
|
|
10
11
|
[types_1.EAddressType.p2pkh]: 546,
|
|
11
12
|
[types_1.EAddressType.p2sh]: 546,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":";;;AAAA,oCAAwC;AAE3B,QAAA,8BAA8B,GAAG,MAAM,CAAC,IAAI,CACxD,qBAAqB,CACrB,CAAC;AAEW,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAGrD,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAG5B,QAAA,SAAS,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":";;;AAAA,oCAAwC;AAE3B,QAAA,8BAA8B,GAAG,MAAM,CAAC,IAAI,CACxD,qBAAqB,CACrB,CAAC;AAEW,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAGrD,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAG5B,QAAA,SAAS,GAAG,EAAE,CAAC;AACf,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEtB,QAAA,WAAW,GAAG;IAC1B,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAE,GAAG;IACzB,CAAC,oBAAY,CAAC,IAAI,CAAC,EAAE,GAAG;IACxB,CAAC,oBAAY,CAAC,MAAM,CAAC,EAAE,GAAG;IAC1B,CAAC,oBAAY,CAAC,IAAI,CAAC,EAAE,GAAG;CACxB,CAAC;AAEW,QAAA,oBAAoB,GAAG;IACnC,kBAAkB,EAAE,GAAG;IACvB,SAAS,EAAE,GAAG;CACd,CAAC;AAEW,QAAA,cAAc,GAAG,+BAA+B,CAAC"}
|
package/dist/wallet/index.js
CHANGED
|
@@ -44,7 +44,9 @@ const bip32 = (0, bip32_1.default)(ecc);
|
|
|
44
44
|
class Wallet {
|
|
45
45
|
constructor({ mnemonic, passphrase, name, network = types_1.EAvailableNetworks.mainnet, addressType = types_1.EAddressType.p2wpkh, storage, electrumOptions, onMessage = () => null, customGetAddress, customGetScriptHash, rbf = false, selectedFeeId = types_1.EFeeId.normal, disableMessages = false, disableMessagesOnCreate = false, addressTypesToMonitor = Object.values(types_1.EAddressType), gapLimitOptions = {
|
|
46
46
|
lookBehind: constants_1.GAP_LIMIT,
|
|
47
|
-
lookAhead: constants_1.GAP_LIMIT
|
|
47
|
+
lookAhead: constants_1.GAP_LIMIT,
|
|
48
|
+
lookBehindChange: constants_1.GAP_LIMIT_CHANGE,
|
|
49
|
+
lookAheadChange: constants_1.GAP_LIMIT_CHANGE
|
|
48
50
|
} }) {
|
|
49
51
|
var _a;
|
|
50
52
|
this._pendingRefreshPromises = [];
|
|
@@ -153,6 +155,12 @@ class Wallet {
|
|
|
153
155
|
: 1,
|
|
154
156
|
lookAhead: (0, utils_1.isPositive)(gapLimitOptions.lookAhead)
|
|
155
157
|
? gapLimitOptions.lookAhead
|
|
158
|
+
: 1,
|
|
159
|
+
lookBehindChange: (0, utils_1.isPositive)(gapLimitOptions.lookBehindChange)
|
|
160
|
+
? gapLimitOptions.lookBehindChange
|
|
161
|
+
: 1,
|
|
162
|
+
lookAheadChange: (0, utils_1.isPositive)(gapLimitOptions.lookAheadChange)
|
|
163
|
+
? gapLimitOptions.lookAheadChange
|
|
156
164
|
: 1
|
|
157
165
|
};
|
|
158
166
|
}
|
|
@@ -666,7 +674,7 @@ class Wallet {
|
|
|
666
674
|
}
|
|
667
675
|
}
|
|
668
676
|
const changeAddressIndexDiff = (0, utils_1.getAddressIndexDiff)(originalHighestStoredChangeIndex.index, lastUsedChangeAddressIndex.index);
|
|
669
|
-
const changeAddressesToGenerate = this.gapLimitOptions.
|
|
677
|
+
const changeAddressesToGenerate = this.gapLimitOptions.lookAheadChange - changeAddressIndexDiff;
|
|
670
678
|
if (changeAddressesToGenerate > 0) {
|
|
671
679
|
const generatedAddresses = await this.addAddresses({
|
|
672
680
|
addressAmount: 0,
|
|
@@ -698,12 +706,14 @@ class Wallet {
|
|
|
698
706
|
let addresses = (0, utils_1.filterAddressesObjForGapLimit)({
|
|
699
707
|
addresses: this._data.addresses[addressType],
|
|
700
708
|
index: addressIndex.index,
|
|
701
|
-
gapLimitOptions: this.gapLimitOptions
|
|
709
|
+
gapLimitOptions: this.gapLimitOptions,
|
|
710
|
+
change: false
|
|
702
711
|
});
|
|
703
712
|
let changeAddresses = (0, utils_1.filterAddressesObjForGapLimit)({
|
|
704
713
|
addresses: this._data.changeAddresses[addressType],
|
|
705
714
|
index: changeAddressIndex.index,
|
|
706
|
-
gapLimitOptions: this.gapLimitOptions
|
|
715
|
+
gapLimitOptions: this.gapLimitOptions,
|
|
716
|
+
change: true
|
|
707
717
|
});
|
|
708
718
|
let allAddresses = Object.values(addresses).filter(({ index }) => index >= addressIndex.index);
|
|
709
719
|
let addressesToScan = allAddresses;
|
|
@@ -766,7 +776,7 @@ class Wallet {
|
|
|
766
776
|
if ((0, utils_1.getAddressIndexDiff)(highestUsedAddressIndex.index, highestStoredAddressIndex.index) >= this.gapLimitOptions.lookAhead) {
|
|
767
777
|
foundLastUsedAddress = true;
|
|
768
778
|
}
|
|
769
|
-
if ((0, utils_1.getAddressIndexDiff)(highestUsedChangeAddressIndex.index, highestStoredChangeAddressIndex.index) >= this.gapLimitOptions.
|
|
779
|
+
if ((0, utils_1.getAddressIndexDiff)(highestUsedChangeAddressIndex.index, highestStoredChangeAddressIndex.index) >= this.gapLimitOptions.lookAheadChange) {
|
|
770
780
|
foundLastUsedChangeAddress = true;
|
|
771
781
|
}
|
|
772
782
|
if (foundLastUsedAddress && foundLastUsedChangeAddress) {
|
|
@@ -821,7 +831,7 @@ class Wallet {
|
|
|
821
831
|
}
|
|
822
832
|
}
|
|
823
833
|
if (!foundLastUsedChangeAddress) {
|
|
824
|
-
const changeAddressAmount = this.gapLimitOptions.
|
|
834
|
+
const changeAddressAmount = this.gapLimitOptions.lookAheadChange -
|
|
825
835
|
(0, utils_1.getAddressIndexDiff)(highestUsedChangeAddressIndex.index, highestStoredChangeAddressIndex.index);
|
|
826
836
|
const newChangeAddresses = await this.addAddresses({
|
|
827
837
|
addressAmount: 0,
|
|
@@ -1002,8 +1012,8 @@ class Wallet {
|
|
|
1002
1012
|
? lastUsedChangeAddressIndex.index
|
|
1003
1013
|
: 0;
|
|
1004
1014
|
const currentChangeAddressGap = Math.abs(changeAddressIndex.index - lastUsedChangeIndex);
|
|
1005
|
-
if (currentChangeAddressGap > this.gapLimitOptions.
|
|
1006
|
-
const excessAmount = currentGap - this.gapLimitOptions.
|
|
1015
|
+
if (currentChangeAddressGap > this.gapLimitOptions.lookBehindChange) {
|
|
1016
|
+
const excessAmount = currentGap - this.gapLimitOptions.lookBehindChange;
|
|
1007
1017
|
const newIndex = addressIndex.index - excessAmount;
|
|
1008
1018
|
const _changeAddressIndex = await this.generateAddresses({
|
|
1009
1019
|
addressType: addressTypeKey,
|
|
@@ -1114,7 +1124,13 @@ class Wallet {
|
|
|
1114
1124
|
: this.gapLimitOptions.lookBehind,
|
|
1115
1125
|
lookAhead: addressDelta > this.gapLimitOptions.lookAhead
|
|
1116
1126
|
? addressDelta
|
|
1117
|
-
: this.gapLimitOptions.lookAhead
|
|
1127
|
+
: this.gapLimitOptions.lookAhead,
|
|
1128
|
+
lookBehindChange: addressDelta > this.gapLimitOptions.lookBehindChange
|
|
1129
|
+
? addressDelta
|
|
1130
|
+
: this.gapLimitOptions.lookBehindChange,
|
|
1131
|
+
lookAheadChange: addressDelta > this.gapLimitOptions.lookAheadChange
|
|
1132
|
+
? addressDelta
|
|
1133
|
+
: this.gapLimitOptions.lookAheadChange
|
|
1118
1134
|
});
|
|
1119
1135
|
}
|
|
1120
1136
|
this._data.addressIndex[addressType] = addressIndex;
|
|
@@ -1209,8 +1225,15 @@ class Wallet {
|
|
|
1209
1225
|
if (!history.value.length) {
|
|
1210
1226
|
return (0, utils_1.ok)(undefined);
|
|
1211
1227
|
}
|
|
1228
|
+
let filteredTxHashes = history.value;
|
|
1229
|
+
if (!replaceStoredTransactions) {
|
|
1230
|
+
filteredTxHashes = history.value.filter((tx) => {
|
|
1231
|
+
var _a, _b;
|
|
1232
|
+
return !((_b = (_a = this.data.transactions[tx.tx_hash]) === null || _a === void 0 ? void 0 : _a.height) !== null && _b !== void 0 ? _b : 0 >= 6);
|
|
1233
|
+
});
|
|
1234
|
+
}
|
|
1212
1235
|
const getTransactionsResponse = await this.electrum.getTransactions({
|
|
1213
|
-
txHashes:
|
|
1236
|
+
txHashes: filteredTxHashes
|
|
1214
1237
|
});
|
|
1215
1238
|
if (getTransactionsResponse.isErr()) {
|
|
1216
1239
|
return (0, utils_1.err)(getTransactionsResponse.error.message);
|
|
@@ -1237,11 +1260,11 @@ class Wallet {
|
|
|
1237
1260
|
const receivedTxs = [];
|
|
1238
1261
|
const sentTxs = [];
|
|
1239
1262
|
Object.keys(transactions).forEach((txid) => {
|
|
1240
|
-
var _a, _b, _c, _d, _e;
|
|
1263
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1241
1264
|
if (!storedTransactions[txid] ||
|
|
1242
1265
|
storedTransactions[txid].height !== transactions[txid].height) {
|
|
1243
1266
|
formattedTransactions[txid] = Object.assign(Object.assign({}, transactions[txid]), { timestamp: (_d = (_b = (_a = storedTransactions[txid]) === null || _a === void 0 ? void 0 : _a.timestamp) !== null && _b !== void 0 ? _b : (_c = transactions[txid]) === null || _c === void 0 ? void 0 : _c.timestamp) !== null && _d !== void 0 ? _d : Date.now() });
|
|
1244
|
-
if (((_e = formattedTransactions[txid]) === null || _e === void 0 ? void 0 : _e.height) > 0)
|
|
1267
|
+
if ((_f = (_e = formattedTransactions[txid]) === null || _e === void 0 ? void 0 : _e.height) !== null && _f !== void 0 ? _f : 0 > 0)
|
|
1245
1268
|
confirmedTxs.push({ transaction: formattedTransactions[txid] });
|
|
1246
1269
|
}
|
|
1247
1270
|
if (!(txid in storedTransactions)) {
|
|
@@ -1299,7 +1322,7 @@ class Wallet {
|
|
|
1299
1322
|
await this.getUtxos({
|
|
1300
1323
|
scanningStrategy: types_1.EScanningStrategy.startingIndex,
|
|
1301
1324
|
addressIndex: lowestIndex - this.gapLimitOptions.lookBehind,
|
|
1302
|
-
changeAddressIndex: lowestIndex - this.gapLimitOptions.
|
|
1325
|
+
changeAddressIndex: lowestIndex - this.gapLimitOptions.lookBehindChange,
|
|
1303
1326
|
addressTypesToCheck: [addressType]
|
|
1304
1327
|
});
|
|
1305
1328
|
}
|
|
@@ -1426,14 +1449,22 @@ class Wallet {
|
|
|
1426
1449
|
async rescanAddresses({ shouldClearAddresses = true, shouldClearTransactions = false }) {
|
|
1427
1450
|
const currentGapLimitOptions = this.gapLimitOptions;
|
|
1428
1451
|
if (currentGapLimitOptions.lookBehind < constants_1.GAP_LIMIT ||
|
|
1429
|
-
currentGapLimitOptions.lookAhead < constants_1.GAP_LIMIT
|
|
1452
|
+
currentGapLimitOptions.lookAhead < constants_1.GAP_LIMIT ||
|
|
1453
|
+
currentGapLimitOptions.lookBehindChange < constants_1.GAP_LIMIT_CHANGE ||
|
|
1454
|
+
currentGapLimitOptions.lookAheadChange < constants_1.GAP_LIMIT_CHANGE) {
|
|
1430
1455
|
this.updateGapLimit({
|
|
1431
1456
|
lookBehind: currentGapLimitOptions.lookBehind < constants_1.GAP_LIMIT
|
|
1432
1457
|
? constants_1.GAP_LIMIT
|
|
1433
1458
|
: currentGapLimitOptions.lookBehind,
|
|
1434
1459
|
lookAhead: currentGapLimitOptions.lookAhead < constants_1.GAP_LIMIT
|
|
1435
1460
|
? constants_1.GAP_LIMIT
|
|
1436
|
-
: currentGapLimitOptions.lookAhead
|
|
1461
|
+
: currentGapLimitOptions.lookAhead,
|
|
1462
|
+
lookBehindChange: currentGapLimitOptions.lookBehindChange < constants_1.GAP_LIMIT_CHANGE
|
|
1463
|
+
? constants_1.GAP_LIMIT_CHANGE
|
|
1464
|
+
: currentGapLimitOptions.lookBehindChange,
|
|
1465
|
+
lookAheadChange: currentGapLimitOptions.lookAheadChange < constants_1.GAP_LIMIT_CHANGE
|
|
1466
|
+
? constants_1.GAP_LIMIT_CHANGE
|
|
1467
|
+
: currentGapLimitOptions.lookAheadChange
|
|
1437
1468
|
});
|
|
1438
1469
|
}
|
|
1439
1470
|
if (shouldClearAddresses) {
|
|
@@ -1625,6 +1656,7 @@ class Wallet {
|
|
|
1625
1656
|
const { address, height, scriptHash } = data;
|
|
1626
1657
|
let timestamp = Date.now();
|
|
1627
1658
|
let confirmTimestamp;
|
|
1659
|
+
const blockhash = result.blockhash;
|
|
1628
1660
|
if (height > 0 && result.blocktime) {
|
|
1629
1661
|
confirmTimestamp = result.blocktime * 1000;
|
|
1630
1662
|
if (confirmTimestamp < timestamp) {
|
|
@@ -1633,6 +1665,7 @@ class Wallet {
|
|
|
1633
1665
|
}
|
|
1634
1666
|
formattedTransactions[txid] = {
|
|
1635
1667
|
address,
|
|
1668
|
+
blockhash,
|
|
1636
1669
|
height,
|
|
1637
1670
|
scriptHash,
|
|
1638
1671
|
totalInputValue,
|
|
@@ -1962,7 +1995,7 @@ class Wallet {
|
|
|
1962
1995
|
addressAmount: indexToUpdate === 'addressIndex' ? this.gapLimitOptions.lookAhead : 0,
|
|
1963
1996
|
addressIndex: index,
|
|
1964
1997
|
changeAddressAmount: indexToUpdate === 'changeAddressIndex'
|
|
1965
|
-
? this.gapLimitOptions.
|
|
1998
|
+
? this.gapLimitOptions.lookAheadChange
|
|
1966
1999
|
: 0,
|
|
1967
2000
|
changeAddressIndex: index,
|
|
1968
2001
|
addressType,
|
|
@@ -2415,8 +2448,10 @@ class Wallet {
|
|
|
2415
2448
|
return (0, utils_1.err)('No gap limit options provided.');
|
|
2416
2449
|
}
|
|
2417
2450
|
if (!(0, utils_1.isPositive)(gapLimitOptions.lookAhead) ||
|
|
2418
|
-
!(0, utils_1.isPositive)(gapLimitOptions.lookBehind)
|
|
2419
|
-
|
|
2451
|
+
!(0, utils_1.isPositive)(gapLimitOptions.lookBehind) ||
|
|
2452
|
+
!(0, utils_1.isPositive)(gapLimitOptions.lookAheadChange) ||
|
|
2453
|
+
!(0, utils_1.isPositive)(gapLimitOptions.lookBehindChange)) {
|
|
2454
|
+
return (0, utils_1.err)('All gap limit options must be positive.');
|
|
2420
2455
|
}
|
|
2421
2456
|
this.gapLimitOptions = gapLimitOptions;
|
|
2422
2457
|
return (0, utils_1.ok)(this.gapLimitOptions);
|