@ledgerhq/coin-kaspa 1.6.0-nightly.20251211024123 → 1.6.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/.unimportedrc.json +8 -6
- package/CHANGELOG.md +12 -10
- package/lib/bridge/index.d.ts.map +1 -1
- package/lib/bridge/index.js +2 -0
- package/lib/bridge/index.js.map +1 -1
- package/lib/bridge/validateAddress.d.ts +3 -0
- package/lib/bridge/validateAddress.d.ts.map +1 -0
- package/lib/bridge/validateAddress.js +9 -0
- package/lib/bridge/validateAddress.js.map +1 -0
- package/lib-es/bridge/index.d.ts.map +1 -1
- package/lib-es/bridge/index.js +2 -0
- package/lib-es/bridge/index.js.map +1 -1
- package/lib-es/bridge/validateAddress.d.ts +3 -0
- package/lib-es/bridge/validateAddress.d.ts.map +1 -0
- package/lib-es/bridge/validateAddress.js +5 -0
- package/lib-es/bridge/validateAddress.js.map +1 -0
- package/package.json +10 -10
- package/src/bridge/index.ts +2 -0
- package/src/bridge/validateAddress.test.ts +27 -0
- package/src/bridge/validateAddress.ts +9 -0
- package/tsconfig.json +7 -2
package/.unimportedrc.json
CHANGED
|
@@ -32,13 +32,14 @@
|
|
|
32
32
|
"src/bridge/prepareTransaction.ts",
|
|
33
33
|
"src/bridge/signOperation.ts",
|
|
34
34
|
"src/bridge/synchronization.ts",
|
|
35
|
-
"src/bridge/
|
|
35
|
+
"src/bridge/validateAddress.ts",
|
|
36
36
|
"src/config.ts",
|
|
37
37
|
"src/deviceTransactionConfig.ts",
|
|
38
38
|
"src/errors.ts",
|
|
39
39
|
"src/hw-getAddress.ts",
|
|
40
40
|
"src/logic/base32.ts",
|
|
41
41
|
"src/logic/bip32.ts",
|
|
42
|
+
"src/logic/constants.ts",
|
|
42
43
|
"src/logic/getAllTransactions.ts",
|
|
43
44
|
"src/logic/getFeeRate.ts",
|
|
44
45
|
"src/logic/index.ts",
|
|
@@ -59,13 +60,14 @@
|
|
|
59
60
|
"src/network/getVirtualChainBlueScore.ts",
|
|
60
61
|
"src/network/index.ts",
|
|
61
62
|
"src/network/submitTransaction.ts",
|
|
62
|
-
"src/test/cli.ts",
|
|
63
|
-
"src/transaction.ts",
|
|
64
63
|
"src/test/bridgeDatasetTest.ts",
|
|
64
|
+
"src/test/cli.ts",
|
|
65
65
|
"src/test/index.ts",
|
|
66
|
-
"src/
|
|
66
|
+
"src/transaction.ts"
|
|
67
|
+
],
|
|
68
|
+
"ignoreUnresolved": [
|
|
69
|
+
"follow-redirects"
|
|
67
70
|
],
|
|
68
|
-
"ignoreUnresolved": ["follow-redirects"],
|
|
69
71
|
"ignoreUnused": [
|
|
70
72
|
"@bitcoinerlab/secp256k1",
|
|
71
73
|
"@ledgerhq/coin-framework",
|
|
@@ -85,4 +87,4 @@
|
|
|
85
87
|
"prando",
|
|
86
88
|
"rxjs"
|
|
87
89
|
]
|
|
88
|
-
}
|
|
90
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
# @ledgerhq/coin-framework
|
|
2
2
|
|
|
3
|
-
## 1.6.0-nightly.
|
|
3
|
+
## 1.6.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), [`2d9f320`](https://github.com/LedgerHQ/ledger-live/commit/2d9f32087eea12ae9d5ea2347b277b8bf4e60f55), [`c56ab86`](https://github.com/LedgerHQ/ledger-live/commit/c56ab86ab65597caf87a09b7596faa54f3104bd4)]:
|
|
14
|
-
- @ledgerhq/coin-framework@6.11.0-nightly.
|
|
15
|
-
- @ledgerhq/types-live@6.91.0-nightly.
|
|
16
|
-
- @ledgerhq/cryptoassets@13.35.0-nightly.
|
|
17
|
-
- @ledgerhq/errors@6.28.0-nightly.
|
|
18
|
-
- @ledgerhq/live-env@2.23.0-nightly.
|
|
19
|
-
- @ledgerhq/devices@8.8.0-nightly.
|
|
20
|
-
- @ledgerhq/types-cryptoassets@7.31.0-nightly.
|
|
21
|
-
- @ledgerhq/live-network@2.1.3-nightly.
|
|
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/types-cryptoassets@7.31.0-nightly.20251212024049
|
|
23
|
+
- @ledgerhq/live-network@2.1.3-nightly.20251212024049
|
|
22
24
|
|
|
23
25
|
## 1.5.0
|
|
24
26
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAC;AAGrF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAC;AAGrF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AA8FvC,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC;;;EAKtE"}
|
package/lib/bridge/index.js
CHANGED
|
@@ -17,6 +17,7 @@ const initAccount_1 = require("./initAccount");
|
|
|
17
17
|
const hw_getAddress_1 = __importDefault(require("../hw-getAddress"));
|
|
18
18
|
const signOperation_1 = require("./signOperation");
|
|
19
19
|
const derivation_1 = require("@ledgerhq/coin-framework/derivation");
|
|
20
|
+
const validateAddress_1 = require("./validateAddress");
|
|
20
21
|
function buildCurrencyBridge(signerContext) {
|
|
21
22
|
const getAddress = (0, hw_getAddress_1.default)(signerContext);
|
|
22
23
|
const scanAccounts = (0, jsHelpers_1.makeScanAccounts)({
|
|
@@ -66,6 +67,7 @@ function buildAccountBridge(signerContext) {
|
|
|
66
67
|
},
|
|
67
68
|
broadcast: broadcast_1.broadcast,
|
|
68
69
|
estimateMaxSpendable: estimateMaxSpendable_1.estimateMaxSpendable,
|
|
70
|
+
validateAddress: validateAddress_1.validateAddress,
|
|
69
71
|
};
|
|
70
72
|
}
|
|
71
73
|
function createBridges(signerContext) {
|
package/lib/bridge/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":";;;;;;AAAA,yEAKmD;AAGnD,0GAAoG;AAKpG,iEAA8D;AAC9D,kFAA0D;AAC1D,uDAAoD;AACpD,6DAA0D;AAC1D,2DAAwD;AACxD,yEAA8E;AAC9E,2CAAwC;AACxC,+CAA4C;AAC5C,qEAAwC;AACxC,mDAAqD;AACrD,oEAAkF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateAddress.d.ts","sourceRoot":"","sources":["../../src/bridge/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,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateAddress = void 0;
|
|
4
|
+
const logic_1 = require("../logic");
|
|
5
|
+
async function validateAddress(address, _parameters) {
|
|
6
|
+
return (0, logic_1.isValidKaspaAddress)(address);
|
|
7
|
+
}
|
|
8
|
+
exports.validateAddress = validateAddress;
|
|
9
|
+
//# sourceMappingURL=validateAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateAddress.js","sourceRoot":"","sources":["../../src/bridge/validateAddress.ts"],"names":[],"mappings":";;;AACA,oCAA+C;AAExC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,WAAyD;IAEzD,OAAO,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AALD,0CAKC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAC;AAGrF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAC;AAGrF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AA8FvC,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC;;;EAKtE"}
|
package/lib-es/bridge/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import { initAccount } from "./initAccount";
|
|
|
11
11
|
import resolver from "../hw-getAddress";
|
|
12
12
|
import { buildSignOperation } from "./signOperation";
|
|
13
13
|
import { runDerivationScheme } from "@ledgerhq/coin-framework/derivation";
|
|
14
|
+
import { validateAddress } from "./validateAddress";
|
|
14
15
|
function buildCurrencyBridge(signerContext) {
|
|
15
16
|
const getAddress = resolver(signerContext);
|
|
16
17
|
const scanAccounts = makeScanAccounts({
|
|
@@ -60,6 +61,7 @@ function buildAccountBridge(signerContext) {
|
|
|
60
61
|
},
|
|
61
62
|
broadcast,
|
|
62
63
|
estimateMaxSpendable,
|
|
64
|
+
validateAddress,
|
|
63
65
|
};
|
|
64
66
|
}
|
|
65
67
|
export function createBridges(signerContext) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,QAAQ,GACT,MAAM,2CAA2C,CAAC;AAGnD,OAAO,iBAAmC,MAAM,mDAAmD,CAAC;AAKpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAU,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateAddress.d.ts","sourceRoot":"","sources":["../../src/bridge/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 @@
|
|
|
1
|
+
{"version":3,"file":"validateAddress.js","sourceRoot":"","sources":["../../src/bridge/validateAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,WAAyD;IAEzD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-kaspa",
|
|
3
|
-
"version": "1.6.0-nightly.
|
|
3
|
+
"version": "1.6.0-nightly.20251212024049",
|
|
4
4
|
"description": "Ledger framework for Kaspa integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -97,15 +97,15 @@
|
|
|
97
97
|
"lru-cache": "^7.14.1",
|
|
98
98
|
"prando": "^6.0.1",
|
|
99
99
|
"rxjs": "7.8.2",
|
|
100
|
-
"@ledgerhq/coin-framework": "^6.11.0-nightly.
|
|
101
|
-
"@ledgerhq/cryptoassets": "^13.35.0-nightly.
|
|
102
|
-
"@ledgerhq/devices": "8.8.0-nightly.
|
|
103
|
-
"@ledgerhq/errors": "^6.28.0-nightly.
|
|
104
|
-
"@ledgerhq/live-env": "^2.23.0-nightly.
|
|
105
|
-
"@ledgerhq/live-network": "^2.1.3-nightly.
|
|
100
|
+
"@ledgerhq/coin-framework": "^6.11.0-nightly.20251212024049",
|
|
101
|
+
"@ledgerhq/cryptoassets": "^13.35.0-nightly.20251212024049",
|
|
102
|
+
"@ledgerhq/devices": "8.8.0-nightly.20251212024049",
|
|
103
|
+
"@ledgerhq/errors": "^6.28.0-nightly.20251212024049",
|
|
104
|
+
"@ledgerhq/live-env": "^2.23.0-nightly.20251212024049",
|
|
105
|
+
"@ledgerhq/live-network": "^2.1.3-nightly.20251212024049",
|
|
106
106
|
"@ledgerhq/logs": "^6.13.0",
|
|
107
|
-
"@ledgerhq/types-cryptoassets": "^7.31.0-nightly.
|
|
108
|
-
"@ledgerhq/types-live": "^6.91.0-nightly.
|
|
107
|
+
"@ledgerhq/types-cryptoassets": "^7.31.0-nightly.20251212024049",
|
|
108
|
+
"@ledgerhq/types-live": "^6.91.0-nightly.20251212024049"
|
|
109
109
|
},
|
|
110
110
|
"devDependencies": {
|
|
111
111
|
"@types/invariant": "^2.2.2",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"timemachine": "^0.3.2",
|
|
119
119
|
"ts-jest": "^29.1.1",
|
|
120
120
|
"@ledgerhq/disable-network-setup": "^0.1.0",
|
|
121
|
-
"@ledgerhq/hw-transport-node-speculos": "^6.30.0-nightly.
|
|
121
|
+
"@ledgerhq/hw-transport-node-speculos": "^6.30.0-nightly.20251212024049"
|
|
122
122
|
},
|
|
123
123
|
"scripts": {
|
|
124
124
|
"clean": "rimraf lib lib-es",
|
package/src/bridge/index.ts
CHANGED
|
@@ -23,6 +23,7 @@ import resolver from "../hw-getAddress";
|
|
|
23
23
|
import { buildSignOperation } from "./signOperation";
|
|
24
24
|
import { Result, runDerivationScheme } from "@ledgerhq/coin-framework/derivation";
|
|
25
25
|
import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
|
26
|
+
import { validateAddress } from "./validateAddress";
|
|
26
27
|
|
|
27
28
|
function buildCurrencyBridge(signerContext: SignerContext<KaspaSigner>): CurrencyBridge {
|
|
28
29
|
const getAddress = resolver(signerContext);
|
|
@@ -98,6 +99,7 @@ function buildAccountBridge(
|
|
|
98
99
|
},
|
|
99
100
|
broadcast,
|
|
100
101
|
estimateMaxSpendable,
|
|
102
|
+
validateAddress,
|
|
101
103
|
};
|
|
102
104
|
}
|
|
103
105
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { isValidKaspaAddress } from "../logic";
|
|
2
|
+
import { validateAddress } from "./validateAddress";
|
|
3
|
+
|
|
4
|
+
jest.mock("../logic");
|
|
5
|
+
|
|
6
|
+
describe("validateAddress", () => {
|
|
7
|
+
const mockedIsValidKaspaAddress = jest.mocked(isValidKaspaAddress);
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
mockedIsValidKaspaAddress.mockClear();
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it.each([true, false])(
|
|
14
|
+
"should call isValidKaspaAddress and return expected value (%s)",
|
|
15
|
+
async (expectedValue: boolean) => {
|
|
16
|
+
mockedIsValidKaspaAddress.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(mockedIsValidKaspaAddress).toHaveBeenCalledTimes(1);
|
|
24
|
+
expect(mockedIsValidKaspaAddress).toHaveBeenCalledWith(address);
|
|
25
|
+
},
|
|
26
|
+
);
|
|
27
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AddressValidationCurrencyParameters } from "@ledgerhq/types-live";
|
|
2
|
+
import { isValidKaspaAddress } from "../logic";
|
|
3
|
+
|
|
4
|
+
export async function validateAddress(
|
|
5
|
+
address: string,
|
|
6
|
+
_parameters: Partial<AddressValidationCurrencyParameters>,
|
|
7
|
+
): Promise<boolean> {
|
|
8
|
+
return isValidKaspaAddress(address);
|
|
9
|
+
}
|
package/tsconfig.json
CHANGED
|
@@ -4,10 +4,15 @@
|
|
|
4
4
|
"declaration": true,
|
|
5
5
|
"declarationMap": true,
|
|
6
6
|
"downlevelIteration": true,
|
|
7
|
-
"lib": [
|
|
7
|
+
"lib": [
|
|
8
|
+
"es2020",
|
|
9
|
+
"dom"
|
|
10
|
+
],
|
|
8
11
|
"outDir": "lib",
|
|
9
12
|
"rootDir": "src",
|
|
10
13
|
"module": "NodeNext"
|
|
11
14
|
},
|
|
12
|
-
"include": [
|
|
15
|
+
"include": [
|
|
16
|
+
"src/**/*"
|
|
17
|
+
]
|
|
13
18
|
}
|