@ledgerhq/hw-app-eth 6.34.5 → 6.34.6-next.0

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/hw-app-eth@6.34.4 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/hw-app-eth
2
+ > @ledgerhq/hw-app-eth@6.34.5 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/hw-app-eth
3
3
  > tsc && tsc -m ES6 --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ledgerhq/hw-app-eth
2
2
 
3
+ ## 6.34.6-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [#4687](https://github.com/LedgerHQ/ledger-live/pull/4687) [`c86637f6e5`](https://github.com/LedgerHQ/ledger-live/commit/c86637f6e57845716a791854dd8f686807152e73) Thanks [@lambertkevin](https://github.com/lambertkevin)! - Fixing hexBuffer helper for EIP712 signature not padding byte strings with 0
8
+
9
+ - Updated dependencies [[`72288402ec`](https://github.com/LedgerHQ/ledger-live/commit/72288402ec70f9159022505cb3187e63b24df450), [`f527d1bb5a`](https://github.com/LedgerHQ/ledger-live/commit/f527d1bb5a2888a916f761d43d2ba5093eaa3e3f), [`a134f28e9d`](https://github.com/LedgerHQ/ledger-live/commit/a134f28e9d220d172148619ed281d4ca897d5532), [`49ea3fd98b`](https://github.com/LedgerHQ/ledger-live/commit/49ea3fd98ba1e1e0ed54d29ab5fdc71c4918183f), [`533278e2c4`](https://github.com/LedgerHQ/ledger-live/commit/533278e2c40ee764ecb87d4430fa6650f251ff0c), [`70e4277bc9`](https://github.com/LedgerHQ/ledger-live/commit/70e4277bc9dda253b894bdae5f2c8a5f43a9a64e)]:
10
+ - @ledgerhq/cryptoassets@10.0.0-next.0
11
+ - @ledgerhq/types-live@6.40.0-next.0
12
+ - @ledgerhq/domain-service@1.1.11-next.0
13
+ - @ledgerhq/evm-tools@1.0.7-next.0
14
+
3
15
  ## 6.34.5
4
16
 
5
17
  ### Patch Changes
package/lib/utils.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { BigNumber } from "bignumber.js";
3
3
  import { LedgerEthTransactionResolution } from "./services/types";
4
+ export declare const padHexString: (str: string) => string;
4
5
  export declare function splitPath(path: string): number[];
5
6
  export declare function hexBuffer(str: string): Buffer;
6
7
  export declare function maybeHexBuffer(str: string | null | undefined): Buffer | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAchD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAGxF;AAED,eAAO,MAAM,YAAY,UAAW,MAAM;;;;;;CAyEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAAS,MAAM,SAAS,MAAM,KAAG,MAChB,CAAC;AAE5C;;;;;;GAMG;AAEH,oBAAY,4BAA4B;IACtC,OAAO,eAAe;IACtB,QAAQ,eAAe;CACxB;AAED,oBAAY,6BAA6B;IACvC,OAAO,eAAe;IACtB,oBAAoB,eAAe;IACnC,aAAa,eAAe;IAC5B,kBAAkB,eAAe;IACjC,4BAA4B,eAAe;CAC5C;AAED,oBAAY,8BAA8B;IACxC,oBAAoB,eAAe;IACnC,kBAAkB,eAAe;IACjC,wBAAwB,eAAe;CACxC;AAED,eAAO,MAAM,cAAc,gCAA8C,CAAC;AAC1E,eAAO,MAAM,YAAY,oEAGxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,qBACT,QAAQ,8BAA8B,CAAC,EAAE,KAC1D,8BAgBF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE,eAAO,MAAM,YAAY,QAAS,MAAM,WAEvC,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAchD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAGxF;AAED,eAAO,MAAM,YAAY,UAAW,MAAM;;;;;;CAyEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAAS,MAAM,SAAS,MAAM,KAAG,MAChB,CAAC;AAE5C;;;;;;GAMG;AAEH,oBAAY,4BAA4B;IACtC,OAAO,eAAe;IACtB,QAAQ,eAAe;CACxB;AAED,oBAAY,6BAA6B;IACvC,OAAO,eAAe;IACtB,oBAAoB,eAAe;IACnC,aAAa,eAAe;IAC5B,kBAAkB,eAAe;IACjC,4BAA4B,eAAe;CAC5C;AAED,oBAAY,8BAA8B;IACxC,oBAAoB,eAAe;IACnC,kBAAkB,eAAe;IACjC,wBAAwB,eAAe;CACxC;AAED,eAAO,MAAM,cAAc,gCAA8C,CAAC;AAC1E,eAAO,MAAM,YAAY,oEAGxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,qBACT,QAAQ,8BAA8B,CAAC,EAAE,KAC1D,8BAgBF,CAAC"}
package/lib/utils.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeResolutions = exports.nftSelectors = exports.tokenSelectors = exports.ERC1155_CLEAR_SIGNED_SELECTORS = exports.ERC721_CLEAR_SIGNED_SELECTORS = exports.ERC20_CLEAR_SIGNED_SELECTORS = exports.intAsHexBytes = exports.decodeTxInfo = exports.maybeHexBuffer = exports.hexBuffer = exports.splitPath = void 0;
3
+ exports.mergeResolutions = exports.nftSelectors = exports.tokenSelectors = exports.ERC1155_CLEAR_SIGNED_SELECTORS = exports.ERC721_CLEAR_SIGNED_SELECTORS = exports.ERC20_CLEAR_SIGNED_SELECTORS = exports.intAsHexBytes = exports.decodeTxInfo = exports.maybeHexBuffer = exports.hexBuffer = exports.splitPath = exports.padHexString = void 0;
4
4
  const rlp_1 = require("@ethersproject/rlp");
5
5
  const bignumber_js_1 = require("bignumber.js");
6
+ const padHexString = (str) => {
7
+ return str.length % 2 ? "0" + str : str;
8
+ };
9
+ exports.padHexString = padHexString;
6
10
  function splitPath(path) {
7
11
  const result = [];
8
12
  const components = path.split("/");
@@ -20,7 +24,8 @@ function splitPath(path) {
20
24
  }
21
25
  exports.splitPath = splitPath;
22
26
  function hexBuffer(str) {
23
- return Buffer.from(str.startsWith("0x") ? str.slice(2) : str, "hex");
27
+ const strWithoutPrefix = str.startsWith("0x") ? str.slice(2) : str;
28
+ return Buffer.from((0, exports.padHexString)(strWithoutPrefix), "hex");
24
29
  }
25
30
  exports.hexBuffer = hexBuffer;
26
31
  function maybeHexBuffer(str) {
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/lib-es/utils.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { BigNumber } from "bignumber.js";
3
3
  import { LedgerEthTransactionResolution } from "./services/types";
4
+ export declare const padHexString: (str: string) => string;
4
5
  export declare function splitPath(path: string): number[];
5
6
  export declare function hexBuffer(str: string): Buffer;
6
7
  export declare function maybeHexBuffer(str: string | null | undefined): Buffer | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAchD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAGxF;AAED,eAAO,MAAM,YAAY,UAAW,MAAM;;;;;;CAyEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAAS,MAAM,SAAS,MAAM,KAAG,MAChB,CAAC;AAE5C;;;;;;GAMG;AAEH,oBAAY,4BAA4B;IACtC,OAAO,eAAe;IACtB,QAAQ,eAAe;CACxB;AAED,oBAAY,6BAA6B;IACvC,OAAO,eAAe;IACtB,oBAAoB,eAAe;IACnC,aAAa,eAAe;IAC5B,kBAAkB,eAAe;IACjC,4BAA4B,eAAe;CAC5C;AAED,oBAAY,8BAA8B;IACxC,oBAAoB,eAAe;IACnC,kBAAkB,eAAe;IACjC,wBAAwB,eAAe;CACxC;AAED,eAAO,MAAM,cAAc,gCAA8C,CAAC;AAC1E,eAAO,MAAM,YAAY,oEAGxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,qBACT,QAAQ,8BAA8B,CAAC,EAAE,KAC1D,8BAgBF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE,eAAO,MAAM,YAAY,QAAS,MAAM,WAEvC,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAchD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAGxF;AAED,eAAO,MAAM,YAAY,UAAW,MAAM;;;;;;CAyEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAAS,MAAM,SAAS,MAAM,KAAG,MAChB,CAAC;AAE5C;;;;;;GAMG;AAEH,oBAAY,4BAA4B;IACtC,OAAO,eAAe;IACtB,QAAQ,eAAe;CACxB;AAED,oBAAY,6BAA6B;IACvC,OAAO,eAAe;IACtB,oBAAoB,eAAe;IACnC,aAAa,eAAe;IAC5B,kBAAkB,eAAe;IACjC,4BAA4B,eAAe;CAC5C;AAED,oBAAY,8BAA8B;IACxC,oBAAoB,eAAe;IACnC,kBAAkB,eAAe;IACjC,wBAAwB,eAAe;CACxC;AAED,eAAO,MAAM,cAAc,gCAA8C,CAAC;AAC1E,eAAO,MAAM,YAAY,oEAGxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,qBACT,QAAQ,8BAA8B,CAAC,EAAE,KAC1D,8BAgBF,CAAC"}
package/lib-es/utils.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { encode, decode } from "@ethersproject/rlp";
2
2
  import { BigNumber } from "bignumber.js";
3
+ export const padHexString = (str) => {
4
+ return str.length % 2 ? "0" + str : str;
5
+ };
3
6
  export function splitPath(path) {
4
7
  const result = [];
5
8
  const components = path.split("/");
@@ -16,7 +19,8 @@ export function splitPath(path) {
16
19
  return result;
17
20
  }
18
21
  export function hexBuffer(str) {
19
- return Buffer.from(str.startsWith("0x") ? str.slice(2) : str, "hex");
22
+ const strWithoutPrefix = str.startsWith("0x") ? str.slice(2) : str;
23
+ return Buffer.from(padHexString(strWithoutPrefix), "hex");
20
24
  }
21
25
  export function maybeHexBuffer(str) {
22
26
  if (!str)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
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/hw-app-eth",
3
- "version": "6.34.5",
3
+ "version": "6.34.6-next.0",
4
4
  "description": "Ledger Hardware Wallet Ethereum Application API",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -30,15 +30,15 @@
30
30
  "@ethersproject/abi": "^5.5.0",
31
31
  "@ethersproject/rlp": "^5.5.0",
32
32
  "axios": "^1.3.4",
33
- "bignumber.js": "^9.1.1",
34
- "@ledgerhq/cryptoassets": "^9.12.1",
35
- "@ledgerhq/domain-service": "^1.1.10",
33
+ "bignumber.js": "^9.1.2",
34
+ "@ledgerhq/cryptoassets": "^10.0.0-next.0",
35
+ "@ledgerhq/domain-service": "^1.1.11-next.0",
36
36
  "@ledgerhq/errors": "^6.14.0",
37
- "@ledgerhq/evm-tools": "^1.0.6",
37
+ "@ledgerhq/evm-tools": "^1.0.7-next.0",
38
38
  "@ledgerhq/hw-transport": "^6.28.8",
39
39
  "@ledgerhq/hw-transport-mocker": "^6.27.19",
40
40
  "@ledgerhq/logs": "^6.10.1",
41
- "@ledgerhq/types-live": "^6.39.0"
41
+ "@ledgerhq/types-live": "^6.40.0-next.0"
42
42
  },
43
43
  "gitHead": "dd0dea64b58e5a9125c8a422dcffd29e5ef6abec",
44
44
  "devDependencies": {
package/src/utils.ts CHANGED
@@ -2,6 +2,10 @@ import { encode, decode } from "@ethersproject/rlp";
2
2
  import { BigNumber } from "bignumber.js";
3
3
  import { LedgerEthTransactionResolution } from "./services/types";
4
4
 
5
+ export const padHexString = (str: string) => {
6
+ return str.length % 2 ? "0" + str : str;
7
+ };
8
+
5
9
  export function splitPath(path: string): number[] {
6
10
  const result: number[] = [];
7
11
  const components = path.split("/");
@@ -19,7 +23,8 @@ export function splitPath(path: string): number[] {
19
23
  }
20
24
 
21
25
  export function hexBuffer(str: string): Buffer {
22
- return Buffer.from(str.startsWith("0x") ? str.slice(2) : str, "hex");
26
+ const strWithoutPrefix = str.startsWith("0x") ? str.slice(2) : str;
27
+ return Buffer.from(padHexString(strWithoutPrefix), "hex");
23
28
  }
24
29
 
25
30
  export function maybeHexBuffer(str: string | null | undefined): Buffer | null | undefined {
@@ -242,5 +242,29 @@ describe("EIP712", () => {
242
242
  v: 28,
243
243
  });
244
244
  });
245
+
246
+ test("should sign correctly the 14.json sample message (shorthand byte string => 0x3 vs 0x03)", async () => {
247
+ const apdusBuffer = await fs.readFile(getFilePath("apdu", "14"), "utf-8");
248
+ const messageShorthand = await fs
249
+ .readFile(getFilePath("message", "14"), "utf-8")
250
+ .then(JSON.parse);
251
+ const messageFull = await fs
252
+ .readFile(getFilePath("message", "14bis"), "utf-8")
253
+ .then(JSON.parse);
254
+
255
+ const transportShort = await openTransportReplayer(RecordStore.fromString(`${apdusBuffer}`));
256
+ const ethShort = new Eth(transportShort);
257
+ const resultShorthand = await ethShort.signEIP712Message("44'/60'/0'/0/0", messageShorthand);
258
+ const transportFull = await openTransportReplayer(RecordStore.fromString(`${apdusBuffer}`));
259
+ const ethFull = new Eth(transportFull);
260
+ const resultFull = await ethFull.signEIP712Message("44'/60'/0'/0/0", messageFull);
261
+
262
+ expect(resultShorthand).toEqual(resultFull);
263
+ expect(resultShorthand).toEqual({
264
+ r: "15502f71994b3a6cade2f2aa0243058ccfd44d09ad1fb5392180f2a430ed396d",
265
+ s: "1ecf5ac4964fd1068ad90b2586bc12e9ac9a77fb04331da54023ee1674794411",
266
+ v: 27,
267
+ });
268
+ });
245
269
  });
246
270
  });
@@ -1,4 +1,5 @@
1
1
  import BigNumber from "bignumber.js";
2
+ import { hexBuffer, padHexString } from "../../src/utils";
2
3
  import {
3
4
  constructTypeDescByteString,
4
5
  destructTypeFromString,
@@ -6,10 +7,6 @@ import {
6
7
  makeTypeEntryStructBuffer,
7
8
  } from "../../src/modules/EIP712/utils";
8
9
 
9
- const padHexString = (str: string) => {
10
- return str.length % 2 ? "0" + str : str;
11
- };
12
-
13
10
  const convertTwosComplementToDecimalString = (hex: string, initialValue: string) => {
14
11
  if (!initialValue?.startsWith("-")) {
15
12
  return new BigNumber(padHexString(hex), 16).toFixed();
@@ -410,5 +407,35 @@ describe("EIP712", () => {
410
407
  });
411
408
  });
412
409
  });
410
+
411
+ describe("hexBuffer", () => {
412
+ const hexValues = [
413
+ "0",
414
+ "1",
415
+ "2",
416
+ "3",
417
+ "4",
418
+ "5",
419
+ "6",
420
+ "7",
421
+ "8",
422
+ "9",
423
+ "A",
424
+ "B",
425
+ "C",
426
+ "D",
427
+ "E",
428
+ "F",
429
+ ];
430
+ it.each(hexValues)(
431
+ "should bufferize every possible byte string of: %s",
432
+ (noPrefixShorthand: string) => {
433
+ const prefixFull = `0x0${noPrefixShorthand}`;
434
+ const prefixShorthand = `0x${noPrefixShorthand}`;
435
+ expect(Buffer.compare(hexBuffer(prefixFull), hexBuffer(prefixShorthand))).toBe(0);
436
+ expect(Buffer.compare(hexBuffer(prefixFull), hexBuffer(noPrefixShorthand))).toBe(0);
437
+ },
438
+ );
439
+ });
413
440
  });
