@ledgerhq/live-common 33.2.0-next.0 → 33.2.0-next.2

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.
Files changed (29) hide show
  1. package/lib/families/evm/platformAdapter.d.ts +1 -1
  2. package/lib/families/evm/platformAdapter.d.ts.map +1 -1
  3. package/lib/families/evm/platformAdapter.js +2 -1
  4. package/lib/families/evm/platformAdapter.js.map +1 -1
  5. package/lib/families/evm/platformAdapter.test.js +27 -3
  6. package/lib/families/evm/platformAdapter.test.js.map +1 -1
  7. package/lib/families/evm/walletApiAdapter.d.ts +1 -1
  8. package/lib/families/evm/walletApiAdapter.d.ts.map +1 -1
  9. package/lib/families/evm/walletApiAdapter.js +2 -1
  10. package/lib/families/evm/walletApiAdapter.js.map +1 -1
  11. package/lib/families/evm/walletApiAdapter.test.js +30 -4
  12. package/lib/families/evm/walletApiAdapter.test.js.map +1 -1
  13. package/lib-es/families/evm/platformAdapter.d.ts +1 -1
  14. package/lib-es/families/evm/platformAdapter.d.ts.map +1 -1
  15. package/lib-es/families/evm/platformAdapter.js +2 -1
  16. package/lib-es/families/evm/platformAdapter.js.map +1 -1
  17. package/lib-es/families/evm/platformAdapter.test.js +27 -3
  18. package/lib-es/families/evm/platformAdapter.test.js.map +1 -1
  19. package/lib-es/families/evm/walletApiAdapter.d.ts +1 -1
  20. package/lib-es/families/evm/walletApiAdapter.d.ts.map +1 -1
  21. package/lib-es/families/evm/walletApiAdapter.js +2 -1
  22. package/lib-es/families/evm/walletApiAdapter.js.map +1 -1
  23. package/lib-es/families/evm/walletApiAdapter.test.js +30 -4
  24. package/lib-es/families/evm/walletApiAdapter.test.js.map +1 -1
  25. package/package.json +13 -13
  26. package/src/families/evm/platformAdapter.test.ts +34 -3
  27. package/src/families/evm/platformAdapter.ts +3 -2
  28. package/src/families/evm/walletApiAdapter.test.ts +37 -4
  29. package/src/families/evm/walletApiAdapter.ts +4 -3
@@ -1,5 +1,5 @@
1
- import { EthereumTransaction as PlatformTransaction } from "@ledgerhq/live-app-sdk";
2
1
  import { Transaction } from "@ledgerhq/coin-evm/types/index";
