@ledgerhq/coin-bitcoin 0.29.0-nightly.20260116024452 → 0.29.0-nightly.20260116124336

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 (85) hide show
  1. package/CHANGELOG.md +12 -10
  2. package/lib/bridge/js.d.ts +1 -1
  3. package/lib/bridge/js.d.ts.map +1 -1
  4. package/lib/bridge/js.js +2 -3
  5. package/lib/bridge/js.js.map +1 -1
  6. package/lib/buildOptimisticOperation.d.ts +13 -0
  7. package/lib/buildOptimisticOperation.d.ts.map +1 -0
  8. package/lib/buildOptimisticOperation.js +20 -0
  9. package/lib/buildOptimisticOperation.js.map +1 -0
  10. package/lib/observable.d.ts +4 -0
  11. package/lib/observable.d.ts.map +1 -0
  12. package/lib/observable.js +9 -0
  13. package/lib/observable.js.map +1 -0
  14. package/lib/psbtFees.d.ts +9 -0
  15. package/lib/psbtFees.d.ts.map +1 -0
  16. package/lib/psbtFees.js +73 -0
  17. package/lib/psbtFees.js.map +1 -0
  18. package/lib/signOperation.d.ts.map +1 -1
  19. package/lib/signOperation.js +94 -99
  20. package/lib/signOperation.js.map +1 -1
  21. package/lib/signRawOperation.d.ts +6 -0
  22. package/lib/signRawOperation.d.ts.map +1 -0
  23. package/lib/signRawOperation.js +70 -0
  24. package/lib/signRawOperation.js.map +1 -0
  25. package/lib/signer.d.ts +15 -0
  26. package/lib/signer.d.ts.map +1 -1
  27. package/lib/types.d.ts +2 -0
  28. package/lib/types.d.ts.map +1 -1
  29. package/lib-es/bridge/js.d.ts +1 -1
  30. package/lib-es/bridge/js.d.ts.map +1 -1
  31. package/lib-es/bridge/js.js +2 -3
  32. package/lib-es/bridge/js.js.map +1 -1
  33. package/lib-es/buildOptimisticOperation.d.ts +13 -0
  34. package/lib-es/buildOptimisticOperation.d.ts.map +1 -0
  35. package/lib-es/buildOptimisticOperation.js +16 -0
  36. package/lib-es/buildOptimisticOperation.js.map +1 -0
  37. package/lib-es/observable.d.ts +4 -0
  38. package/lib-es/observable.d.ts.map +1 -0
  39. package/lib-es/observable.js +5 -0
  40. package/lib-es/observable.js.map +1 -0
  41. package/lib-es/psbtFees.d.ts +9 -0
  42. package/lib-es/psbtFees.d.ts.map +1 -0
  43. package/lib-es/psbtFees.js +69 -0
  44. package/lib-es/psbtFees.js.map +1 -0
  45. package/lib-es/signOperation.d.ts.map +1 -1
  46. package/lib-es/signOperation.js +94 -99
  47. package/lib-es/signOperation.js.map +1 -1
  48. package/lib-es/signRawOperation.d.ts +6 -0
  49. package/lib-es/signRawOperation.d.ts.map +1 -0
  50. package/lib-es/signRawOperation.js +66 -0
  51. package/lib-es/signRawOperation.js.map +1 -0
  52. package/lib-es/signer.d.ts +15 -0
  53. package/lib-es/signer.d.ts.map +1 -1
  54. package/lib-es/types.d.ts +2 -0
  55. package/lib-es/types.d.ts.map +1 -1
  56. package/package.json +13 -12
  57. package/src/__tests__/fixtures/common.fixtures.ts +6 -0
  58. package/src/__tests__/unit/psbtFees.fromFixture.unit.test.ts +31 -0
  59. package/src/__tests__/unit/signOperation.test.ts +226 -0
  60. package/src/__tests__/unit/signRawOperation.test.ts +188 -0
  61. package/src/bridge/js.test.ts +30 -0
  62. package/src/bridge/js.ts +2 -3
  63. package/src/buildOptimisticOperation.ts +34 -0
  64. package/src/hw-signMessage.test.ts +1 -0
  65. package/src/observable.ts +12 -0
  66. package/src/observable.unit.test.ts +27 -0
  67. package/src/psbtFees.ts +77 -0
  68. package/src/signOperation.ts +140 -126
  69. package/src/signRawOperation.ts +104 -0
  70. package/src/signer.ts +13 -0
  71. package/src/types.ts +2 -0
  72. package/src/wallet-btc/__tests__/fixtures/common.fixtures.ts +64 -1
  73. package/src/wallet-btc/__tests__/wallet.integration.test.ts +1 -1
  74. package/src/wallet-btc/__tests__/xpub.txs.dogecoin.integration.test.ts +1 -1
  75. package/src/wallet-btc/__tests__/xpub.txs.zcash.integration.test.ts +1 -1
  76. package/tsconfig.json +3 -12
  77. package/lib/mockBtcSigner.d.ts +0 -20
  78. package/lib/mockBtcSigner.d.ts.map +0 -1
  79. package/lib/mockBtcSigner.js +0 -50
  80. package/lib/mockBtcSigner.js.map +0 -1
  81. package/lib-es/mockBtcSigner.d.ts +0 -20
  82. package/lib-es/mockBtcSigner.d.ts.map +0 -1
  83. package/lib-es/mockBtcSigner.js +0 -45
  84. package/lib-es/mockBtcSigner.js.map +0 -1
  85. package/src/mockBtcSigner.ts +0 -65
