@ledgerhq/coin-module-boilerplate 4.11.0-nightly.20251210120335 → 4.11.0-nightly.20251212024049

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/CHANGELOG.md CHANGED
@@ -1,23 +1,25 @@
1
1
  # @ledgerhq/coin-module-boilerplate
2
2
 
3
- ## 4.11.0-nightly.20251210120335
3
+ ## 4.11.0-nightly.20251212024049
4
4
 
5
5
  ### Minor Changes
6
6
 
7
7
  - [#13142](https://github.com/LedgerHQ/ledger-live/pull/13142) [`bdacedf`](https://github.com/LedgerHQ/ledger-live/commit/bdacedfe32bea8ffce96ab675a44c0d7cf395143) Thanks [@mcayuelas-ledger](https://github.com/mcayuelas-ledger)! - upgrade typescript-eslint rules & versions
8
8
 
9
+ - [#12967](https://github.com/LedgerHQ/ledger-live/pull/12967) [`5e8d6be`](https://github.com/LedgerHQ/ledger-live/commit/5e8d6be609dd37c48d747890e56189e0716d5273) Thanks [@Moustafa-Koterba](https://github.com/Moustafa-Koterba)! - Validate address implementation on all currencies
10
+
9
11
  - [#13155](https://github.com/LedgerHQ/ledger-live/pull/13155) [`aadb3d5`](https://github.com/LedgerHQ/ledger-live/commit/aadb3d57f5719cc2cc397975eafec8094b160afe) Thanks [@gre-ledger](https://github.com/gre-ledger)! - rxjs@7.8.2 everywhere
10
12
 
11
13
  ### Patch Changes
12
14
 
13
- - Updated dependencies [[`480a08a`](https://github.com/LedgerHQ/ledger-live/commit/480a08ae190119829910b46ecc6d2a9fb11bb7c2), [`19a54fd`](https://github.com/LedgerHQ/ledger-live/commit/19a54fd89a2d3c7481aebc28817870875f9d44dc), [`bc76d51`](https://github.com/LedgerHQ/ledger-live/commit/bc76d5154d35f8340b6b282c4909cd26920b8d40), [`7ae71b6`](https://github.com/LedgerHQ/ledger-live/commit/7ae71b64161424b398b63f77da5127085143fcdc), [`5fa83e4`](https://github.com/LedgerHQ/ledger-live/commit/5fa83e49c5fb103da7ecf0777b7e75bb35d5ed61), [`c5da2ce`](https://github.com/LedgerHQ/ledger-live/commit/c5da2cef7cded2b53c1af9aa3174cd27e5c92e0a), [`450f518`](https://github.com/LedgerHQ/ledger-live/commit/450f518d4cedb828c5fe1e7ccffaabd483f53226), [`30be235`](https://github.com/LedgerHQ/ledger-live/commit/30be2354822b3497c69322294ff1dab43375be50), [`bdacedf`](https://github.com/LedgerHQ/ledger-live/commit/bdacedfe32bea8ffce96ab675a44c0d7cf395143), [`768718d`](https://github.com/LedgerHQ/ledger-live/commit/768718df029bc8799b88c0299925dc56302b0c53), [`a5ad7d4`](https://github.com/LedgerHQ/ledger-live/commit/a5ad7d4578c06db3e40f260451b644c27e20cb62), [`3e70677`](https://github.com/LedgerHQ/ledger-live/commit/3e706774f8c4e9b768ab18b67abc3471cf61b6b6), [`aadb3d5`](https://github.com/LedgerHQ/ledger-live/commit/aadb3d57f5719cc2cc397975eafec8094b160afe), [`e44d216`](https://github.com/LedgerHQ/ledger-live/commit/e44d216d516df87e13f033ed64fedc1ce96380f4), [`d4bad44`](https://github.com/LedgerHQ/ledger-live/commit/d4bad4433c3fb083d95820d2927a9e8beeaf244f), [`8d8e1b7`](https://github.com/LedgerHQ/ledger-live/commit/8d8e1b7bb26305af326ea21710248223d1e8653b), [`07de7a8`](https://github.com/LedgerHQ/ledger-live/commit/07de7a87415ae4d1126e751d6a4d521ced3065e3), [`d37fa4b`](https://github.com/LedgerHQ/ledger-live/commit/d37fa4baf4534161bffe5033ce44fc7780c79d89), [`5e0556a`](https://github.com/LedgerHQ/ledger-live/commit/5e0556a3bd0ea60277462eed10c997b17b09d299), [`bce6610`](https://github.com/LedgerHQ/ledger-live/commit/bce6610ca8554a85f8f17b6014e921fdecd3fa4f), [`2a60165`](https://github.com/LedgerHQ/ledger-live/commit/2a601656b7a23a424a29f006ec53090648fdae4f), [`c56ab86`](https://github.com/LedgerHQ/ledger-live/commit/c56ab86ab65597caf87a09b7596faa54f3104bd4)]:
14
- - @ledgerhq/coin-framework@6.11.0-nightly.20251210120335
15
- - @ledgerhq/types-live@6.91.0-nightly.20251210120335
16
- - @ledgerhq/cryptoassets@13.35.0-nightly.20251210120335
17
- - @ledgerhq/errors@6.28.0-nightly.20251210120335
18
- - @ledgerhq/live-env@2.23.0-nightly.20251210120335
19
- - @ledgerhq/devices@8.8.0-nightly.20251210120335
20
- - @ledgerhq/live-network@2.1.3-nightly.20251210120335
15
+ - Updated dependencies [[`480a08a`](https://github.com/LedgerHQ/ledger-live/commit/480a08ae190119829910b46ecc6d2a9fb11bb7c2), [`19a54fd`](https://github.com/LedgerHQ/ledger-live/commit/19a54fd89a2d3c7481aebc28817870875f9d44dc), [`bc76d51`](https://github.com/LedgerHQ/ledger-live/commit/bc76d5154d35f8340b6b282c4909cd26920b8d40), [`4be69a7`](https://github.com/LedgerHQ/ledger-live/commit/4be69a71dcd7624a1cba8dd1b1847ef009eb2d83), [`7ae71b6`](https://github.com/LedgerHQ/ledger-live/commit/7ae71b64161424b398b63f77da5127085143fcdc), [`5fa83e4`](https://github.com/LedgerHQ/ledger-live/commit/5fa83e49c5fb103da7ecf0777b7e75bb35d5ed61), [`c5da2ce`](https://github.com/LedgerHQ/ledger-live/commit/c5da2cef7cded2b53c1af9aa3174cd27e5c92e0a), [`450f518`](https://github.com/LedgerHQ/ledger-live/commit/450f518d4cedb828c5fe1e7ccffaabd483f53226), [`30be235`](https://github.com/LedgerHQ/ledger-live/commit/30be2354822b3497c69322294ff1dab43375be50), [`bdacedf`](https://github.com/LedgerHQ/ledger-live/commit/bdacedfe32bea8ffce96ab675a44c0d7cf395143), [`5e8d6be`](https://github.com/LedgerHQ/ledger-live/commit/5e8d6be609dd37c48d747890e56189e0716d5273), [`768718d`](https://github.com/LedgerHQ/ledger-live/commit/768718df029bc8799b88c0299925dc56302b0c53), [`a5ad7d4`](https://github.com/LedgerHQ/ledger-live/commit/a5ad7d4578c06db3e40f260451b644c27e20cb62), [`3e70677`](https://github.com/LedgerHQ/ledger-live/commit/3e706774f8c4e9b768ab18b67abc3471cf61b6b6), [`aadb3d5`](https://github.com/LedgerHQ/ledger-live/commit/aadb3d57f5719cc2cc397975eafec8094b160afe), [`e44d216`](https://github.com/LedgerHQ/ledger-live/commit/e44d216d516df87e13f033ed64fedc1ce96380f4), [`d4bad44`](https://github.com/LedgerHQ/ledger-live/commit/d4bad4433c3fb083d95820d2927a9e8beeaf244f), [`8d8e1b7`](https://github.com/LedgerHQ/ledger-live/commit/8d8e1b7bb26305af326ea21710248223d1e8653b), [`07de7a8`](https://github.com/LedgerHQ/ledger-live/commit/07de7a87415ae4d1126e751d6a4d521ced3065e3), [`d37fa4b`](https://github.com/LedgerHQ/ledger-live/commit/d37fa4baf4534161bffe5033ce44fc7780c79d89), [`5e0556a`](https://github.com/LedgerHQ/ledger-live/commit/5e0556a3bd0ea60277462eed10c997b17b09d299), [`bce6610`](https://github.com/LedgerHQ/ledger-live/commit/bce6610ca8554a85f8f17b6014e921fdecd3fa4f), [`2a60165`](https://github.com/LedgerHQ/ledger-live/commit/2a601656b7a23a424a29f006ec53090648fdae4f), [`2d9f320`](https://github.com/LedgerHQ/ledger-live/commit/2d9f32087eea12ae9d5ea2347b277b8bf4e60f55), [`c56ab86`](https://github.com/LedgerHQ/ledger-live/commit/c56ab86ab65597caf87a09b7596faa54f3104bd4)]:
16
+ - @ledgerhq/coin-framework@6.11.0-nightly.20251212024049
17
+ - @ledgerhq/types-live@6.91.0-nightly.20251212024049
18
+ - @ledgerhq/cryptoassets@13.35.0-nightly.20251212024049
19
+ - @ledgerhq/errors@6.28.0-nightly.20251212024049
20
+ - @ledgerhq/live-env@2.23.0-nightly.20251212024049
21
+ - @ledgerhq/devices@8.8.0-nightly.20251212024049
22
+ - @ledgerhq/live-network@2.1.3-nightly.20251212024049
21
23
 
22
24
  ## 4.10.1
23
25
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAA8B,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAU5C,wBAAgB,aAAa,CAC3B,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC/C,UAAU,EAAE,UAAU,CAAC,qBAAqB,CAAC;;;EAuC9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAA8B,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAW5C,wBAAgB,aAAa,CAC3B,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC/C,UAAU,EAAE,UAAU,CAAC,qBAAqB,CAAC;;;EAwC9C"}
@@ -8,6 +8,7 @@ const getAddressWrapper_1 = __importDefault(require("@ledgerhq/coin-framework/br
8
8
  const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
9
9
  const config_1 = __importDefault(require("../config"));
10
10
  const signer_1 = __importDefault(require("../signer"));
11
+ const validateAddress_1 = require("../common-logic/validateAddress");
11
12
  const broadcast_1 = require("./broadcast");
12
13
  const createTransaction_1 = require("./createTransaction");
13
14
  const estimateMaxSpendable_1 = require("./estimateMaxSpendable");
@@ -45,6 +46,7 @@ function createBridges(signerContext, coinConfig) {
45
46
  throw new Error("signRawOperation is not supported");
46
47
  },
47
48
  getSerializedAddressParameters: jsHelpers_1.getSerializedAddressParameters,
49
+ validateAddress: validateAddress_1.validateAddress,
48
50
  };
49
51
  return {
50
52
  currencyBridge,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":";;;;;AAuBA,sCAyCC;AAhED,0GAAkF;AAClF,yEAKmD;AAInD,uDAA8E;AAC9E,uDAAiC;AAGjC,2CAAwC;AACxC,2DAAwD;AACxD,iEAA8D;AAC9D,iEAA8D;AAC9D,6DAA0D;AAC1D,mDAAqD;AACrD,iCAAyC;AACzC,2DAAwD;AAExD,SAAgB,aAAa,CAC3B,aAA+C,EAC/C,UAA6C;IAE7C,gBAAqB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAA,oCAAwB,EAAC,IAAA,2BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC,EAAE,eAAe,EAAf,sBAAe,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACrF,MAAM,cAAc,GAAmB;QACrC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;KACb,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,kCAAkB,EAAC,aAAa,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAf,sBAAe,EAAE,CAAC,CAAC;IAC3C,8BAA8B;IAC9B,MAAM,aAAa,GAA+B;QAChD,SAAS,EAAT,qBAAS;QACT,iBAAiB,EAAjB,qCAAiB;QACjB,iBAAiB,EAAjB,qCAAiB;QACjB,sEAAsE;QACtE,2DAA2D;QAC3D,kBAAkB,EAAlB,uCAAkB;QAClB,oBAAoB,EAApB,2CAAoB;QACpB,oBAAoB,EAApB,2CAAoB;QACpB,IAAI;QACJ,OAAO;QACP,aAAa;QACb,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,8BAA8B,EAA9B,0CAA8B;KAC/B,CAAC;IAEF,OAAO;QACL,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":";;;;;AAwBA,sCA0CC;AAlED,0GAAkF;AAClF,yEAKmD;AAInD,uDAA8E;AAC9E,uDAAiC;AAGjC,qEAAkE;AAClE,2CAAwC;AACxC,2DAAwD;AACxD,iEAA8D;AAC9D,iEAA8D;AAC9D,6DAA0D;AAC1D,mDAAqD;AACrD,iCAAyC;AACzC,2DAAwD;AAExD,SAAgB,aAAa,CAC3B,aAA+C,EAC/C,UAA6C;IAE7C,gBAAqB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAA,oCAAwB,EAAC,IAAA,2BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC,EAAE,eAAe,EAAf,sBAAe,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACrF,MAAM,cAAc,GAAmB;QACrC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;KACb,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,kCAAkB,EAAC,aAAa,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,eAAe,EAAf,sBAAe,EAAE,CAAC,CAAC;IAC3C,8BAA8B;IAC9B,MAAM,aAAa,GAA+B;QAChD,SAAS,EAAT,qBAAS;QACT,iBAAiB,EAAjB,qCAAiB;QACjB,iBAAiB,EAAjB,qCAAiB;QACjB,sEAAsE;QACtE,2DAA2D;QAC3D,kBAAkB,EAAlB,uCAAkB;QAClB,oBAAoB,EAApB,2CAAoB;QACpB,oBAAoB,EAApB,2CAAoB;QACpB,IAAI;QACJ,OAAO;QACP,aAAa;QACb,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,8BAA8B,EAA9B,0CAA8B;QAC9B,eAAe,EAAf,iCAAe;KAChB,CAAC;IAEF,OAAO;QACL,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { AddressValidationCurrencyParameters } from "@ledgerhq/types-live";
2
+ export declare function validateAddress(address: string, _parameters: Partial<AddressValidationCurrencyParameters>): Promise<boolean>;
3
+ //# sourceMappingURL=validateAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAddress.d.ts","sourceRoot":"","sources":["../../src/common-logic/validateAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAC;AAG3E,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,CAAC,mCAAmC,CAAC,GACxD,OAAO,CAAC,OAAO,CAAC,CAElB"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateAddress = validateAddress;
4
+ const utils_1 = require("./utils");
5
+ async function validateAddress(address, _parameters) {
6
+ return (0, utils_1.isRecipientValid)(address);
7
+ }
8
+ //# sourceMappingURL=validateAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAddress.js","sourceRoot":"","sources":["../../src/common-logic/validateAddress.ts"],"names":[],"mappings":";;AAGA,0CAKC;AAPD,mCAA2C;AAEpC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,WAAyD;IAEzD,OAAO,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAC;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAA8B,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAU5C,wBAAgB,aAAa,CAC3B,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC/C,UAAU,EAAE,UAAU,CAAC,qBAAqB,CAAC;;;EAuC9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAA8B,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAW5C,wBAAgB,aAAa,CAC3B,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC/C,UAAU,EAAE,UAAU,CAAC,qBAAqB,CAAC;;;EAwC9C"}
@@ -2,6 +2,7 @@ import getAddressWrapper from "@ledgerhq/coin-framework/bridge/getAddressWrapper
2
2
  import { getSerializedAddressParameters, makeAccountBridgeReceive, makeScanAccounts, makeSync, } from "@ledgerhq/coin-framework/bridge/jsHelpers";
3
3
  import boilerplateCoinConfig from "../config";
4
4
  import resolver from "../signer";
5
+ import { validateAddress } from "../common-logic/validateAddress";
5
6
  import { broadcast } from "./broadcast";
6
7
  import { createTransaction } from "./createTransaction";
7
8
  import { estimateMaxSpendable } from "./estimateMaxSpendable";
@@ -39,6 +40,7 @@ export function createBridges(signerContext, coinConfig) {
39
40
  throw new Error("signRawOperation is not supported");
40
41
  },
41
42
  getSerializedAddressParameters,
43
+ validateAddress,
42
44
  };
43
45
  return {
44
46
  currencyBridge,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,mDAAmD,CAAC;AAClF,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,QAAQ,GACT,MAAM,2CAA2C,CAAC;AAInD,OAAO,qBAAqD,MAAM,WAAW,CAAC;AAC9E,OAAO,QAAQ,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,aAAa,CAC3B,aAA+C,EAC/C,UAA6C;IAE7C,qBAAqB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,gBAAgB,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACrF,MAAM,cAAc,GAAmB;QACrC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;KACb,CAAC;IAEF,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3C,8BAA8B;IAC9B,MAAM,aAAa,GAA+B;QAChD,SAAS;QACT,iBAAiB;QACjB,iBAAiB;QACjB,sEAAsE;QACtE,2DAA2D;QAC3D,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,IAAI;QACJ,OAAO;QACP,aAAa;QACb,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,8BAA8B;KAC/B,CAAC;IAEF,OAAO;QACL,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,mDAAmD,CAAC;AAClF,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,QAAQ,GACT,MAAM,2CAA2C,CAAC;AAInD,OAAO,qBAAqD,MAAM,WAAW,CAAC;AAC9E,OAAO,QAAQ,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,aAAa,CAC3B,aAA+C,EAC/C,UAA6C;IAE7C,qBAAqB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,gBAAgB,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACrF,MAAM,cAAc,GAAmB;QACrC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;KACb,CAAC;IAEF,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3C,8BAA8B;IAC9B,MAAM,aAAa,GAA+B;QAChD,SAAS;QACT,iBAAiB;QACjB,iBAAiB;QACjB,sEAAsE;QACtE,2DAA2D;QAC3D,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,IAAI;QACJ,OAAO;QACP,aAAa;QACb,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,8BAA8B;QAC9B,eAAe;KAChB,CAAC;IAEF,OAAO;QACL,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { AddressValidationCurrencyParameters } from "@ledgerhq/types-live";
2
+ export declare function validateAddress(address: string, _parameters: Partial<AddressValidationCurrencyParameters>): Promise<boolean>;
3
+ //# sourceMappingURL=validateAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAddress.d.ts","sourceRoot":"","sources":["../../src/common-logic/validateAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAC;AAG3E,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,CAAC,mCAAmC,CAAC,GACxD,OAAO,CAAC,OAAO,CAAC,CAElB"}
@@ -0,0 +1,5 @@
1
+ import { isRecipientValid } from "./utils";
2
+ export async function validateAddress(address, _parameters) {
3
+ return isRecipientValid(address);
4
+ }
5
+ //# sourceMappingURL=validateAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAddress.js","sourceRoot":"","sources":["../../src/common-logic/validateAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,WAAyD;IAEzD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-module-boilerplate",
3
- "version": "4.11.0-nightly.20251210120335",
3
+ "version": "4.11.0-nightly.20251212024049",
4
4
  "description": "Boilerplate coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -101,13 +101,13 @@
101
101
  "bignumber.js": "^9.1.2",
102
102
  "invariant": "^2.2.4",
103
103
  "rxjs": "7.8.2",
104
- "@ledgerhq/coin-framework": "^6.11.0-nightly.20251210120335",
105
- "@ledgerhq/cryptoassets": "^13.35.0-nightly.20251210120335",
106
- "@ledgerhq/devices": "8.8.0-nightly.20251210120335",
107
- "@ledgerhq/errors": "^6.28.0-nightly.20251210120335",
108
- "@ledgerhq/live-env": "^2.23.0-nightly.20251210120335",
109
- "@ledgerhq/live-network": "^2.1.3-nightly.20251210120335",
110
- "@ledgerhq/types-live": "^6.91.0-nightly.20251210120335"
104
+ "@ledgerhq/coin-framework": "^6.11.0-nightly.20251212024049",
105
+ "@ledgerhq/cryptoassets": "^13.35.0-nightly.20251212024049",
106
+ "@ledgerhq/devices": "8.8.0-nightly.20251212024049",
107
+ "@ledgerhq/errors": "^6.28.0-nightly.20251212024049",
108
+ "@ledgerhq/live-env": "^2.23.0-nightly.20251212024049",
109
+ "@ledgerhq/live-network": "^2.1.3-nightly.20251212024049",
110
+ "@ledgerhq/types-live": "^6.91.0-nightly.20251212024049"
111
111
  },
112
112
  "devDependencies": {
113
113
  "@types/invariant": "^2.2.37",
@@ -117,7 +117,7 @@
117
117
  "jest": "^29.7.0",
118
118
  "ts-jest": "^29.1.1",
119
119
  "typescript": "^5.4.5",
120
- "@ledgerhq/types-cryptoassets": "^7.31.0-nightly.20251210120335",
120
+ "@ledgerhq/types-cryptoassets": "^7.31.0-nightly.20251212024049",
121
121
  "@ledgerhq/disable-network-setup": "^0.1.0"
122
122
  },
123
123
  "scripts": {
@@ -15,6 +15,7 @@ describe("createBridges", () => {
15
15
  signRawOperation: expect.any(Function),
16
16
  sync: expect.any(Function),
17
17
  updateTransaction: expect.any(Function),
18
+ validateAddress: expect.any(Function),
18
19
  },
19
20
  currencyBridge: {
20
21
  preload: expect.any(Function),
@@ -12,6 +12,7 @@ import boilerplateCoinConfig, { type BoilerplateCoinConfig } from "../config";
12
12
  import resolver from "../signer";
13
13
  import { BoilerplateSigner } from "../types";
14
14
  import type { Transaction } from "../types";
15
+ import { validateAddress } from "../common-logic/validateAddress";
15
16
  import { broadcast } from "./broadcast";
16
17
  import { createTransaction } from "./createTransaction";
17
18
  import { estimateMaxSpendable } from "./estimateMaxSpendable";
@@ -56,6 +57,7 @@ export function createBridges(
56
57
  throw new Error("signRawOperation is not supported");
57
58
  },
58
59
  getSerializedAddressParameters,
60
+ validateAddress,
59
61
  };
60
62
 
61
63
  return {
@@ -0,0 +1,27 @@
1
+ import { isRecipientValid } from "./utils";
2
+ import { validateAddress } from "./validateAddress";
3
+
4
+ jest.mock("../common-logic/utils");
5
+
6
+ describe("validateAddress", () => {
7
+ const mockedIsRecipientValid = jest.mocked(isRecipientValid);
8
+
9
+ beforeEach(() => {
10
+ mockedIsRecipientValid.mockClear();
11
+ });
12
+
13
+ it.each([true, false])(
14
+ "should call isValidAddress and return expected value (%s)",
15
+ async (expectedValue: boolean) => {
16
+ mockedIsRecipientValid.mockReturnValueOnce(expectedValue);
17
+
18
+ const address = "some random address";
19
+ const parameters = {};
20
+ const result = await validateAddress(address, parameters);
21
+ expect(result).toEqual(expectedValue);
22
+
23
+ expect(mockedIsRecipientValid).toHaveBeenCalledTimes(1);
24
+ expect(mockedIsRecipientValid).toHaveBeenCalledWith(address);
25
+ },
26
+ );
27
+ });
@@ -0,0 +1,9 @@
1
+ import { AddressValidationCurrencyParameters } from "@ledgerhq/types-live";
2
+ import { isRecipientValid } from "./utils";
3
+
4
+ export async function validateAddress(
5
+ address: string,
6
+ _parameters: Partial<AddressValidationCurrencyParameters>,
7
+ ): Promise<boolean> {
8
+ return isRecipientValid(address);
9
+ }