@ledgerhq/live-common 21.4.1-btcjs.5 → 21.4.1-btcjs.6

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/families/bitcoin/logic.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var currencies_1 = require("../../../currencies");
4
+ var logic_1 = require("../../../families/bitcoin/logic");
5
+ var errors_1 = require("@ledgerhq/errors");
6
+ describe("Test isValidRecipient", function () {
7
+ function t(address, currencyId, expectValid) {
8
+ var currency = (0, currencies_1.getCryptoCurrencyById)(currencyId);
9
+ if (expectValid) {
10
+ return expect((0, logic_1.isValidRecipient)({ currency: currency, recipient: address })).resolves.toBeNull();
11
+ }
12
+ else {
13
+ return expect((0, logic_1.isValidRecipient)({ currency: currency, recipient: address })).rejects.toBeInstanceOf(errors_1.InvalidAddress);
14
+ }
15
+ }
16
+ test("Fail on non-existing currency", function () {
17
+ t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "ontology", false);
18
+ });
19
+ test("Fail on mainnet addr on bitcoin_testnet", function () {
20
+ t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin_testnet", false);
21
+ });
22
+ test("Success on valid address", function () {
23
+ t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin", true);
24
+ });
25
+ test("Success on valid qtum address", function () {
26
+ t("xCREYTgvdk3XzFNpdXkj35fZX4hJK2Ckpd", "qtum", true);
27
+ });
28
+ test("Fail on invalid qtum address", function () {
29
+ t("xCREYTgvdk3XzFNpdXkj35fZX4hJK2Ckpe", "qtum", false);
30
+ });
31
+ test("Fail on invalid bch address", function () {
32
+ t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg3", "bitcoin_cash", false);
33
+ });
34
+ // TODO Enable once fixed in wallet-btc
35
+ test.skip("Success on valid bch address", function () {
36
+ t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg2", "bitcoin_cash", true);
37
+ });
38
+ });
39
+ //# sourceMappingURL=logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/__tests__/families/bitcoin/logic.ts"],"names":[],"mappings":";;AAAA,kDAA4D;AAC5D,yDAAmE;AACnE,2CAAkD;AAElD,QAAQ,CAAC,uBAAuB,EAAE;IAChC,SAAS,CAAC,CAAC,OAAe,EAAE,UAAkB,EAAE,WAAoB;QAClE,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,UAAU,CAAC,CAAC;QACnD,IAAI,WAAW,EAAE;YACf,OAAO,MAAM,CACX,IAAA,wBAAgB,EAAC,EAAE,QAAQ,UAAA,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CACnD,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvB;aAAM;YACL,OAAO,MAAM,CACX,IAAA,wBAAgB,EAAC,EAAE,QAAQ,UAAA,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CACnD,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAc,CAAC,CAAC;SAC1C;IACH,CAAC;IACD,IAAI,CAAC,+BAA+B,EAAE;QACpC,CAAC,CAAC,4CAA4C,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,yCAAyC,EAAE;QAC9C,CAAC,CAAC,4CAA4C,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,0BAA0B,EAAE;QAC/B,CAAC,CAAC,4CAA4C,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,+BAA+B,EAAE;QACpC,CAAC,CAAC,oCAAoC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,8BAA8B,EAAE;QACnC,CAAC,CAAC,oCAAoC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,6BAA6B,EAAE;QAClC,CAAC,CAAC,4CAA4C,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,uCAAuC;IACvC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE;QACxC,CAAC,CAAC,4CAA4C,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../src/families/bitcoin/logic.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACb,MAAM,SAAS,CAAC;AAgBjB,eAAO,MAAM,cAAc,aAAc,cAAc,KAAG,MAC/B,CAAC;AAC5B,eAAO,MAAM,eAAe,MAAO,WAAW,eAAe,WAAW,mCAcvE,CAAC;AACF,eAAO,MAAM,gBAAgB,WAAkB;IAC7C,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,QAAQ,KAAK,GAAG,IAAI,GAAG,SAAS,CAWnC,CAAC;AACF,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAI7D;AAED,aAAK,UAAU,GACX;IACE,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,oBAAoB,GAAG,eAAe,CAAC;CAChD,GACD;IACE,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AACN,eAAO,MAAM,aAAa,SAClB,aAAa,gBACL,YAAY,KACzB,UAsBF,CAAC;AAeF,aAAK,SAAS,GAAG;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,MAAM,EAAE,CAAC;IAClE,8BAA8B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,4BAA4B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD,yBAAyB,CAAC,EAAE,CAC1B,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,gBAAgB,KACpB,gBAAgB,CAAC;IACtB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,CAAC;CACjD,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,MAAM,CAC/B,iBAAiB,EACjB,SAAS,GAAG,IAAI,GAAG,SAAS,CA2C7B,CAAC;AAIF,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAkCxB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAIxB"}
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../src/families/bitcoin/logic.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACb,MAAM,SAAS,CAAC;AAgBjB,eAAO,MAAM,cAAc,aAAc,cAAc,KAAG,MAC/B,CAAC;AAC5B,eAAO,MAAM,eAAe,MAAO,WAAW,eAAe,WAAW,mCAcvE,CAAC;AACF,eAAO,MAAM,gBAAgB,WAAkB;IAC7C,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,QAAQ,KAAK,GAAG,IAAI,GAAG,SAAS,CAmBnC,CAAC;AACF,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAI7D;AAED,aAAK,UAAU,GACX;IACE,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,oBAAoB,GAAG,eAAe,CAAC;CAChD,GACD;IACE,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AACN,eAAO,MAAM,aAAa,SAClB,aAAa,gBACL,YAAY,KACzB,UAsBF,CAAC;AAeF,aAAK,SAAS,GAAG;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,MAAM,EAAE,CAAC;IAClE,8BAA8B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,4BAA4B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD,yBAAyB,CAAC,EAAE,CAC1B,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,gBAAgB,KACpB,gBAAgB,CAAC;IACtB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,CAAC;CACjD,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,MAAM,CAC/B,iBAAiB,EACjB,SAAS,GAAG,IAAI,GAAG,SAAS,CA2C7B,CAAC;AAIF,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAkCxB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAIxB"}
@@ -79,7 +79,14 @@ var isValidRecipient = function (params) { return __awaiter(void 0, void 0, void
79
79
  if (!params.recipient) {
80
80
  return [2 /*return*/, Promise.reject(new errors_1.RecipientRequired(""))];
81
81
  }
82
- valid = (0, wallet_btc_1.isValidAddress)(params.recipient);
82
+ try {
83
+ // Optimistically assume params.currency.id is an actual Currency
84
+ valid = (0, wallet_btc_1.isValidAddress)(params.recipient, params.currency.id);
85
+ }
86
+ catch (e) {
87
+ // isValidAddress() will throw Error if c is not an actual Currency
88
+ return [2 /*return*/, Promise.reject(new errors_1.InvalidAddress(e.message))];
89
+ }
83
90
  if (!valid) {
84
91
  return [2 /*return*/, Promise.reject(new errors_1.InvalidAddress("Invalid address for currency " + params.currency.name))];
85
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../src/families/bitcoin/logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../src/families/bitcoin/logic.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "type": "git",
9
9
  "url": "https://github.com/LedgerHQ/ledger-live-common"
10
10
  },
11
- "version": "21.4.1-btcjs.5",
11
+ "version": "21.4.1-btcjs.6",
12
12
  "main": "lib/index.js",
13
13
  "types": "lib/index.d.ts",
14
14
  "license": "Apache-2.0",
@@ -57,7 +57,7 @@
57
57
  "@ledgerhq/hw-transport-node-speculos": "6.3.0",
58
58
  "@ledgerhq/live-app-sdk": "^0.2.0",
59
59
  "@ledgerhq/logs": "6.2.0",
60
- "@ledgerhq/wallet-btc": "1.1.4",
60
+ "@ledgerhq/wallet-btc": "1.1.6",
61
61
  "@polkadot/types": "5.8.3",
62
62
  "@polkadot/types-known": "5.8.3",
63
63
  "@taquito/ledger-signer": "^10.1.1",
@@ -0,0 +1,40 @@
1
+ import { getCryptoCurrencyById } from "../../../currencies";
2
+ import { isValidRecipient } from "../../../families/bitcoin/logic";
3
+ import { InvalidAddress } from "@ledgerhq/errors";
4
+
5
+ describe("Test isValidRecipient", () => {
6
+ function t(address: string, currencyId: string, expectValid: boolean) {
7
+ const currency = getCryptoCurrencyById(currencyId);
8
+ if (expectValid) {
9
+ return expect(
10
+ isValidRecipient({ currency, recipient: address })
11
+ ).resolves.toBeNull();
12
+ } else {
13
+ return expect(
14
+ isValidRecipient({ currency, recipient: address })
15
+ ).rejects.toBeInstanceOf(InvalidAddress);
16
+ }
17
+ }
18
+ test("Fail on non-existing currency", () => {
19
+ t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "ontology", false);
20
+ });
21
+ test("Fail on mainnet addr on bitcoin_testnet", () => {
22
+ t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin_testnet", false);
23
+ });
24
+ test("Success on valid address", () => {
25
+ t("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", "bitcoin", true);
26
+ });
27
+ test("Success on valid qtum address", () => {
28
+ t("xCREYTgvdk3XzFNpdXkj35fZX4hJK2Ckpd", "qtum", true);
29
+ });
30
+ test("Fail on invalid qtum address", () => {
31
+ t("xCREYTgvdk3XzFNpdXkj35fZX4hJK2Ckpe", "qtum", false);
32
+ });
33
+ test("Fail on invalid bch address", () => {
34
+ t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg3", "bitcoin_cash", false);
35
+ });
36
+ // TODO Enable once fixed in wallet-btc
37
+ test.skip("Success on valid bch address", () => {
38
+ t("qr6m7j9njldwwzlg9v7v53unlr4jkmx6eylep8ekg2", "bitcoin_cash", true);
39
+ });
40
+ });
@@ -1,7 +1,11 @@
1
1
  import cashaddr from "cashaddrjs";
2
2
  import bchaddr from "bchaddrjs";
3
- import { isValidAddress } from "@ledgerhq/wallet-btc";
4
- import { RecipientRequired, InvalidAddress } from "@ledgerhq/errors";
3
+ import { Currency, isValidAddress } from "@ledgerhq/wallet-btc";
4
+ import {
5
+ RecipientRequired,
6
+ InvalidAddress,
7
+ CurrencyNotSupported,
8
+ } from "@ledgerhq/errors";
5
9
  import type { Account, CryptoCurrency, CryptoCurrencyIds } from "./../../types";
6
10
  import type {
7
11
  BitcoinOutput,
@@ -52,7 +56,15 @@ export const isValidRecipient = async (params: {
52
56
  if (!params.recipient) {
53
57
  return Promise.reject(new RecipientRequired(""));
54
58
  }
55
- const valid = isValidAddress(params.recipient);
59
+
60
+ let valid: boolean;
61
+ try {
62
+ // Optimistically assume params.currency.id is an actual Currency
63
+ valid = isValidAddress(params.recipient, <Currency>params.currency.id);
64
+ } catch (e: any) {
65
+ // isValidAddress() will throw Error if c is not an actual Currency
66
+ return Promise.reject(new InvalidAddress(e.message));
67
+ }
56
68
  if (!valid) {
57
69
  return Promise.reject(
58
70
  new InvalidAddress("Invalid address for currency " + params.currency.name)