@ledgerhq/coin-tezos 6.10.0-nightly.20251126023856 → 6.10.0-nightly.20251126160702
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 +8 -6
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +8 -1
- package/lib/utils.js.map +1 -1
- package/lib-es/utils.d.ts.map +1 -1
- package/lib-es/utils.js +8 -1
- package/lib-es/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/logic/craftTransaction.integ.test.ts +34 -0
- package/src/utils.test.ts +15 -0
- package/src/utils.ts +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @ledgerhq/coin-tezos
|
|
2
2
|
|
|
3
|
-
## 6.10.0-nightly.
|
|
3
|
+
## 6.10.0-nightly.20251126160702
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
@@ -12,11 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
- [#12697](https://github.com/LedgerHQ/ledger-live/pull/12697) [`5c6e847`](https://github.com/LedgerHQ/ledger-live/commit/5c6e8475857bd01037255ce2cc642941fd7b7e6e) Thanks [@jprudent](https://github.com/jprudent)! - fix: some estimation fails with "proto.023-PtSeouLo.contract.manager.inconsistent_hash"
|
|
14
14
|
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- @ledgerhq/
|
|
19
|
-
- @ledgerhq/live
|
|
15
|
+
- [#13000](https://github.com/LedgerHQ/ledger-live/pull/13000) [`8d666e3`](https://github.com/LedgerHQ/ledger-live/commit/8d666e36cfc9d8ae99d2de29f0c4eff83b974e7f) Thanks [@jprudent](https://github.com/jprudent)! - fix(back-10144,tezos): do not compress already compressed public keys
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [[`50aeea1`](https://github.com/LedgerHQ/ledger-live/commit/50aeea1233056e9abff9568eb928927f39e76cff), [`a2ecb55`](https://github.com/LedgerHQ/ledger-live/commit/a2ecb55df9d383dc282f5fe489cb14386208215e), [`fe81926`](https://github.com/LedgerHQ/ledger-live/commit/fe81926afeb2df8e917e6bd1e4cbab13f09647fd), [`67137eb`](https://github.com/LedgerHQ/ledger-live/commit/67137eb5d7f04dd5f3610fdaa4e463d292654105), [`49ef24c`](https://github.com/LedgerHQ/ledger-live/commit/49ef24cbd1948bfd146af0b20f2128951b2dc170), [`b4a4e16`](https://github.com/LedgerHQ/ledger-live/commit/b4a4e160aae6fd64f944ab25633f6931dc4358d3), [`927ae64`](https://github.com/LedgerHQ/ledger-live/commit/927ae64db0bb04af54e25623655a001a68e0f2d3), [`903ea9c`](https://github.com/LedgerHQ/ledger-live/commit/903ea9cdacf704a0119de2803a4f409b775391a5), [`9251b77`](https://github.com/LedgerHQ/ledger-live/commit/9251b77fcb01709723842f19220a2a41a6fc8f3b), [`02ef98f`](https://github.com/LedgerHQ/ledger-live/commit/02ef98faeb13c182ef255e06a43c39abeb55ecc7), [`6d0c6b2`](https://github.com/LedgerHQ/ledger-live/commit/6d0c6b2eda60049d8eebda5de2c54e8f0be7d009), [`0d33751`](https://github.com/LedgerHQ/ledger-live/commit/0d33751bb2ae599d0d26ce6a8efdbe01757f12fb), [`aadcec6`](https://github.com/LedgerHQ/ledger-live/commit/aadcec66847b800f79452ba1df09149e0a1cb9e8), [`b113920`](https://github.com/LedgerHQ/ledger-live/commit/b11392056bc334fc1813c473569ad3ae7be08045), [`ed8532b`](https://github.com/LedgerHQ/ledger-live/commit/ed8532bad754ca2b5f1788c6e92f4646b775ec79), [`88a5018`](https://github.com/LedgerHQ/ledger-live/commit/88a501871d58c980f18495b5b32012a3eaa9ab2c), [`9659a34`](https://github.com/LedgerHQ/ledger-live/commit/9659a34d9998d5c4dff8618bf6cef7d16403680d)]:
|
|
18
|
+
- @ledgerhq/cryptoassets@13.34.0-nightly.20251126160702
|
|
19
|
+
- @ledgerhq/types-live@6.90.0-nightly.20251126160702
|
|
20
|
+
- @ledgerhq/coin-framework@6.10.0-nightly.20251126160702
|
|
21
|
+
- @ledgerhq/live-network@2.1.2-nightly.20251126160702
|
|
20
22
|
|
|
21
23
|
## 6.9.0
|
|
22
24
|
|
package/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAW/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;EAOxE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAW/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;EAOxE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAmCpB;AAED;;GAEG;AACH,wBAAgB,wBAAwB;;;;;EAQvC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,WAElD"}
|
package/lib/utils.js
CHANGED
|
@@ -87,7 +87,14 @@ function normalizePublicKeyForAddress(maybeKey, address) {
|
|
|
87
87
|
derivationType = ledger_signer_1.DerivationType.P256;
|
|
88
88
|
prefix = utils_1.PrefixV2.P256PublicKey;
|
|
89
89
|
}
|
|
90
|
-
|
|
90
|
+
// uncompressed public key is 65 bytes, compressed is 33 bytes
|
|
91
|
+
const compressedPubKeyLength = 33;
|
|
92
|
+
if (keyBuf.length > compressedPubKeyLength) {
|
|
93
|
+
return (0, utils_1.b58Encode)((0, utils_2.compressPublicKey)(keyBuf, derivationType), prefix);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return (0, utils_1.b58Encode)(keyBuf, prefix);
|
|
97
|
+
}
|
|
91
98
|
}
|
|
92
99
|
catch {
|
|
93
100
|
return undefined;
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AA8BA,4DAWC;AAKD,4CAOC;AAQD,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/lib-es/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAW/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;EAOxE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAW/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;EAOxE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAmCpB;AAED;;GAEG;AACH,wBAAgB,wBAAwB;;;;;EAQvC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,WAElD"}
|
package/lib-es/utils.js
CHANGED
|
@@ -76,7 +76,14 @@ export function normalizePublicKeyForAddress(maybeKey, address) {
|
|
|
76
76
|
derivationType = DerivationType.P256;
|
|
77
77
|
prefix = PrefixV2.P256PublicKey;
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
// uncompressed public key is 65 bytes, compressed is 33 bytes
|
|
80
|
+
const compressedPubKeyLength = 33;
|
|
81
|
+
if (keyBuf.length > compressedPubKeyLength) {
|
|
82
|
+
return b58Encode(compressPublicKey(keyBuf, derivationType), prefix);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return b58Encode(keyBuf, prefix);
|
|
86
|
+
}
|
|
80
87
|
}
|
|
81
88
|
catch {
|
|
82
89
|
return undefined;
|
package/lib-es/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,UAAU,MAAM,UAAU,CAAC;AAElC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAqB,EAAE,SAAiB;IACvE,OAAO;QACL,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa;QACxC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAChC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACpD,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAA4B,EAC5B,OAAe;IAEf,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,qDAAqD;IACrD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,gBAAgB,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAE5E,6DAA6D;IAC7D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEzC,+CAA+C;QAC/C,iDAAiD;QACjD,IAAI,cAAc,GAAmB,cAAc,CAAC,OAAO,CAAC;QAC5D,IAAI,MAAM,GAAa,QAAQ,CAAC,gBAAgB,CAAC;QAEjD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC;YAC1C,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;YACrC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-tezos",
|
|
3
|
-
"version": "6.10.0-nightly.
|
|
3
|
+
"version": "6.10.0-nightly.20251126160702",
|
|
4
4
|
"description": "Tezos Coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -75,13 +75,13 @@
|
|
|
75
75
|
"invariant": "^2.2.4",
|
|
76
76
|
"lodash": "^4.17.21",
|
|
77
77
|
"rxjs": "^7.8.1",
|
|
78
|
-
"@ledgerhq/coin-framework": "^6.10.0-nightly.
|
|
79
|
-
"@ledgerhq/cryptoassets": "^13.34.0-nightly.
|
|
78
|
+
"@ledgerhq/coin-framework": "^6.10.0-nightly.20251126160702",
|
|
79
|
+
"@ledgerhq/cryptoassets": "^13.34.0-nightly.20251126160702",
|
|
80
80
|
"@ledgerhq/devices": "8.7.0",
|
|
81
81
|
"@ledgerhq/errors": "^6.27.0",
|
|
82
|
-
"@ledgerhq/live-network": "^2.1.2-nightly.
|
|
82
|
+
"@ledgerhq/live-network": "^2.1.2-nightly.20251126160702",
|
|
83
83
|
"@ledgerhq/logs": "^6.13.0",
|
|
84
|
-
"@ledgerhq/types-live": "^6.90.0-nightly.
|
|
84
|
+
"@ledgerhq/types-live": "^6.90.0-nightly.20251126160702"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@faker-js/faker": "^8.4.1",
|
|
@@ -99,4 +99,38 @@ describe("Tezos Api", () => {
|
|
|
99
99
|
]),
|
|
100
100
|
);
|
|
101
101
|
});
|
|
102
|
+
|
|
103
|
+
it("should craft a send transaction from tz2 address with correct compressedreveal public key", async () => {
|
|
104
|
+
// Given: LAMA account from production environment
|
|
105
|
+
const tz2Address = "tz2F4XnSd1wjwWsthemvZQjoPER7NVSt35k3";
|
|
106
|
+
const expectedPublicKey = "sppk7but7h93Ws1XhAPvdBcttVmoBDGHxdpaU8dPy5549f3eLJFAjag";
|
|
107
|
+
|
|
108
|
+
// When: craft a send transaction with the public key
|
|
109
|
+
const result = await craftTransaction(
|
|
110
|
+
{ address: tz2Address },
|
|
111
|
+
{
|
|
112
|
+
type: "send",
|
|
113
|
+
recipient: "tz2VYbGhf44HDDYP2fepNA7n7MDHWuBe6RxD",
|
|
114
|
+
amount: BigInt(1000000),
|
|
115
|
+
fee: { fees: "500", gasLimit: "10000", storageLimit: "0" },
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
publicKey: expectedPublicKey,
|
|
119
|
+
publicKeyHash: tz2Address,
|
|
120
|
+
},
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
// Then: verify the reveal operation contains the correct public key
|
|
124
|
+
expect(result).toEqual({
|
|
125
|
+
type: "OUT",
|
|
126
|
+
contents: [
|
|
127
|
+
expect.objectContaining({
|
|
128
|
+
kind: OpKind.REVEAL,
|
|
129
|
+
public_key: expectedPublicKey,
|
|
130
|
+
source: tz2Address,
|
|
131
|
+
}),
|
|
132
|
+
expect.objectContaining({ kind: OpKind.TRANSACTION }),
|
|
133
|
+
],
|
|
134
|
+
});
|
|
135
|
+
});
|
|
102
136
|
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { normalizePublicKeyForAddress } from "./utils";
|
|
2
|
+
|
|
3
|
+
describe("normalizePublicKeyForAddress", () => {
|
|
4
|
+
it("should normalize hex public key for tz2 address (secp256k1) to base58 format", () => {
|
|
5
|
+
const tz2Address = "tz2F4XnSd1wjwWsthemvZQjoPER7NVSt35k3";
|
|
6
|
+
const hexPublicKey = "03576c19462a7d0cc3d121b1b00e92258b5f71d643c99a599fc1683f03abb7a1c2";
|
|
7
|
+
const expectedPublicKey = "sppk7but7h93Ws1XhAPvdBcttVmoBDGHxdpaU8dPy5549f3eLJFAjag";
|
|
8
|
+
|
|
9
|
+
// When: normalize the hex public key to base58 format
|
|
10
|
+
const result = normalizePublicKeyForAddress(hexPublicKey, tz2Address);
|
|
11
|
+
|
|
12
|
+
// Then: should return the correct base58 encoded public key
|
|
13
|
+
expect(result).toBe(expectedPublicKey);
|
|
14
|
+
});
|
|
15
|
+
});
|
package/src/utils.ts
CHANGED
|
@@ -87,7 +87,13 @@ export function normalizePublicKeyForAddress(
|
|
|
87
87
|
prefix = PrefixV2.P256PublicKey;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
// uncompressed public key is 65 bytes, compressed is 33 bytes
|
|
91
|
+
const compressedPubKeyLength = 33;
|
|
92
|
+
if (keyBuf.length > compressedPubKeyLength) {
|
|
93
|
+
return b58Encode(compressPublicKey(keyBuf, derivationType), prefix);
|
|
94
|
+
} else {
|
|
95
|
+
return b58Encode(keyBuf, prefix);
|
|
96
|
+
}
|
|
91
97
|
} catch {
|
|
92
98
|
return undefined;
|
|
93
99
|
}
|