@ledgerhq/coin-bitcoin 0.10.4 → 0.11.0-next.0

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/signer.d.ts +8 -1
  3. package/lib/signer.d.ts.map +1 -1
  4. package/lib/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.js +32 -0
  5. package/lib/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.js.map +1 -1
  6. package/lib/wallet-btc/__tests__/wallet.explorer.unit.test.js +137 -0
  7. package/lib/wallet-btc/__tests__/wallet.explorer.unit.test.js.map +1 -1
  8. package/lib/wallet-btc/__tests__/xpub.txs.zcash.integration.test.d.ts +2 -0
  9. package/lib/wallet-btc/__tests__/xpub.txs.zcash.integration.test.d.ts.map +1 -0
  10. package/lib/wallet-btc/__tests__/xpub.txs.zcash.integration.test.js +157 -0
  11. package/lib/wallet-btc/__tests__/xpub.txs.zcash.integration.test.js.map +1 -0
  12. package/lib/wallet-btc/explorer/index.d.ts.map +1 -1
  13. package/lib/wallet-btc/explorer/index.js +3 -1
  14. package/lib/wallet-btc/explorer/index.js.map +1 -1
  15. package/lib/wallet-btc/storage/types.d.ts +1 -0
  16. package/lib/wallet-btc/storage/types.d.ts.map +1 -1
  17. package/lib/wallet-btc/wallet.d.ts.map +1 -1
  18. package/lib/wallet-btc/wallet.js +6 -2
  19. package/lib/wallet-btc/wallet.js.map +1 -1
  20. package/lib/wallet-btc/xpub.d.ts.map +1 -1
  21. package/lib/wallet-btc/xpub.js +1 -0
  22. package/lib/wallet-btc/xpub.js.map +1 -1
  23. package/lib-es/signer.d.ts +8 -1
  24. package/lib-es/signer.d.ts.map +1 -1
  25. package/lib-es/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.js +32 -0
  26. package/lib-es/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.js.map +1 -1
  27. package/lib-es/wallet-btc/__tests__/wallet.explorer.unit.test.js +137 -0
  28. package/lib-es/wallet-btc/__tests__/wallet.explorer.unit.test.js.map +1 -1
  29. package/lib-es/wallet-btc/__tests__/xpub.txs.zcash.integration.test.d.ts +2 -0
  30. package/lib-es/wallet-btc/__tests__/xpub.txs.zcash.integration.test.d.ts.map +1 -0
  31. package/lib-es/wallet-btc/__tests__/xpub.txs.zcash.integration.test.js +152 -0
  32. package/lib-es/wallet-btc/__tests__/xpub.txs.zcash.integration.test.js.map +1 -0
  33. package/lib-es/wallet-btc/explorer/index.d.ts.map +1 -1
  34. package/lib-es/wallet-btc/explorer/index.js +3 -1
  35. package/lib-es/wallet-btc/explorer/index.js.map +1 -1
  36. package/lib-es/wallet-btc/storage/types.d.ts +1 -0
  37. package/lib-es/wallet-btc/storage/types.d.ts.map +1 -1
  38. package/lib-es/wallet-btc/wallet.d.ts.map +1 -1
  39. package/lib-es/wallet-btc/wallet.js +6 -2
  40. package/lib-es/wallet-btc/wallet.js.map +1 -1
  41. package/lib-es/wallet-btc/xpub.d.ts.map +1 -1
  42. package/lib-es/wallet-btc/xpub.js +1 -0
  43. package/lib-es/wallet-btc/xpub.js.map +1 -1
  44. package/package.json +4 -4
  45. package/src/signer.ts +12 -1
  46. package/src/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.ts +42 -0
  47. package/src/wallet-btc/__tests__/wallet.explorer.unit.test.ts +150 -0
  48. package/src/wallet-btc/__tests__/xpub.txs.zcash.integration.test.ts +166 -0
  49. package/src/wallet-btc/explorer/index.ts +4 -1
  50. package/src/wallet-btc/storage/types.ts +1 -0
  51. package/src/wallet-btc/wallet.ts +7 -2
  52. package/src/wallet-btc/xpub.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @ledgerhq/coin-bitcoin