414
441
  });
@@ -0,0 +1,22 @@
1
+ => e01a0000144368616e67654f776e65725468726573686f6c64
2
+ <= 9000
3
+ => e01a00ff0f42200c6e65775468726573686f6c64
4
+ <= 9000
5
+ => e01a00000c454950373132446f6d61696e
6
+ <= 9000
7
+ => e01a00ff0605046e616d65
8
+ <= 9000
9
+ => e01a00ff09050776657273696f6e
10
+ <= 9000
11
+ => e01c00000c454950373132446f6d61696e
12
+ <= 9000
13
+ => e01c00ff1600144368616e67654f776e65725468726573686f6c64
14
+ <= 9000
15
+ => e01c00ff03000131
16
+ <= 9000
17
+ => e01c0000144368616e67654f776e65725468726573686f6c64
18
+ <= 9000
19
+ => e01c00ff03000103
20
+ <= 9000
21
+ => e00c000115058000002c8000003c800000000000000000000000
22
+ <= 1b15502f71994b3a6cade2f2aa0243058ccfd44d09ad1fb5392180f2a430ed396d1ecf5ac4964fd1068ad90b2586bc12e9ac9a77fb04331da54023ee16747944119000
@@ -0,0 +1,28 @@
1
+ {
2
+ "types": {
3
+ "EIP712Domain": [
4
+ {
5
+ "name": "name",
6
+ "type": "string"
7
+ },
8
+ {
9
+ "name": "version",
10
+ "type": "string"
11
+ }
12
+ ],
13
+ "ChangeOwnerThreshold": [
14
+ {
15
+ "name": "newThreshold",
16
+ "type": "uint256"
17
+ }
18
+ ]
19
+ },
20
+ "primaryType": "ChangeOwnerThreshold",
21
+ "domain": {
22
+ "name": "ChangeOwnerThreshold",
23
+ "version": "1"
24
+ },
25
+ "message": {
26
+ "newThreshold": "0x3"
27
+ }
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "types": {
3
+ "EIP712Domain": [
4
+ {
5
+ "name": "name",
6
+ "type": "string"
7
+ },
8
+ {
9
+ "name": "version",
10
+ "type": "string"
11
+ }
12
+ ],
13
+ "ChangeOwnerThreshold": [
14
+ {
15
+ "name": "newThreshold",
16
+ "type": "uint256"
17
+ }
18
+ ]
19
+ },
20
+ "primaryType": "ChangeOwnerThreshold",
21
+ "domain": {
22
+ "name": "ChangeOwnerThreshold",
23
+ "version": "1"
24
+ },
25
+ "message": {
26
+ "newThreshold": "0x03"
27
+ }
28
+ }