2
+ import { EthereumTransaction as PlatformTransaction } from "@ledgerhq/live-app-sdk";
3
3
  declare const _default: {
4
4
  getPlatformTransactionSignFlowInfos: (tx: PlatformTransaction) => {
5
5
  canEditFees: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"platformAdapter.d.ts","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;;;;;;;;AAkD7D,wBAAuD"}
1
+ {"version":3,"file":"platformAdapter.d.ts","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;;;;;;;;AAkDpF,wBAAuD"}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  // TODO: to remove once live-app-sdk is depreciated and removed from LL
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ const createTransaction_1 = require("@ledgerhq/coin-evm/createTransaction");
4
5
  const CAN_EDIT_FEES = true;
5
6
  const areFeesProvided = (tx) => !!(tx.gasLimit && tx.gasPrice);
6
7
  const convertToLiveTransaction = (tx) => {
7
8
  const hasFeesProvided = areFeesProvided(tx);
8
9
  const params = {
9
10
  family: "evm",
10
- nonce: tx.nonce,
11
+ nonce: tx.nonce === undefined ? createTransaction_1.DEFAULT_NONCE : tx.nonce,
11
12
  amount: tx.amount,
12
13
  recipient: tx.recipient,
13
14
  data: tx.data,
@@ -1 +1 @@
1
- {"version":3,"file":"platformAdapter.js","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.ts"],"names":[],"mappings":";AAAA,uEAAuE;;AAKvE,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,eAAe,GAAG,CAAC,EAAuB,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE7F,MAAM,wBAAwB,GAAG,CAAC,EAAuB,EAAwB,EAAE;IACjF,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,KAAc;QACtB,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,cAAc,EAAE,EAAE,CAAC,QAAQ;QAC3B,YAAY,EAAE,SAAS;QACvB,oBAAoB,EAAE,SAAS;KAChC,CAAC;IAEF,mFAAmF;IACnF,MAAM,MAAM,GAAyB,EAAE,CAAC,QAAQ;QAC9C,CAAC,iCACM,MAAM;YACT,gFAAgF;YAChF,oEAAoE;YACpE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAC,SAAS,EAC/D,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,IAAI,EAAE,CAAC,IAEX,CAAC,iCAAM,MAAM,KAAE,IAAI,EAAE,CAAC,GAAE,CAAC;IAE3B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAC1C,EAAuB,EAKvB,EAAE;IACF,OAAO;QACL,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,EAAE,mCAAmC,EAAE,CAAC"}
1
+ {"version":3,"file":"platformAdapter.js","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.ts"],"names":[],"mappings":";AAAA,uEAAuE;;AAEvE,4EAAqE;AAIrE,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,eAAe,GAAG,CAAC,EAAuB,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE7F,MAAM,wBAAwB,GAAG,CAAC,EAAuB,EAAwB,EAAE;IACjF,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,KAAc;QACtB,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,iCAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;QACxD,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,cAAc,EAAE,EAAE,CAAC,QAAQ;QAC3B,YAAY,EAAE,SAAS;QACvB,oBAAoB,EAAE,SAAS;KAChC,CAAC;IAEF,mFAAmF;IACnF,MAAM,MAAM,GAAyB,EAAE,CAAC,QAAQ;QAC9C,CAAC,iCACM,MAAM;YACT,gFAAgF;YAChF,oEAAoE;YACpE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAC,SAAS,EAC/D,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,IAAI,EAAE,CAAC,IAEX,CAAC,iCAAM,MAAM,KAAE,IAAI,EAAE,CAAC,GAAE,CAAC;IAE3B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAC1C,EAAuB,EAKvB,EAAE;IACF,OAAO;QACL,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,EAAE,mCAAmC,EAAE,CAAC"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const createTransaction_1 = require("@ledgerhq/coin-evm/createTransaction");
6
7
  const live_app_sdk_1 = require("@ledgerhq/live-app-sdk");
7
8
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
9
  const platformAdapter_1 = __importDefault(require("./platformAdapter"));
@@ -20,7 +21,7 @@ describe("getPlatformTransactionSignFlowInfos", () => {
20
21
  recipient: ethPlatformTx.recipient,
21
22
  data: undefined,
22
23
  gasLimit: undefined,
23
- nonce: undefined,
24
+ nonce: createTransaction_1.DEFAULT_NONCE,
24
25
  customGasLimit: undefined,
25
26
  feesStrategy: undefined,
26
27
  type: 2,
@@ -46,7 +47,7 @@ describe("getPlatformTransactionSignFlowInfos", () => {
46
47
  gasPrice: ethPlatformTx.gasPrice,
47
48
  gasLimit: ethPlatformTx.gasLimit,
48
49
  customGasLimit: ethPlatformTx.gasLimit,
49
- nonce: undefined,
50
+ nonce: createTransaction_1.DEFAULT_NONCE,
50
51
  data: undefined,
51
52
  feesStrategy: "custom",
52
53
  type: 0,
@@ -69,7 +70,7 @@ describe("getPlatformTransactionSignFlowInfos", () => {
69
70
  recipient: ethPlatformTx.recipient,
70
71
  gasLimit: ethPlatformTx.gasLimit,
71
72
  customGasLimit: ethPlatformTx.gasLimit,
72
- nonce: undefined,
73
+ nonce: createTransaction_1.DEFAULT_NONCE,
73
74
  data: undefined,
74
75
  type: 2,
75
76
  };
@@ -78,6 +79,29 @@ describe("getPlatformTransactionSignFlowInfos", () => {
78
79
  expect(hasFeesProvided).toBe(false);
79
80
  expect(liveTx).toEqual(expectedLiveTx);
80
81
  });
82
+ test("with nonce provided", () => {
83
+ const ethPlatformTx = {
84
+ family: live_app_sdk_1.FAMILIES.ETHEREUM,
85
+ amount: new bignumber_js_1.default(100000),
86
+ recipient: "0xABCDEF",
87
+ nonce: 1,
88
+ };
89
+ const expectedLiveTx = {
90
+ family: "evm",
91
+ amount: ethPlatformTx.amount,
92
+ recipient: ethPlatformTx.recipient,
93
+ data: undefined,
94
+ gasLimit: undefined,
95
+ nonce: 1,
96
+ customGasLimit: undefined,
97
+ feesStrategy: undefined,
98
+ type: 2,
99
+ };
100
+ const { canEditFees, hasFeesProvided, liveTx } = platformAdapter_1.default.getPlatformTransactionSignFlowInfos(ethPlatformTx);
101
+ expect(canEditFees).toBe(true);
102
+ expect(hasFeesProvided).toBe(false);
103
+ expect(liveTx).toEqual(expectedLiveTx);
104
+ });
81
105
  });
82
106
  });
83
107
  //# sourceMappingURL=platformAdapter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platformAdapter.test.js","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platformAdapter.test.js","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { EthereumTransaction as WalletAPIEthereumTransaction } from "@ledgerhq/wallet-api-core";
2
1
  import { Transaction } from "@ledgerhq/coin-evm/types/index";
2
+ import { EthereumTransaction as WalletAPIEthereumTransaction } from "@ledgerhq/wallet-api-core";
3
3
  import { GetWalletAPITransactionSignFlowInfos } from "../../wallet-api/types";
4
4
  declare const _default: {
5
5
  getWalletAPITransactionSignFlowInfos: GetWalletAPITransactionSignFlowInfos<WalletAPIEthereumTransaction, Transaction>;
@@ -1 +1 @@
1
- {"version":3,"file":"walletApiAdapter.d.ts","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,IAAI,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAGL,oCAAoC,EACrC,MAAM,wBAAwB,CAAC;;;;AAwEhC,wBAAwD"}
1
+ {"version":3,"file":"walletApiAdapter.d.ts","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,IAAI,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAGL,oCAAoC,EACrC,MAAM,wBAAwB,CAAC;;;;AAwEhC,wBAAwD"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const createTransaction_1 = require("@ledgerhq/coin-evm/createTransaction");
3
4
  const CAN_EDIT_FEES = true;
4
5
  const areFeesProvided = tx => !!((tx.gasLimit && tx.gasPrice) || (tx.gasLimit && tx.maxFeePerGas && tx.maxPriorityFeePerGas));
5
6
  const convertToLiveTransaction = tx => {
6
7
  const hasFeesProvided = areFeesProvided(tx);
7
8
  const params = {
8
9
  family: "evm",
9
- nonce: tx.nonce,
10
+ nonce: tx.nonce === undefined ? createTransaction_1.DEFAULT_NONCE : tx.nonce,
10
11
  amount: tx.amount,
11
12
  recipient: tx.recipient,
12
13
  data: tx.data,
@@ -1 +1 @@
1
- {"version":3,"file":"walletApiAdapter.js","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.ts"],"names":[],"mappings":";;AAQA,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,eAAe,GAAkD,EAAE,CAAC,EAAE,CAC1E,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAElG,MAAM,wBAAwB,GAG1B,EAAE,CAAC,EAAE;IACP,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,KAAc;QACtB,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,YAAY,EAAE,eAAe,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,QAAkB;QACzE,cAAc,EAAE,EAAE,CAAC,QAAQ;KAC5B,CAAC;IAEF,mFAAmF;IAEnF;;;;;;;;;;;;;;OAcG;IAEH,MAAM,MAAM,GAAyB,EAAE,CAAC,QAAQ;QAC9C,CAAC,iCACM,MAAM,KACT,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,YAAY,EAAE,SAAS,EACvB,oBAAoB,EAAE,SAAS,EAC/B,IAAI,EAAE,CAAC,IAEX,CAAC,iCACM,MAAM,KACT,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,EAAE,CAAC,YAAY,EAC7B,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAC7C,IAAI,EAAE,CAAC,GACR,CAAC;IAEN,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,oCAAoC,GAGtC,EAAE,CAAC,EAAE;IACP,OAAO;QACL,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,EAAE,oCAAoC,EAAE,CAAC"}
1
+ {"version":3,"file":"walletApiAdapter.js","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.ts"],"names":[],"mappings":";;AAAA,4EAAqE;AASrE,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,eAAe,GAAkD,EAAE,CAAC,EAAE,CAC1E,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAElG,MAAM,wBAAwB,GAG1B,EAAE,CAAC,EAAE;IACP,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAyB;QACnC,MAAM,EAAE,KAAc;QACtB,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,iCAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;QACxD,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,YAAY,EAAE,eAAe,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,QAAkB;QACzE,cAAc,EAAE,EAAE,CAAC,QAAQ;KAC5B,CAAC;IAEF,mFAAmF;IAEnF;;;;;;;;;;;;;;OAcG;IAEH,MAAM,MAAM,GAAyB,EAAE,CAAC,QAAQ;QAC9C,CAAC,iCACM,MAAM,KACT,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,YAAY,EAAE,SAAS,EACvB,oBAAoB,EAAE,SAAS,EAC/B,IAAI,EAAE,CAAC,IAEX,CAAC,iCACM,MAAM,KACT,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,EAAE,CAAC,YAAY,EAC7B,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAC7C,IAAI,EAAE,CAAC,GACR,CAAC;IAEN,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,oCAAoC,GAGtC,EAAE,CAAC,EAAE;IACP,OAAO;QACL,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,EAAE,oCAAoC,EAAE,CAAC"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const createTransaction_1 = require("@ledgerhq/coin-evm/createTransaction");
6
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
8
  const walletApiAdapter_1 = __importDefault(require("./walletApiAdapter"));
8
9
  describe("getWalletAPITransactionSignFlowInfos", () => {
@@ -19,7 +20,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
19
20
  recipient: ethPlatformTx.recipient,
20
21
  data: undefined,
21
22
  gasLimit: undefined,
22
- nonce: undefined,
23
+ nonce: createTransaction_1.DEFAULT_NONCE,
23
24
  customGasLimit: undefined,
24
25
  feesStrategy: "medium",
25
26
  maxFeePerGas: undefined,
@@ -46,7 +47,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
46
47
  gasPrice: ethPlatformTx.gasPrice,
47
48
  gasLimit: ethPlatformTx.gasLimit,
48
49
  customGasLimit: ethPlatformTx.gasLimit,
49
- nonce: undefined,
50
+ nonce: createTransaction_1.DEFAULT_NONCE,
50
51
  data: undefined,
51
52
  feesStrategy: "custom",
52
53
  type: 0,
@@ -73,7 +74,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
73
74
  customGasLimit: ethPlatformTx.gasLimit,
74
75
  maxFeePerGas: ethPlatformTx.maxFeePerGas,
75
76
  maxPriorityFeePerGas: ethPlatformTx.maxPriorityFeePerGas,
76
- nonce: undefined,
77
+ nonce: createTransaction_1.DEFAULT_NONCE,
77
78
  data: undefined,
78
79
  feesStrategy: "custom",
79
80
  type: 2,
@@ -99,7 +100,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
99
100
  feesStrategy: "medium",
100
101
  maxFeePerGas: undefined,
101
102
  maxPriorityFeePerGas: undefined,
102
- nonce: undefined,
103
+ nonce: createTransaction_1.DEFAULT_NONCE,
103
104
  data: undefined,
104
105
  type: 2,
105
106
  };
@@ -108,6 +109,31 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
108
109
  expect(hasFeesProvided).toBe(false);
109
110
  expect(liveTx).toEqual(expectedLiveTx);
110
111
  });
112
+ test("with nonce provided", () => {
113
+ const ethPlatformTx = {
114
+ family: "ethereum",
115
+ amount: new bignumber_js_1.default(100000),
116
+ recipient: "0xABCDEF",
117
+ nonce: 1,
118
+ };
119
+ const expectedLiveTx = {
120
+ family: "evm",
121
+ amount: ethPlatformTx.amount,
122
+ recipient: ethPlatformTx.recipient,
123
+ data: undefined,
124
+ gasLimit: undefined,
125
+ nonce: 1,
126
+ customGasLimit: undefined,
127
+ feesStrategy: "medium",
128
+ maxFeePerGas: undefined,
129
+ maxPriorityFeePerGas: undefined,
130
+ type: 2,
131
+ };
132
+ const { canEditFees, hasFeesProvided, liveTx } = walletApiAdapter_1.default.getWalletAPITransactionSignFlowInfos(ethPlatformTx);
133
+ expect(canEditFees).toBe(true);
134
+ expect(hasFeesProvided).toBe(false);
135
+ expect(liveTx).toEqual(expectedLiveTx);
136
+ });
111
137
  });
112
138
  });
113
139
  //# sourceMappingURL=walletApiAdapter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletApiAdapter.test.js","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletApiAdapter.test.js","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { EthereumTransaction as PlatformTransaction } from "@ledgerhq/live-app-sdk";
2
1
  import { Transaction } from "@ledgerhq/coin-evm/types/index";
2
+ import { EthereumTransaction as PlatformTransaction } from "@ledgerhq/live-app-sdk";
3
3
  declare const _default: {
4
4
  getPlatformTransactionSignFlowInfos: (tx: PlatformTransaction) => {
5
5
  canEditFees: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"platformAdapter.d.ts","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;;;;;;;;AAkD7D,wBAAuD"}
1
+ {"version":3,"file":"platformAdapter.d.ts","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;;;;;;;;AAkDpF,wBAAuD"}
@@ -1,11 +1,12 @@
1
1
  // TODO: to remove once live-app-sdk is depreciated and removed from LL
2
+ import { DEFAULT_NONCE } from "@ledgerhq/coin-evm/createTransaction";
2
3
  const CAN_EDIT_FEES = true;
3
4
  const areFeesProvided = (tx) => !!(tx.gasLimit && tx.gasPrice);
4
5
  const convertToLiveTransaction = (tx) => {
5
6
  const hasFeesProvided = areFeesProvided(tx);
6
7
  const params = {
7
8
  family: "evm",
8
- nonce: tx.nonce,
9
+ nonce: tx.nonce === undefined ? DEFAULT_NONCE : tx.nonce,
9
10
  amount: tx.amount,
10
11
  recipient: tx.recipient,
11
12
  data: tx.data,
@@ -1 +1 @@
1
- {"version":3,"file":"platformAdapter.js","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAKvE,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,eAAe,GAAG,CAAC,EAAuB,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE7F,MAAM,wBAAwB,GAAG,CAAC,EAAuB,EAAwB,EAAE;IACjF,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,KAAc;QACtB,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,cAAc,EAAE,EAAE,CAAC,QAAQ;QAC3B,YAAY,EAAE,SAAS;QACvB,oBAAoB,EAAE,SAAS;KAChC,CAAC;IAEF,mFAAmF;IACnF,MAAM,MAAM,GAAyB,EAAE,CAAC,QAAQ;QAC9C,CAAC,iCACM,MAAM;YACT,gFAAgF;YAChF,oEAAoE;YACpE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAC,SAAS,EAC/D,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,IAAI,EAAE,CAAC,IAEX,CAAC,iCAAM,MAAM,KAAE,IAAI,EAAE,CAAC,GAAE,CAAC;IAE3B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAC1C,EAAuB,EAKvB,EAAE;IACF,OAAO;QACL,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,EAAE,mCAAmC,EAAE,CAAC"}
1
+ {"version":3,"file":"platformAdapter.js","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAIrE,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,eAAe,GAAG,CAAC,EAAuB,EAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE7F,MAAM,wBAAwB,GAAG,CAAC,EAAuB,EAAwB,EAAE;IACjF,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,KAAc;QACtB,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;QACxD,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,cAAc,EAAE,EAAE,CAAC,QAAQ;QAC3B,YAAY,EAAE,SAAS;QACvB,oBAAoB,EAAE,SAAS;KAChC,CAAC;IAEF,mFAAmF;IACnF,MAAM,MAAM,GAAyB,EAAE,CAAC,QAAQ;QAC9C,CAAC,iCACM,MAAM;YACT,gFAAgF;YAChF,oEAAoE;YACpE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAC,SAAS,EAC/D,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,IAAI,EAAE,CAAC,IAEX,CAAC,iCAAM,MAAM,KAAE,IAAI,EAAE,CAAC,GAAE,CAAC;IAE3B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAC1C,EAAuB,EAKvB,EAAE;IACF,OAAO;QACL,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,EAAE,mCAAmC,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { DEFAULT_NONCE } from "@ledgerhq/coin-evm/createTransaction";
1
2
  import { FAMILIES } from "@ledgerhq/live-app-sdk";
2
3
  import BigNumber from "bignumber.js";
3
4
  import evm from "./platformAdapter";
@@ -15,7 +16,7 @@ describe("getPlatformTransactionSignFlowInfos", () => {
15
16
  recipient: ethPlatformTx.recipient,
16
17
  data: undefined,
17
18
  gasLimit: undefined,
18
- nonce: undefined,
19
+ nonce: DEFAULT_NONCE,
19
20
  customGasLimit: undefined,
20
21
  feesStrategy: undefined,
21
22
  type: 2,
@@ -41,7 +42,7 @@ describe("getPlatformTransactionSignFlowInfos", () => {
41
42
  gasPrice: ethPlatformTx.gasPrice,
42
43
  gasLimit: ethPlatformTx.gasLimit,
43
44
  customGasLimit: ethPlatformTx.gasLimit,
44
- nonce: undefined,
45
+ nonce: DEFAULT_NONCE,
45
46
  data: undefined,
46
47
  feesStrategy: "custom",
47
48
  type: 0,
@@ -64,7 +65,7 @@ describe("getPlatformTransactionSignFlowInfos", () => {
64
65
  recipient: ethPlatformTx.recipient,
65
66
  gasLimit: ethPlatformTx.gasLimit,
66
67
  customGasLimit: ethPlatformTx.gasLimit,
67
- nonce: undefined,
68
+ nonce: DEFAULT_NONCE,
68
69
  data: undefined,
69
70
  type: 2,
70
71
  };
@@ -73,6 +74,29 @@ describe("getPlatformTransactionSignFlowInfos", () => {
73
74
  expect(hasFeesProvided).toBe(false);
74
75
  expect(liveTx).toEqual(expectedLiveTx);
75
76
  });
77
+ test("with nonce provided", () => {
78
+ const ethPlatformTx = {
79
+ family: FAMILIES.ETHEREUM,
80
+ amount: new BigNumber(100000),
81
+ recipient: "0xABCDEF",
82
+ nonce: 1,
83
+ };
84
+ const expectedLiveTx = {
85
+ family: "evm",
86
+ amount: ethPlatformTx.amount,
87
+ recipient: ethPlatformTx.recipient,
88
+ data: undefined,
89
+ gasLimit: undefined,
90
+ nonce: 1,
91
+ customGasLimit: undefined,
92
+ feesStrategy: undefined,
93
+ type: 2,
94
+ };
95
+ const { canEditFees, hasFeesProvided, liveTx } = evm.getPlatformTransactionSignFlowInfos(ethPlatformTx);
96
+ expect(canEditFees).toBe(true);
97
+ expect(hasFeesProvided).toBe(false);
98
+ expect(liveTx).toEqual(expectedLiveTx);
99
+ });
76
100
  });
77
101
  });
78
102
  //# sourceMappingURL=platformAdapter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platformAdapter.test.js","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platformAdapter.test.js","sourceRoot":"","sources":["../../../src/families/evm/platformAdapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,EAAE,QAAQ,EAA8C,MAAM,wBAAwB,CAAC;AAC9F,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAEpC,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,QAAQ,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAC7D,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACjC,MAAM,aAAa,GAAwB;gBACzC,MAAM,EAAE,QAAQ,CAAC,QAAQ;gBACzB,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC;gBAC7B,SAAS,EAAE,UAAU;aACtB,CAAC;YAEF,MAAM,cAAc,GAAyB;gBAC3C,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,aAAa;gBACpB,cAAc,EAAE,SAAS;gBACzB,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC;aACR,CAAC;YAEF,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,GAC5C,GAAG,CAAC,mCAAmC,CAAC,aAAa,CAAC,CAAC;YAEzD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/B,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEpC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC5C,MAAM,aAAa,GAAwB;gBACzC,MAAM,EAAE,QAAQ,CAAC,QAAQ;gBACzB,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC;gBAC7B,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;gBAC5B,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;aAC/B,CAAC;YAEF,MAAM,cAAc,GAAyB;gBAC3C,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,cAAc,EAAE,aAAa,CAAC,QAAQ;gBACtC,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,CAAC;aACR,CAAC;YAEF,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,GAC5C,GAAG,CAAC,mCAAmC,CAAC,aAAa,CAAC,CAAC;YAEzD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/B,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACvC,MAAM,aAAa,GAAwB;gBACzC,MAAM,EAAE,QAAQ,CAAC,QAAQ;gBACzB,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC;gBAC7B,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;aAC/B,CAAC;YAEF,MAAM,cAAc,GAAyB;gBAC3C,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,cAAc,EAAE,aAAa,CAAC,QAAQ;gBACtC,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,CAAC;aACR,CAAC;YAEF,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,GAC5C,GAAG,CAAC,mCAAmC,CAAC,aAAa,CAAC,CAAC;YAEzD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/B,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEpC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC/B,MAAM,aAAa,GAAwB;gBACzC,MAAM,EAAE,QAAQ,CAAC,QAAQ;gBACzB,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC;gBAC7B,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,CAAC;aACT,CAAC;YAEF,MAAM,cAAc,GAAyB;gBAC3C,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,CAAC;gBACR,cAAc,EAAE,SAAS;gBACzB,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC;aACR,CAAC;YAEF,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,GAC5C,GAAG,CAAC,mCAAmC,CAAC,aAAa,CAAC,CAAC;YAEzD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/B,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEpC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { EthereumTransaction as WalletAPIEthereumTransaction } from "@ledgerhq/wallet-api-core";
2
1
  import { Transaction } from "@ledgerhq/coin-evm/types/index";
2
+ import { EthereumTransaction as WalletAPIEthereumTransaction } from "@ledgerhq/wallet-api-core";
3
3
  import { GetWalletAPITransactionSignFlowInfos } from "../../wallet-api/types";
4
4
  declare const _default: {
5
5
  getWalletAPITransactionSignFlowInfos: GetWalletAPITransactionSignFlowInfos<WalletAPIEthereumTransaction, Transaction>;
@@ -1 +1 @@
1
- {"version":3,"file":"walletApiAdapter.d.ts","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,IAAI,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAGL,oCAAoC,EACrC,MAAM,wBAAwB,CAAC;;;;AAwEhC,wBAAwD"}
1
+ {"version":3,"file":"walletApiAdapter.d.ts","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,IAAI,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAGL,oCAAoC,EACrC,MAAM,wBAAwB,CAAC;;;;AAwEhC,wBAAwD"}
@@ -1,10 +1,11 @@
1
+ import { DEFAULT_NONCE } from "@ledgerhq/coin-evm/createTransaction";
1
2
  const CAN_EDIT_FEES = true;
2
3
  const areFeesProvided = tx => !!((tx.gasLimit && tx.gasPrice) || (tx.gasLimit && tx.maxFeePerGas && tx.maxPriorityFeePerGas));
3
4
  const convertToLiveTransaction = tx => {
4
5
  const hasFeesProvided = areFeesProvided(tx);
5
6
  const params = {
6
7
  family: "evm",
7
- nonce: tx.nonce,
8
+ nonce: tx.nonce === undefined ? DEFAULT_NONCE : tx.nonce,
8
9
  amount: tx.amount,
9
10
  recipient: tx.recipient,
10
11
  data: tx.data,
@@ -1 +1 @@
1
- {"version":3,"file":"walletApiAdapter.js","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.ts"],"names":[],"mappings":"AAQA,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,eAAe,GAAkD,EAAE,CAAC,EAAE,CAC1E,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAElG,MAAM,wBAAwB,GAG1B,EAAE,CAAC,EAAE;IACP,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,KAAc;QACtB,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,YAAY,EAAE,eAAe,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,QAAkB;QACzE,cAAc,EAAE,EAAE,CAAC,QAAQ;KAC5B,CAAC;IAEF,mFAAmF;IAEnF;;;;;;;;;;;;;;OAcG;IAEH,MAAM,MAAM,GAAyB,EAAE,CAAC,QAAQ;QAC9C,CAAC,iCACM,MAAM,KACT,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,YAAY,EAAE,SAAS,EACvB,oBAAoB,EAAE,SAAS,EAC/B,IAAI,EAAE,CAAC,IAEX,CAAC,iCACM,MAAM,KACT,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,EAAE,CAAC,YAAY,EAC7B,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAC7C,IAAI,EAAE,CAAC,GACR,CAAC;IAEN,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,oCAAoC,GAGtC,EAAE,CAAC,EAAE;IACP,OAAO;QACL,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,EAAE,oCAAoC,EAAE,CAAC"}
1
+ {"version":3,"file":"walletApiAdapter.js","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AASrE,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,eAAe,GAAkD,EAAE,CAAC,EAAE,CAC1E,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAElG,MAAM,wBAAwB,GAG1B,EAAE,CAAC,EAAE;IACP,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAyB;QACnC,MAAM,EAAE,KAAc;QACtB,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;QACxD,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,YAAY,EAAE,eAAe,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,QAAkB;QACzE,cAAc,EAAE,EAAE,CAAC,QAAQ;KAC5B,CAAC;IAEF,mFAAmF;IAEnF;;;;;;;;;;;;;;OAcG;IAEH,MAAM,MAAM,GAAyB,EAAE,CAAC,QAAQ;QAC9C,CAAC,iCACM,MAAM,KACT,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,YAAY,EAAE,SAAS,EACvB,oBAAoB,EAAE,SAAS,EAC/B,IAAI,EAAE,CAAC,IAEX,CAAC,iCACM,MAAM,KACT,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,EAAE,CAAC,YAAY,EAC7B,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAC7C,IAAI,EAAE,CAAC,GACR,CAAC;IAEN,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,oCAAoC,GAGtC,EAAE,CAAC,EAAE;IACP,OAAO;QACL,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,EAAE,oCAAoC,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { DEFAULT_NONCE } from "@ledgerhq/coin-evm/createTransaction";
1
2
  import BigNumber from "bignumber.js";
2
3
  import evm from "./walletApiAdapter";
3
4
  describe("getWalletAPITransactionSignFlowInfos", () => {
@@ -14,7 +15,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
14
15
  recipient: ethPlatformTx.recipient,
15
16
  data: undefined,
16
17
  gasLimit: undefined,
17
- nonce: undefined,
18
+ nonce: DEFAULT_NONCE,
18
19
  customGasLimit: undefined,
19
20
  feesStrategy: "medium",
20
21
  maxFeePerGas: undefined,
@@ -41,7 +42,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
41
42
  gasPrice: ethPlatformTx.gasPrice,
42
43
  gasLimit: ethPlatformTx.gasLimit,
43
44
  customGasLimit: ethPlatformTx.gasLimit,
44
- nonce: undefined,
45
+ nonce: DEFAULT_NONCE,
45
46
  data: undefined,
46
47
  feesStrategy: "custom",
47
48
  type: 0,
@@ -68,7 +69,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
68
69
  customGasLimit: ethPlatformTx.gasLimit,
69
70
  maxFeePerGas: ethPlatformTx.maxFeePerGas,
70
71
  maxPriorityFeePerGas: ethPlatformTx.maxPriorityFeePerGas,
71
- nonce: undefined,
72
+ nonce: DEFAULT_NONCE,
72
73
  data: undefined,
73
74
  feesStrategy: "custom",
74
75
  type: 2,
@@ -94,7 +95,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
94
95
  feesStrategy: "medium",
95
96
  maxFeePerGas: undefined,
96
97
  maxPriorityFeePerGas: undefined,
97
- nonce: undefined,
98
+ nonce: DEFAULT_NONCE,
98
99
  data: undefined,
99
100
  type: 2,
100
101
  };
@@ -103,6 +104,31 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
103
104
  expect(hasFeesProvided).toBe(false);
104
105
  expect(liveTx).toEqual(expectedLiveTx);
105
106
  });
107
+ test("with nonce provided", () => {
108
+ const ethPlatformTx = {
109
+ family: "ethereum",
110
+ amount: new BigNumber(100000),
111
+ recipient: "0xABCDEF",
112
+ nonce: 1,
113
+ };
114
+ const expectedLiveTx = {
115
+ family: "evm",
116
+ amount: ethPlatformTx.amount,
117
+ recipient: ethPlatformTx.recipient,
118
+ data: undefined,
119
+ gasLimit: undefined,
120
+ nonce: 1,
121
+ customGasLimit: undefined,
122
+ feesStrategy: "medium",
123
+ maxFeePerGas: undefined,
124
+ maxPriorityFeePerGas: undefined,
125
+ type: 2,
126
+ };
127
+ const { canEditFees, hasFeesProvided, liveTx } = evm.getWalletAPITransactionSignFlowInfos(ethPlatformTx);
128
+ expect(canEditFees).toBe(true);
129
+ expect(hasFeesProvided).toBe(false);
130
+ expect(liveTx).toEqual(expectedLiveTx);
131
+ });
106
132
  });
107
133
  });
108
134
  //# sourceMappingURL=walletApiAdapter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletApiAdapter.test.js","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletApiAdapter.test.js","sourceRoot":"","sources":["../../../src/families/evm/walletApiAdapter.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ledgerhq/live-common",
3
3
  "description": "Common ground for the Ledger Live apps",
4
- "version": "33.2.0-next.0",
4
+ "version": "33.2.0-next.2",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/LedgerHQ/ledger-live.git"
@@ -195,32 +195,32 @@
195
195
  "varuint-bitcoin": "1.1.2",
196
196
  "winston": "^3.4.0",
197
197
  "xstate": "^4.30.2",
198
- "@ledgerhq/coin-algorand": "^0.3.6-next.0",
199
- "@ledgerhq/coin-evm": "^0.11.0-next.0",
200
- "@ledgerhq/coin-framework": "^0.9.0-next.0",
201
- "@ledgerhq/coin-polkadot": "^0.4.6-next.0",
202
- "@ledgerhq/cryptoassets": "^11.2.0-next.0",
203
- "@ledgerhq/devices": "^8.1.0-next.0",
198
+ "@ledgerhq/coin-algorand": "^0.3.6-next.1",
199
+ "@ledgerhq/coin-evm": "^0.11.0-next.1",
200
+ "@ledgerhq/coin-polkadot": "^0.4.6-next.1",
201
+ "@ledgerhq/coin-framework": "^0.9.0-next.1",
204
202
  "@ledgerhq/errors": "^6.16.0-next.0",
203
+ "@ledgerhq/cryptoassets": "^11.2.0-next.1",
204
+ "@ledgerhq/devices": "^8.1.0-next.0",
205
205
  "@ledgerhq/hw-app-algorand": "^6.28.0-next.0",
206
206
  "@ledgerhq/hw-app-btc": "^10.1.0-next.0",
207
207
  "@ledgerhq/hw-app-cosmos": "^6.29.0-next.0",
208
- "@ledgerhq/hw-app-eth": "^6.35.0-next.0",
208
+ "@ledgerhq/hw-app-eth": "^6.35.0-next.1",
209
209
  "@ledgerhq/hw-app-exchange": "^0.4.0-next.0",
210
210
  "@ledgerhq/hw-app-near": "^6.28.0-next.0",
211
- "@ledgerhq/hw-app-polkadot": "^6.28.0-next.0",
212
211
  "@ledgerhq/hw-app-solana": "^7.1.0-next.0",
212
+ "@ledgerhq/hw-app-polkadot": "^6.28.0-next.0",
213
213
  "@ledgerhq/hw-app-str": "^6.28.0-next.0",
214
214
  "@ledgerhq/hw-app-tezos": "^6.28.0-next.0",
215
215
  "@ledgerhq/hw-app-trx": "^6.28.0-next.0",
216
216
  "@ledgerhq/hw-app-xrp": "^6.28.0-next.0",
217
217
  "@ledgerhq/hw-transport": "^6.30.0-next.0",
218
- "@ledgerhq/hw-transport-mocker": "^6.28.0-next.0",
219
218
  "@ledgerhq/hw-transport-node-speculos": "^6.28.0-next.0",
220
219
  "@ledgerhq/hw-transport-node-speculos-http": "^6.28.0-next.0",
220
+ "@ledgerhq/hw-transport-mocker": "^6.28.0-next.0",
221
221
  "@ledgerhq/live-env": "^0.7.0-next.0",
222
- "@ledgerhq/live-network": "^1.1.9-next.0",
223
222
  "@ledgerhq/live-promise": "^0.0.3-next.0",
223
+ "@ledgerhq/live-network": "^1.1.9-next.0",
224
224
  "@ledgerhq/logs": "^6.12.0-next.0"
225
225
  },
226
226
  "devDependencies": {
@@ -265,8 +265,8 @@
265
265
  "uuid": "^8.3.2",
266
266
  "ws": "7",
267
267
  "@ledgerhq/types-cryptoassets": "^7.8.0-next.0",
268
- "@ledgerhq/types-devices": "^6.23.0-next.0",
269
- "@ledgerhq/types-live": "^6.43.0-next.0"
268
+ "@ledgerhq/types-live": "^6.43.0-next.0",
269
+ "@ledgerhq/types-devices": "^6.23.0-next.0"
270
270
  },
271
271
  "scripts": {
272
272
  "build": "zx ./scripts/build-ts.mjs",
@@ -1,3 +1,4 @@
1
+ import { DEFAULT_NONCE } from "@ledgerhq/coin-evm/createTransaction";
1
2
  import { Transaction } from "@ledgerhq/coin-evm/types/index";
2
3
  import { FAMILIES, EthereumTransaction as PlatformTransaction } from "@ledgerhq/live-app-sdk";
3
4
  import BigNumber from "bignumber.js";
@@ -18,7 +19,7 @@ describe("getPlatformTransactionSignFlowInfos", () => {
18
19
  recipient: ethPlatformTx.recipient,
19
20
  data: undefined,
20
21
  gasLimit: undefined,
21
- nonce: undefined,
22
+ nonce: DEFAULT_NONCE,
22
23
  customGasLimit: undefined,
23
24
  feesStrategy: undefined,
24
25
  type: 2,
@@ -51,7 +52,7 @@ describe("getPlatformTransactionSignFlowInfos", () => {
51
52
  gasPrice: ethPlatformTx.gasPrice,
52
53
  gasLimit: ethPlatformTx.gasLimit,
53
54
  customGasLimit: ethPlatformTx.gasLimit,
54
- nonce: undefined,
55
+ nonce: DEFAULT_NONCE,
55
56
  data: undefined,
56
57
  feesStrategy: "custom",
57
58
  type: 0,
@@ -81,7 +82,7 @@ describe("getPlatformTransactionSignFlowInfos", () => {
81
82
  recipient: ethPlatformTx.recipient,
82
83
  gasLimit: ethPlatformTx.gasLimit,
83
84
  customGasLimit: ethPlatformTx.gasLimit,
84
- nonce: undefined,
85
+ nonce: DEFAULT_NONCE,
85
86
  data: undefined,
86
87
  type: 2,
87
88
  };
@@ -95,5 +96,35 @@ describe("getPlatformTransactionSignFlowInfos", () => {
95
96
 
96
97
  expect(liveTx).toEqual(expectedLiveTx);
97
98
  });
99
+
100
+ test("with nonce provided", () => {
101
+ const ethPlatformTx: PlatformTransaction = {
102
+ family: FAMILIES.ETHEREUM,
103
+ amount: new BigNumber(100000),
104
+ recipient: "0xABCDEF",
105
+ nonce: 1,
106
+ };
107
+
108
+ const expectedLiveTx: Partial<Transaction> = {
109
+ family: "evm",
110
+ amount: ethPlatformTx.amount,
111
+ recipient: ethPlatformTx.recipient,
112
+ data: undefined,
113
+ gasLimit: undefined,
114
+ nonce: 1,
115
+ customGasLimit: undefined,
116
+ feesStrategy: undefined,
117
+ type: 2,
118
+ };
119
+
120
+ const { canEditFees, hasFeesProvided, liveTx } =
121
+ evm.getPlatformTransactionSignFlowInfos(ethPlatformTx);
122
+
123
+ expect(canEditFees).toBe(true);
124
+
125
+ expect(hasFeesProvided).toBe(false);
126
+
127
+ expect(liveTx).toEqual(expectedLiveTx);
128
+ });
98
129
  });
99
130
  });
@@ -1,7 +1,8 @@
1
1
  // TODO: to remove once live-app-sdk is depreciated and removed from LL
2
2
 
3
- import { EthereumTransaction as PlatformTransaction } from "@ledgerhq/live-app-sdk";
3
+ import { DEFAULT_NONCE } from "@ledgerhq/coin-evm/createTransaction";
4
4
  import { Transaction } from "@ledgerhq/coin-evm/types/index";
5
+ import { EthereumTransaction as PlatformTransaction } from "@ledgerhq/live-app-sdk";
5
6
 
6
7
  const CAN_EDIT_FEES = true;
7
8
 
@@ -12,7 +13,7 @@ const convertToLiveTransaction = (tx: PlatformTransaction): Partial<Transaction>
12
13
 
13
14
  const params = {
14
15
  family: "evm" as const,
15
- nonce: tx.nonce,
16
+ nonce: tx.nonce === undefined ? DEFAULT_NONCE : tx.nonce,
16
17
  amount: tx.amount,
17
18
  recipient: tx.recipient,
18
19
  data: tx.data,
@@ -1,3 +1,4 @@
1
+ import { DEFAULT_NONCE } from "@ledgerhq/coin-evm/createTransaction";
1
2
  import { Transaction } from "@ledgerhq/coin-evm/types/index";
2
3
  import { EthereumTransaction as WalletAPITransaction } from "@ledgerhq/wallet-api-core";
3
4
  import BigNumber from "bignumber.js";
@@ -18,7 +19,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
18
19
  recipient: ethPlatformTx.recipient,
19
20
  data: undefined,
20
21
  gasLimit: undefined,
21
- nonce: undefined,
22
+ nonce: DEFAULT_NONCE,
22
23
  customGasLimit: undefined,
23
24
  feesStrategy: "medium",
24
25
  maxFeePerGas: undefined,
@@ -52,7 +53,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
52
53
  gasPrice: ethPlatformTx.gasPrice,
53
54
  gasLimit: ethPlatformTx.gasLimit,
54
55
  customGasLimit: ethPlatformTx.gasLimit,
55
- nonce: undefined,
56
+ nonce: DEFAULT_NONCE,
56
57
  data: undefined,
57
58
  feesStrategy: "custom",
58
59
  type: 0,
@@ -86,7 +87,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
86
87
  customGasLimit: ethPlatformTx.gasLimit,
87
88
  maxFeePerGas: ethPlatformTx.maxFeePerGas,
88
89
  maxPriorityFeePerGas: ethPlatformTx.maxPriorityFeePerGas,
89
- nonce: undefined,
90
+ nonce: DEFAULT_NONCE,
90
91
  data: undefined,
91
92
  feesStrategy: "custom",
92
93
  type: 2,
@@ -119,7 +120,7 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
119
120
  feesStrategy: "medium",
120
121
  maxFeePerGas: undefined,
121
122
  maxPriorityFeePerGas: undefined,
122
- nonce: undefined,
123
+ nonce: DEFAULT_NONCE,
123
124
  data: undefined,
124
125
  type: 2,
125
126
  };
@@ -133,5 +134,37 @@ describe("getWalletAPITransactionSignFlowInfos", () => {
133
134
 
134
135
  expect(liveTx).toEqual(expectedLiveTx);
135
136
  });
137
+
138
+ test("with nonce provided", () => {
139
+ const ethPlatformTx: WalletAPITransaction = {
140
+ family: "ethereum",
141
+ amount: new BigNumber(100000),
142
+ recipient: "0xABCDEF",
143
+ nonce: 1,
144
+ };
145
+
146
+ const expectedLiveTx: Partial<Transaction> = {
147
+ family: "evm",
148
+ amount: ethPlatformTx.amount,
149
+ recipient: ethPlatformTx.recipient,
150
+ data: undefined,
151
+ gasLimit: undefined,
152
+ nonce: 1,
153
+ customGasLimit: undefined,
154
+ feesStrategy: "medium",
155
+ maxFeePerGas: undefined,
156
+ maxPriorityFeePerGas: undefined,
157
+ type: 2,
158
+ };
159
+
160
+ const { canEditFees, hasFeesProvided, liveTx } =
161
+ evm.getWalletAPITransactionSignFlowInfos(ethPlatformTx);
162
+
163
+ expect(canEditFees).toBe(true);
164
+
165
+ expect(hasFeesProvided).toBe(false);
166
+
167
+ expect(liveTx).toEqual(expectedLiveTx);
168
+ });
136
169
  });
137
170
  });
@@ -1,5 +1,6 @@
1
- import { EthereumTransaction as WalletAPIEthereumTransaction } from "@ledgerhq/wallet-api-core";
1
+ import { DEFAULT_NONCE } from "@ledgerhq/coin-evm/createTransaction";
2
2
  import { Transaction } from "@ledgerhq/coin-evm/types/index";
3
+ import { EthereumTransaction as WalletAPIEthereumTransaction } from "@ledgerhq/wallet-api-core";
3
4
  import {
4
5
  AreFeesProvided,
5
6
  ConvertToLiveTransaction,
@@ -17,9 +18,9 @@ const convertToLiveTransaction: ConvertToLiveTransaction<
17
18
  > = tx => {
18
19
  const hasFeesProvided = areFeesProvided(tx);
19
20
 
20
- const params = {
21
+ const params: Partial<Transaction> = {
21
22
  family: "evm" as const,
22
- nonce: tx.nonce,
23
+ nonce: tx.nonce === undefined ? DEFAULT_NONCE : tx.nonce,
23
24
  amount: tx.amount,
24
25
  recipient: tx.recipient,
25
26
  data: tx.data,