2
2
 
3
+ ## 0.11.0-next.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#9121](https://github.com/LedgerHQ/ledger-live/pull/9121) [`035be8c`](https://github.com/LedgerHQ/ledger-live/commit/035be8ccb81c61ee99688e0a4b078cb50d90dcf5) Thanks [@Wozacosta](https://github.com/Wozacosta)! - fix: zcash nu5/nu6
8
+
9
+ - [#9191](https://github.com/LedgerHQ/ledger-live/pull/9191) [`2f610d0`](https://github.com/LedgerHQ/ledger-live/commit/2f610d0a4ddafbd58cd0fb86fd989a08de5344d8) Thanks [@qperrot](https://github.com/qperrot)! - fix Send max with pending utxo
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [[`da67b55`](https://github.com/LedgerHQ/ledger-live/commit/da67b5511b22553f7e3e089eca2e363a5e3cbffe), [`0a4413d`](https://github.com/LedgerHQ/ledger-live/commit/0a4413dd5cf50967c27b39bbd7dd9222e6322a60)]:
14
+ - @ledgerhq/cryptoassets@13.12.0-next.0
15
+ - @ledgerhq/coin-framework@2.1.0-next.0
16
+ - @ledgerhq/types-live@6.60.0-next.0
17
+
3
18
  ## 0.10.4
4
19
 
5
20
  ### Patch Changes
package/lib/signer.d.ts CHANGED
@@ -48,11 +48,18 @@ export type SignerTransaction = {
48
48
  extraData?: Buffer;
49
49
  };
50
50
  export type CreateTransaction = {
51
- inputs: Array<[SignerTransaction, number, string | null | undefined, number | null | undefined]>;
51
+ inputs: Array<[SignerTransaction, number, string | null | undefined, number | null | undefined]> | Array<[
52
+ SignerTransaction,
53
+ number,
54
+ string | null | undefined,
55
+ number | null | undefined,
56
+ number | null | undefined
57
+ ]>;
52
58
  associatedKeysets: string[];
53
59
  changePath?: string | undefined;
54
60
  outputScriptHex: string;
55
61
  lockTime?: number | undefined;
62
+ blockHeight?: number | undefined;
56
63
  sigHashType?: number | undefined;
57
64
  segwit?: boolean | undefined;
58
65
  additionals: Array<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"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"}
@@ -65,5 +65,37 @@ describe("testing estimateMaxSpendable", () => {
65
65
  maxSpendable = await wallet.estimateAccountMaxSpendable(account, feesPerByte, []);
66
66
  expect(maxSpendable.toNumber()).toEqual(0);
67
67
  }, 120000);
68
+ it("should generate a new account", async () => {
69
+ account = await wallet.generateAccount({
70
+ xpub: "xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz", // 5400ms
71
+ path: "44'/0'",
72
+ index: 0,
73
+ currency: "bitcoin",
74
+ network: "mainnet",
75
+ derivationMode: types_1.DerivationModes.LEGACY,
76
+ }, (0, cryptoassets_1.getCryptoCurrencyById)("bitcoin"));
77
+ expect(account.xpub.xpub).toEqual("xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz");
78
+ });
79
+ it("should estimate max spendable correctly with utxo rbf set to true", async () => {
80
+ await wallet.syncAccount(account);
81
+ let maxSpendable = await wallet.estimateAccountMaxSpendable(account, 0, []);
82
+ const balance = 12706308;
83
+ expect(maxSpendable.toNumber()).toEqual(balance);
84
+ const maxSpendableExcludeUtxo = await wallet.estimateAccountMaxSpendable(account, 0, [
85
+ {
86
+ hash: "a24445474a9a7c0698e8db221ad2cae06792a899e9bc7f5a590687c3c810c480",
87
+ outputIndex: 0,
88
+ },
89
+ ]);
90
+ expect(maxSpendableExcludeUtxo.toNumber()).toEqual(balance - 1000);
91
+ let feesPerByte = 100;
92
+ maxSpendable = await wallet.estimateAccountMaxSpendable(account, feesPerByte, []);
93
+ expect(maxSpendable.toNumber()).toEqual(balance -
94
+ feesPerByte *
95
+ utils.maxTxSizeCeil(18, [], true, account.xpub.crypto, account.xpub.derivationMode));
96
+ feesPerByte = 10000;
97
+ maxSpendable = await wallet.estimateAccountMaxSpendable(account, feesPerByte, []);
98
+ expect(maxSpendable.toNumber()).toEqual(0);
99
+ }, 120000);
68
100
  });
69
101
  //# sourceMappingURL=wallet.estimateMaxSpendable.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.estimateMaxSpendable.integration.test.js","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA2C;AAC3C,uDAA0C;AAC1C,gDAAkC;AAElC,yDAA+D;AAE/D,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,MAAM,MAAM,GAAG,IAAI,gBAAiB,EAAE,CAAC;IACvC,IAAI,OAAgB,CAAC;IACrB,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,CACpC;YACE,IAAI,EAAE,iHAAiH;YACvH,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,uBAAe,CAAC,MAAM;SACvC,EACD,IAAA,oCAAqB,EAAC,SAAS,CAAC,CACjC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAC/B,iHAAiH,CAClH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,YAAY,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,uBAAuB,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,EAAE;YACnF;gBACE,IAAI,EAAE,kEAAkE;gBACxE,WAAW,EAAE,CAAC;aACf;SACF,CAAC,CAAC;QACH,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACnE,IAAI,WAAW,GAAG,GAAG,CAAC;QACtB,YAAY,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CACrC,OAAO;YACL,WAAW;gBACT,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CACvF,CAAC;QACF,WAAW,GAAG,KAAK,CAAC;QACpB,YAAY,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"wallet.estimateMaxSpendable.integration.test.js","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/wallet.estimateMaxSpendable.integration.test.ts"],"names":[],"mappings":"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"}
@@ -176,5 +176,142 @@ describe("BitcoinApi", () => {
176
176
  expect(tx.data.result).toEqual("f3a2aebc6cf6f27a04d95809a97b78e78a47b100672612eac07f17dd5ff56474");
177
177
  });
178
178
  });