@@ -1,50 +0,0 @@
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 object_hash_1 = __importDefault(require("object-hash"));
7
- class MockBtcSigner {
8
- // eslint-disable-next-line class-methods-use-this
9
- async getWalletPublicKey(path,
10
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
- _opts) {
12
- switch (path) {
13
- case "44'/0'":
14
- return {
15
- publicKey: "04c621f37493d99f39ca12fb02ba7fe1687b1650b875dcb6733f386a98958e6556fc95dcecb6ac41af0a5296965751b1598aa475a537474bab5b316fcdc1196568",
16
- chainCode: "a45d311c31a80bf06cc38d8ed7934bd1e8a7b2d48b2868a70258a86e094bacfb",
17
- bitcoinAddress: "1BKWjmA9swxRKMH9NgXpSz8YZfVMnWWU9D",
18
- };
19
- break;
20
- case "44'/0'/0'":
21
- return {
22
- publicKey: "04d52d1ad9311c5a3d542fa652fbd7d7b0be70109e329d359704d9f2946f8eb52a829c23f8b980c5f7b6c51bf446b21f3dc80c865095243c9215dbf9f3cb6403b8",
23
- chainCode: "0bd3e45edca4d8a466f523a2c4094c412d25c36d5298b2d3a29938151a8d37fe",
24
- bitcoinAddress: "1FHa4cuKdea21ByTngP9vz3KYDqqQe9SsA",
25
- };
26
- break;
27
- default:
28
- throw new Error("not supported");
29
- }
30
- }
31
- async createPaymentTransaction(arg) {
32
- return (0, object_hash_1.default)(arg);
33
- }
34
- getWalletXpub(_arg) {
35
- return Promise.reject();
36
- }
37
- signMessage(_path, _messageHex) {
38
- return Promise.reject();
39
- }
40
- splitTransaction(_transactionHex, _isSegwitSupported, _hasExtraData, _additionals) {
41
- // Stub
42
- return {
43
- version: Buffer.from(""),
44
- inputs: [],
45
- outputs: [],
46
- };
47
- }
48
- }
49
- exports.default = MockBtcSigner;
50
- //# sourceMappingURL=mockBtcSigner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockBtcSigner.js","sourceRoot":"","sources":["../src/mockBtcSigner.ts"],"names":[],"mappings":";;;;;AAAA,8DAA+B;AAU/B,MAAM,aAAa;IACjB,kDAAkD;IAClD,KAAK,CAAC,kBAAkB,CACtB,IAAY;IACZ,6DAA6D;IAC7D,KAAmD;QAEnD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO;oBACL,SAAS,EACP,oIAAoI;oBACtI,SAAS,EAAE,kEAAkE;oBAC7E,cAAc,EAAE,oCAAoC;iBACrD,CAAC;gBACF,MAAM;YACR,KAAK,WAAW;gBACd,OAAO;oBACL,SAAS,EACP,oIAAoI;oBACtI,SAAS,EAAE,kEAAkE;oBAC7E,cAAc,EAAE,oCAAoC;iBACrD,CAAC;gBACF,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,GAAsB;QACnD,OAAO,IAAA,qBAAI,EAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,IAA2C;QACvD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,WAAW,CAAC,KAAa,EAAE,WAAmB;QAC5C,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,gBAAgB,CACd,eAAuB,EACvB,kBAA8C,EAC9C,aAAyC,EACzC,YAA8C;QAE9C,OAAO;QACP,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;CACF;AAED,kBAAe,aAAa,CAAC"}
@@ -1,20 +0,0 @@
1
- import type { AddressFormat, BitcoinSignature, BitcoinSigner, BitcoinXPub, CreateTransaction, SignerTransaction } from "./signer";
2
- declare class MockBtcSigner implements BitcoinSigner {
3
- getWalletPublicKey(path: string, _opts: {
4
- verify?: boolean;
5
- format?: AddressFormat;
6
- }): Promise<{
7
- publicKey: string;
8
- chainCode: string;
9
- bitcoinAddress: string;
10
- }>;
11
- createPaymentTransaction(arg: CreateTransaction): Promise<string>;
12
- getWalletXpub(_arg: {
13
- path: string;
14
- xpubVersion: number;
15
- }): Promise<BitcoinXPub>;
16
- signMessage(_path: string, _messageHex: string): Promise<BitcoinSignature>;
17
- splitTransaction(_transactionHex: string, _isSegwitSupported: boolean | null | undefined, _hasExtraData: boolean | null | undefined, _additionals: Array<string> | null | undefined): SignerTransaction;
18
- }
19
- export default MockBtcSigner;
20
- //# sourceMappingURL=mockBtcSigner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockBtcSigner.d.ts","sourceRoot":"","sources":["../src/mockBtcSigner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,cAAM,aAAc,YAAW,aAAa;IAEpC,kBAAkB,CACtB,IAAI,EAAE,MAAM,EAEZ,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,CAAA;KAAE;;;;;IAwB/C,wBAAwB,CAAC,GAAG,EAAE,iBAAiB;IAIrD,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAGhF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAG1E,gBAAgB,CACd,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAC9C,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACzC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GAC7C,iBAAiB;CAQrB;AAED,eAAe,aAAa,CAAC"}
@@ -1,45 +0,0 @@
1
- import hash from "object-hash";
2
- class MockBtcSigner {
3
- // eslint-disable-next-line class-methods-use-this
4
- async getWalletPublicKey(path,
5
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
- _opts) {
7
- switch (path) {
8
- case "44'/0'":
9
- return {
10
- publicKey: "04c621f37493d99f39ca12fb02ba7fe1687b1650b875dcb6733f386a98958e6556fc95dcecb6ac41af0a5296965751b1598aa475a537474bab5b316fcdc1196568",
11
- chainCode: "a45d311c31a80bf06cc38d8ed7934bd1e8a7b2d48b2868a70258a86e094bacfb",
12
- bitcoinAddress: "1BKWjmA9swxRKMH9NgXpSz8YZfVMnWWU9D",
13
- };
14
- break;
15
- case "44'/0'/0'":
16
- return {
17
- publicKey: "04d52d1ad9311c5a3d542fa652fbd7d7b0be70109e329d359704d9f2946f8eb52a829c23f8b980c5f7b6c51bf446b21f3dc80c865095243c9215dbf9f3cb6403b8",
18
- chainCode: "0bd3e45edca4d8a466f523a2c4094c412d25c36d5298b2d3a29938151a8d37fe",
19
- bitcoinAddress: "1FHa4cuKdea21ByTngP9vz3KYDqqQe9SsA",
20
- };
21
- break;
22
- default:
23
- throw new Error("not supported");
24
- }
25
- }
26
- async createPaymentTransaction(arg) {
27
- return hash(arg);
28
- }
29
- getWalletXpub(_arg) {
30
- return Promise.reject();
31
- }
32
- signMessage(_path, _messageHex) {
33
- return Promise.reject();
34
- }
35
- splitTransaction(_transactionHex, _isSegwitSupported, _hasExtraData, _additionals) {
36
- // Stub
37
- return {
38
- version: Buffer.from(""),
39
- inputs: [],
40
- outputs: [],
41
- };
42
- }
43
- }
44
- export default MockBtcSigner;
45
- //# sourceMappingURL=mockBtcSigner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockBtcSigner.js","sourceRoot":"","sources":["../src/mockBtcSigner.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAU/B,MAAM,aAAa;IACjB,kDAAkD;IAClD,KAAK,CAAC,kBAAkB,CACtB,IAAY;IACZ,6DAA6D;IAC7D,KAAmD;QAEnD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO;oBACL,SAAS,EACP,oIAAoI;oBACtI,SAAS,EAAE,kEAAkE;oBAC7E,cAAc,EAAE,oCAAoC;iBACrD,CAAC;gBACF,MAAM;YACR,KAAK,WAAW;gBACd,OAAO;oBACL,SAAS,EACP,oIAAoI;oBACtI,SAAS,EAAE,kEAAkE;oBAC7E,cAAc,EAAE,oCAAoC;iBACrD,CAAC;gBACF,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,GAAsB;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,IAA2C;QACvD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,WAAW,CAAC,KAAa,EAAE,WAAmB;QAC5C,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,gBAAgB,CACd,eAAuB,EACvB,kBAA8C,EAC9C,aAAyC,EACzC,YAA8C;QAE9C,OAAO;QACP,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
@@ -1,65 +0,0 @@
1
- import hash from "object-hash";
2
- import type {
3
- AddressFormat,
4
- BitcoinSignature,
5
- BitcoinSigner,
6
- BitcoinXPub,
7
- CreateTransaction,
8
- SignerTransaction,
9
- } from "./signer";
10
-
11
- class MockBtcSigner implements BitcoinSigner {
12
- // eslint-disable-next-line class-methods-use-this
13
- async getWalletPublicKey(
14
- path: string,
15
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
- _opts: { verify?: boolean; format?: AddressFormat },
17
- ) {
18
- switch (path) {
19
- case "44'/0'":
20
- return {
21
- publicKey:
22
- "04c621f37493d99f39ca12fb02ba7fe1687b1650b875dcb6733f386a98958e6556fc95dcecb6ac41af0a5296965751b1598aa475a537474bab5b316fcdc1196568",
23
- chainCode: "a45d311c31a80bf06cc38d8ed7934bd1e8a7b2d48b2868a70258a86e094bacfb",
24
- bitcoinAddress: "1BKWjmA9swxRKMH9NgXpSz8YZfVMnWWU9D",
25
- };
26
- break;
27
- case "44'/0'/0'":
28
- return {
29
- publicKey:
30
- "04d52d1ad9311c5a3d542fa652fbd7d7b0be70109e329d359704d9f2946f8eb52a829c23f8b980c5f7b6c51bf446b21f3dc80c865095243c9215dbf9f3cb6403b8",
31
- chainCode: "0bd3e45edca4d8a466f523a2c4094c412d25c36d5298b2d3a29938151a8d37fe",
32
- bitcoinAddress: "1FHa4cuKdea21ByTngP9vz3KYDqqQe9SsA",
33
- };
34
- break;
35
- default:
36
- throw new Error("not supported");
37
- }
38
- }
39
-
40
- async createPaymentTransaction(arg: CreateTransaction) {
41
- return hash(arg);
42
- }
43
-
44
- getWalletXpub(_arg: { path: string; xpubVersion: number }): Promise<BitcoinXPub> {
45
- return Promise.reject();
46
- }
47
- signMessage(_path: string, _messageHex: string): Promise<BitcoinSignature> {
48
- return Promise.reject();
49
- }
50
- splitTransaction(
51
- _transactionHex: string,
52
- _isSegwitSupported: boolean | null | undefined,
53
- _hasExtraData: boolean | null | undefined,
54
- _additionals: Array<string> | null | undefined,
55
- ): SignerTransaction {
56
- // Stub
57
- return {
58
- version: Buffer.from(""),
59
- inputs: [],
60
- outputs: [],
61
- };
62
- }
63
- }
64
-
65
- export default MockBtcSigner;