179
+ describe("hydrateTx unit test rbf", () => {
180
+ let mockAddress;
181
+ beforeEach(() => {
182
+ mockAddress = {
183
+ account: 0,
184
+ index: 0,
185
+ address: "mock_address",
186
+ };
187
+ });
188
+ it("should mark outputs as replaceable when at least one input has RBF enabled", () => {
189
+ const mockTx = {
190
+ id: "mock_tx_1",
191
+ received_at: "2024-02-11T12:00:00Z",
192
+ account: 1,
193
+ index: 0,
194
+ address: "mock_address",
195
+ block: null,
196
+ inputs: [
197
+ {
198
+ value: "100000",
199
+ address: "input_address_1",
200
+ output_hash: "prev_tx_hash_1",
201
+ output_index: 0,
202
+ sequence: 0xfffffffd,
203
+ },
204
+ ],
205
+ outputs: [
206
+ {
207
+ value: "99000",
208
+ address: "output_address_1",
209
+ output_hash: "mock_tx_1",
210
+ output_index: 0,
211
+ block_height: null,
212
+ rbf: false,
213
+ },
214
+ ],
215
+ fees: 1000,
216
+ };
217
+ explorer.hydrateTx(mockAddress, mockTx);
218
+ expect(mockTx.outputs[0].rbf).toBe(true);
219
+ });
220
+ it("should not mark outputs as replaceable when all inputs have max sequence (non-RBF)", () => {
221
+ const mockTx = {
222
+ id: "mock_tx_2",
223
+ received_at: "2024-02-11T12:00:00Z",
224
+ account: 1,
225
+ index: 0,
226
+ address: "mock_address",
227
+ block: null,
228
+ inputs: [
229
+ {
230
+ value: "100000",
231
+ address: "input_address_1",
232
+ output_hash: "prev_tx_hash_1",
233
+ output_index: 0,
234
+ sequence: 0xfffffffe,
235
+ },
236
+ ],
237
+ outputs: [
238
+ {
239
+ value: "99000",
240
+ address: "output_address_1",
241
+ output_hash: "mock_tx_2",
242
+ output_index: 0,
243
+ block_height: null,
244
+ rbf: false,
245
+ },
246
+ ],
247
+ fees: 1000,
248
+ };
249
+ explorer.hydrateTx(mockAddress, mockTx);
250
+ expect(mockTx.outputs[0].rbf).toBe(false);
251
+ });
252
+ it("should mark outputs as replaceable when at least one input has RBF enabled (multi-input case)", () => {
253
+ const mockTx = {
254
+ id: "mock_tx_3",
255
+ received_at: "2024-02-11T12:00:00Z",
256
+ account: 1,
257
+ index: 0,
258
+ address: "mock_address",
259
+ block: null,
260
+ inputs: [
261
+ {
262
+ value: "100000",
263
+ address: "input_address_1",
264
+ output_hash: "prev_tx_hash_1",
265
+ output_index: 0,
266
+ sequence: 0xffffffff,
267
+ },
268
+ {
269
+ value: "100000",
270
+ address: "input_address_2",
271
+ output_hash: "prev_tx_hash_1",
272
+ output_index: 0,
273
+ sequence: 0xfffffffd,
274
+ },
275
+ ],
276
+ outputs: [
277
+ {
278
+ value: "99000",
279
+ address: "output_address_1",
280
+ output_hash: "mock_tx_3",
281
+ output_index: 0,
282
+ block_height: null,
283
+ rbf: false,
284
+ },
285
+ ],
286
+ fees: 1000,
287
+ };
288
+ explorer.hydrateTx(mockAddress, mockTx);
289
+ expect(mockTx.outputs[0].rbf).toBe(true);
290
+ });
291
+ it("should handle an empty input list gracefully", () => {
292
+ const mockTx = {
293
+ id: "mock_tx_4",
294
+ received_at: "2024-02-11T12:00:00Z",
295
+ account: 1,
296
+ index: 0,
297
+ address: "mock_address",
298
+ block: null,
299
+ inputs: [],
300
+ outputs: [
301
+ {
302
+ value: "99000",
303
+ address: "output_address_1",
304
+ output_hash: "mock_tx_4",
305
+ output_index: 0,
306
+ block_height: null,
307
+ rbf: false,
308
+ },
309
+ ],
310
+ fees: 1000,
311
+ };
312
+ explorer.hydrateTx(mockAddress, mockTx);
313
+ expect(mockTx.outputs[0].rbf).toBe(false);
314
+ });
315
+ });
179
316
  });
180
317
  //# sourceMappingURL=wallet.explorer.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.explorer.unit.test.js","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/wallet.explorer.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.explorer.unit.test.js","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/wallet.explorer.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=xpub.txs.zcash.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xpub.txs.zcash.integration.test.d.ts","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/xpub.txs.zcash.integration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const coininfo_1 = __importDefault(require("coininfo"));
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const types_1 = require("../types");
9
+ const xpub_1 = __importDefault(require("../xpub"));
10
+ const explorer_1 = __importDefault(require("../explorer"));
11
+ const storage_1 = __importDefault(require("../storage"));
12
+ const Merge_1 = require("../pickingstrategies/Merge");
13
+ const wallet_1 = __importDefault(require("../wallet"));
14
+ const mockBtcSigner_1 = __importDefault(require("../../mockBtcSigner"));
15
+ const cryptoassets_1 = require("@ledgerhq/cryptoassets");
16
+ const zec_1 = __importDefault(require("../crypto/zec"));
17
+ describe("testing zcash transactions", () => {
18
+ const wallet = new wallet_1.default();
19
+ const explorer = new explorer_1.default({
20
+ cryptoCurrency: (0, cryptoassets_1.getCryptoCurrencyById)("zcash"),
21
+ });
22
+ const network = coininfo_1.default.zcash.main.toBitcoinJS();
23
+ const crypto = new zec_1.default({ network });
24
+ const storage = new storage_1.default();
25
+ const xpub = new xpub_1.default({
26
+ storage,
27
+ explorer,
28
+ crypto,
29
+ xpub: "xpub6CkCmmUPLcfa5ok52mSD8LdqxY7ixWLVuVruLLxmQHdefjJx6DtJdXdp8TDXMrfHYB4mybYYaFxMbDW2MzuZgudpNW44KRhyzAog5kd1Tda",
30
+ derivationMode: types_1.DerivationModes.LEGACY,
31
+ });
32
+ it("testing zcash transactions created with proper blockheight info being passed", async () => {
33
+ const utxoPickingStrategy = new Merge_1.Merge(xpub.crypto, xpub.derivationMode, []);
34
+ const changeAddress = await xpub.getNewAddress(1, 0);
35
+ const OUTPUT_VALUE_1 = 1_000_000;
36
+ const OUTPUT_VALUE_2 = 2_000_000;
37
+ xpub.storage.appendTxs([
38
+ {
39
+ id: "fca8f0b145a04e8cd1286dba61f7ad8bee389d12a70a0137aa4af6d1cb7efbb8",
40
+ received_at: "2024-12-04T08:31:06Z",
41
+ fees: 226226,
42
+ inputs: [
43
+ {
44
+ output_hash: "34a59cc1fc6dc9b5a6c4ec0c3640fed91baf90eede0ed3f7e1bcd1299e14aab5",
45
+ output_index: 1,
46
+ value: "40638286",
47
+ address: "t1eQ9NKV1rLx7DyehHVKDDMX5TqNdg5A2jZ",
48
+ sequence: 0,
49
+ },
50
+ ],
51
+ outputs: [
52
+ {
53
+ output_index: 0,
54
+ value: `${OUTPUT_VALUE_1}`,
55
+ address: "t1UevC8vTmRDTMzntzp8XG9An114ToGQu6w",
56
+ output_hash: "fca8f0b145a04e8cd1286dba61f7ad8bee389d12a70a0137aa4af6d1cb7efbb8",
57
+ block_height: 2738883,
58
+ rbf: true,
59
+ },
60
+ {
61
+ output_index: 1,
62
+ value: "40312060",
63
+ address: "t1fGmLoo3AuQYU7kytozzcLmTa7q2978Efw",
64
+ output_hash: "fca8f0b145a04e8cd1286dba61f7ad8bee389d12a70a0137aa4af6d1cb7efbb8",
65
+ block_height: 2738883,
66
+ rbf: true,
67
+ },
68
+ ],
69
+ block: {
70
+ hash: "00000000011e5982320559c1beb83d3a307f5229cf09d2cf6d7a803e0dae1860",
71
+ height: 2738883,
72
+ time: "2024-12-04T08:31:06Z",
73
+ },
74
+ account: 0,
75
+ index: 8,
76
+ address: "t1UevC8vTmRDTMzntzp8XG9An114ToGQu6w",
77
+ },
78
+ {
79
+ id: "db9e8290e1f6ecd7159e122419918f14be2047c5493de0e46f52d63107aa9c98",
80
+ received_at: "2022-09-12T11:37:00Z",
81
+ fees: 2486,
82
+ inputs: [
83
+ {
84
+ output_hash: "f4278db5c11680306d4f1b40568055ea286f50eda4e75e20ab7a2967a4f1731d",
85
+ output_index: 1,
86
+ value: "46382915",
87
+ address: "t1SCkDS3BayQG6SfxG9H1DP8KqzJhswget9",
88
+ sequence: 0,
89
+ },
90
+ ],
91
+ outputs: [
92
+ {
93
+ output_index: 0,
94
+ value: "46330429",
95
+ address: "t1e8XpYgHoHs4VSrariNknegHhYzNAZ6F5h",
96
+ // "spent_at_height": null,
97
+ output_hash: "db9e8290e1f6ecd7159e122419918f14be2047c5493de0e46f52d63107aa9c98",
98
+ block_height: 1806010,
99
+ rbf: true,
100
+ },
101
+ {
102
+ output_index: 1,
103
+ value: `${OUTPUT_VALUE_2}`,
104
+ address: "t1grLcTkpVUjULAD28wSFAd7BEnE6uBdueR",
105
+ output_hash: "db9e8290e1f6ecd7159e122419918f14be2047c5493de0e46f52d63107aa9c98",
106
+ block_height: 1806010,
107
+ rbf: true,
108
+ },
109
+ ],
110
+ block: {
111
+ hash: "0000000000bbb5e4348048f4b0ecc72f61f91d26c68c512157cc8313c989ce89",
112
+ height: 1806010,
113
+ time: "2022-09-12T11:37:00Z",
114
+ },
115
+ account: 1,
116
+ index: 5,
117
+ address: "t1grLcTkpVUjULAD28wSFAd7BEnE6uBdueR",
118
+ },
119
+ ]);
120
+ const balance = await xpub.getXpubBalance();
121
+ const txInfo = await xpub.buildTx({
122
+ destAddress: "t1T8MQwJhUiDdxP2XCfcLviTPCsnQJyfcL1",
123
+ amount: new bignumber_js_1.default(balance),
124
+ feePerByte: 0,
125
+ changeAddress,
126
+ utxoPickingStrategy,
127
+ sequence: 0,
128
+ });
129
+ const account = await wallet.generateAccount({
130
+ xpub: xpub.xpub,
131
+ path: "44'/0'",
132
+ index: 0,
133
+ currency: "zcash",
134
+ network: "mainnet",
135
+ derivationMode: types_1.DerivationModes.LEGACY,
136
+ }, (0, cryptoassets_1.getCryptoCurrencyById)("zcash"));
137
+ const CURRENT_BLOCK_HEIGHT = 2810986;
138
+ account.xpub.currentBlockHeight = CURRENT_BLOCK_HEIGHT;
139
+ // Mock `createPaymentTransaction`
140
+ const mockBtcSigner = new mockBtcSigner_1.default();
141
+ mockBtcSigner.createPaymentTransaction = jest.fn().mockResolvedValue("signed_tx");
142
+ await wallet.signAccountTx({
143
+ btc: mockBtcSigner,
144
+ fromAccount: account,
145
+ txInfo,
146
+ });
147
+ expect(mockBtcSigner.createPaymentTransaction).toHaveBeenCalledTimes(1);
148
+ expect(mockBtcSigner.createPaymentTransaction).toHaveBeenCalledWith(expect.objectContaining({
149
+ inputs: expect.arrayContaining([
150
+ expect.arrayContaining([1806010]),
151
+ expect.arrayContaining([2738883]),
152
+ ]),
153
+ blockHeight: CURRENT_BLOCK_HEIGHT,
154
+ }));
155
+ }, 100000);
156
+ });
157
+ //# sourceMappingURL=xpub.txs.zcash.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xpub.txs.zcash.integration.test.js","sourceRoot":"","sources":["../../../src/wallet-btc/__tests__/xpub.txs.zcash.integration.test.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAChC,gEAAqC;AACrC,oCAA2C;AAC3C,mDAA2B;AAC3B,2DAA8C;AAC9C,yDAA4C;AAC5C,sDAAmD;AACnD,uDAA0C;AAC1C,wEAAgD;AAChD,yDAA+D;AAC/D,wDAAkC;AAElC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAI,gBAAiB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,kBAAmB,CAAC;QACvC,cAAc,EAAE,IAAA,oCAAqB,EAAC,OAAO,CAAC;KAC/C,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,aAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,IAAI,iBAAkB,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,cAAI,CAAC;QACpB,OAAO;QACP,QAAQ;QACR,MAAM;QACN,IAAI,EAAE,iHAAiH;QACvH,cAAc,EAAE,uBAAe,CAAC,MAAM;KACvC,CAAC,CAAC;IACH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,mBAAmB,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,SAAS,CAAC;QACjC,MAAM,cAAc,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrB;gBACE,EAAE,EAAE,kEAAkE;gBACtE,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN;wBACE,WAAW,EAAE,kEAAkE;wBAC/E,YAAY,EAAE,CAAC;wBACf,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,qCAAqC;wBAC9C,QAAQ,EAAE,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE;oBACP;wBACE,YAAY,EAAE,CAAC;wBACf,KAAK,EAAE,GAAG,cAAc,EAAE;wBAC1B,OAAO,EAAE,qCAAqC;wBAC9C,WAAW,EAAE,kEAAkE;wBAC/E,YAAY,EAAE,OAAO;wBACrB,GAAG,EAAE,IAAI;qBACV;oBACD;wBACE,YAAY,EAAE,CAAC;wBACf,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,qCAAqC;wBAC9C,WAAW,EAAE,kEAAkE;wBAC/E,YAAY,EAAE,OAAO;wBACrB,GAAG,EAAE,IAAI;qBACV;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,kEAAkE;oBACxE,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,sBAAsB;iBAC7B;gBACD,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,qCAAqC;aAC/C;YAED;gBACE,EAAE,EAAE,kEAAkE;gBACtE,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE;oBACN;wBACE,WAAW,EAAE,kEAAkE;wBAC/E,YAAY,EAAE,CAAC;wBACf,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,qCAAqC;wBAC9C,QAAQ,EAAE,CAAC;qBACZ;iBACF;gBACD,OAAO,EAAE;oBACP;wBACE,YAAY,EAAE,CAAC;wBACf,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,qCAAqC;wBAC9C,2BAA2B;wBAC3B,WAAW,EAAE,kEAAkE;wBAC/E,YAAY,EAAE,OAAO;wBACrB,GAAG,EAAE,IAAI;qBACV;oBACD;wBACE,YAAY,EAAE,CAAC;wBACf,KAAK,EAAE,GAAG,cAAc,EAAE;wBAC1B,OAAO,EAAE,qCAAqC;wBAC9C,WAAW,EAAE,kEAAkE;wBAC/E,YAAY,EAAE,OAAO;wBACrB,GAAG,EAAE,IAAI;qBACV;iBACF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,kEAAkE;oBACxE,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,sBAAsB;iBAC7B;gBACD,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,qCAAqC;aAC/C;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YAChC,WAAW,EAAE,qCAAqC;YAClD,MAAM,EAAE,IAAI,sBAAS,CAAC,OAAO,CAAC;YAC9B,UAAU,EAAE,CAAC;YACb,aAAa;YACb,mBAAmB;YACnB,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,CAC1C;YACE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,uBAAe,CAAC,MAAM;SACvC,EACD,IAAA,oCAAqB,EAAC,OAAO,CAAC,CAC/B,CAAC;QAEF,MAAM,oBAAoB,GAAG,OAAO,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;QAEvD,kCAAkC;QAClC,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,wBAAwB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAElF,MAAM,MAAM,CAAC,aAAa,CAAC;YACzB,GAAG,EAAE,aAAa;YAClB,WAAW,EAAE,OAAO;YACpB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAExE,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CACjE,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;gBAC7B,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;gBACjC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;aAClC,CAAC;YACF,WAAW,EAAE,oBAAoB;SAClC,CAAC,CACH,CAAC;IACJ,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet-btc/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,KAAK,cAAc,GAAG;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;CACpC,CAAC;AAEF,cAAM,mBAAoB,YAAW,SAAS;IAC5C,OAAO,EAAE,MAAM,CAAC;gBACJ,EACV,cAAc,EACd,iBAAiB,GAClB,EAAE;QACD,cAAc,EAAE,cAAc,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;IAKK,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAU5D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASvC,eAAe,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IASxC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAQvD,OAAO,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAS7C,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,SAAO,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAS1D,QAAQ,CACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAWjD,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAS9E;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI;IA2CzC;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CA2CxD;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet-btc/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,KAAK,cAAc,GAAG;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;CACpC,CAAC;AAEF,cAAM,mBAAoB,YAAW,SAAS;IAC5C,OAAO,EAAE,MAAM,CAAC;gBACJ,EACV,cAAc,EACd,iBAAiB,GAClB,EAAE;QACD,cAAc,EAAE,cAAc,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;IAKK,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAU5D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASvC,eAAe,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IASxC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAQvD,OAAO,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAS7C,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,SAAO,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAS1D,QAAQ,CACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAWjD,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAS9E;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI;IA8CzC;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CA2CxD;AAED,eAAe,mBAAmB,CAAC"}
@@ -111,6 +111,8 @@ class BitcoinLikeExplorer {
111
111
  // @ts-ignore
112
112
  delete input.input_index;
113
113
  });
114
+ // A transaction is RBF-enabled if any of its inputs have sequence < 0xfffffffe.
115
+ const rbf = tx.inputs.some(input => input.sequence < 0xfffffffe);
114
116
  tx.outputs.forEach(output => {
115
117
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
116
118
  // @ts-ignore
@@ -120,7 +122,7 @@ class BitcoinLikeExplorer {
120
122
  // eslint-disable-next-line no-param-reassign
121
123
  output.block_height = tx.block ? tx.block.height : null;
122
124
  // Definition of replaceable, per the standard: https://github.com/bitcoin/bips/blob/61ccc84930051e5b4a99926510d0db4a8475a4e6/bip-0125.mediawiki#summary
123
- output.rbf = tx.inputs[0] ? tx.inputs[0].sequence < 0xffffffff : false;
125
+ output.rbf = rbf;
124
126
  });
125
127
  }
126
128
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet-btc/explorer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet-btc/explorer/index.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export interface Input {
16
16
  output_hash: string;
17
17
  output_index: number;
18
18
  sequence: number;
19
+ block_height?: number | null;
19
20
  }
20
21
  export interface Output {
21
22
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallet-btc/storage/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,EAAE;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAC7B,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IACnD,uBAAuB,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,GAAG,IAAI,CAAC;IACpF,KAAK,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;IAC7D,YAAY,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;IACpE,oBAAoB,IAAI,EAAE,GAAG,SAAS,CAAC;IACvC,4BAA4B,IAAI,KAAK,GAAG,IAAI,CAAC;IAC7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAC;IACrD,mBAAmB,CAAC,eAAe,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,EAAE,CAAC;IACtF,SAAS,CAAC,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,gBAAgB,CAAC,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,UAAU,IAAI,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallet-btc/storage/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/wallet-btc/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/wallet-btc/wallet.ts"],"names":[],"mappings":"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"}
@@ -100,8 +100,8 @@ class BitcoinLikeWallet {
100
100
  let usableUtxoCount = 0;
101
101
  utxos.forEach(utxo => {
102
102
  if (!excludeUTXOs.find(excludeUtxo => excludeUtxo.hash === utxo.output_hash && excludeUtxo.outputIndex === utxo.output_index)) {
103
- // we can use either non pending utxo or change utxo
104
- if (changeAddresses.includes(utxo.address) || utxo.block_height !== null) {
103
+ // we can use either pending utxo (if utxo.rbf is true) or change utxo
104
+ if (changeAddresses.includes(utxo.address) || utxo.block_height !== null || utxo.rbf) {
105
105
  usableUtxoCount++;
106
106
  balance = balance.plus(utxo.value);
107
107
  }
@@ -142,6 +142,7 @@ class BitcoinLikeWallet {
142
142
  }
143
143
  async signAccountTx(params) {
144
144
  const { btc, fromAccount, txInfo, additionals, hasExtraData, onDeviceSignatureRequested, onDeviceSignatureGranted, onDeviceStreaming, } = params;
145
+ const blockHeight = fromAccount.xpub.currentBlockHeight;
145
146
  let length = txInfo.outputs.reduce((sum, output) => {
146
147
  return sum + 8 + output.script.length + 1;
147
148
  }, 1);
@@ -179,6 +180,7 @@ class BitcoinLikeWallet {
179
180
  i.output_index,
180
181
  null,
181
182
  i.sequence,
183
+ i.block_height,
182
184
  ];
183
185
  });
184
186
  const lastOutputIndex = txInfo.outputs.length - 1;
@@ -186,6 +188,7 @@ class BitcoinLikeWallet {
186
188
  inputs,
187
189
  associatedKeysets,
188
190
  outputScriptHex,
191
+ blockHeight,
189
192
  ...(params.lockTime && { lockTime: params.lockTime }),
190
193
  ...(params.sigHashType && { sigHashType: params.sigHashType }),
191
194
  ...(params.segwit && { segwit: params.segwit }),
@@ -199,6 +202,7 @@ class BitcoinLikeWallet {
199
202
  inputs,
200
203
  associatedKeysets,
201
204
  outputScriptHex,
205
+ blockHeight,
202
206
  ...(params.lockTime && { lockTime: params.lockTime }),
203
207
  ...(params.sigHashType && { sigHashType: params.sigHashType }),
204
208
  ...(params.segwit && { segwit: params.segwit }),