@ledgerhq/coin-hedera 1.15.0 → 1.16.0-nightly.20251210114107

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 (186) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -1
  3. package/lib/bridge/buildOptimisticOperation.js +33 -0
  4. package/lib/bridge/buildOptimisticOperation.js.map +1 -1
  5. package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
  6. package/lib/bridge/getTransactionStatus.js +54 -0
  7. package/lib/bridge/getTransactionStatus.js.map +1 -1
  8. package/lib/bridge/index.d.ts.map +1 -1
  9. package/lib/bridge/index.js +4 -2
  10. package/lib/bridge/index.js.map +1 -1
  11. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  12. package/lib/bridge/prepareTransaction.js +16 -0
  13. package/lib/bridge/prepareTransaction.js.map +1 -1
  14. package/lib/bridge/serialization.d.ts.map +1 -1
  15. package/lib/bridge/serialization.js +20 -0
  16. package/lib/bridge/serialization.js.map +1 -1
  17. package/lib/bridge/signOperation.d.ts +4 -4
  18. package/lib/bridge/signOperation.d.ts.map +1 -1
  19. package/lib/bridge/signOperation.js +10 -0
  20. package/lib/bridge/signOperation.js.map +1 -1
  21. package/lib/bridge/synchronisation.d.ts.map +1 -1
  22. package/lib/bridge/synchronisation.js +8 -0
  23. package/lib/bridge/synchronisation.js.map +1 -1
  24. package/lib/constants.d.ts +21 -1
  25. package/lib/constants.d.ts.map +1 -1
  26. package/lib/constants.js +22 -1
  27. package/lib/constants.js.map +1 -1
  28. package/lib/deviceTransactionConfig.d.ts.map +1 -1
  29. package/lib/deviceTransactionConfig.js +30 -0
  30. package/lib/deviceTransactionConfig.js.map +1 -1
  31. package/lib/errors.d.ts +9 -0
  32. package/lib/errors.d.ts.map +1 -1
  33. package/lib/errors.js +4 -1
  34. package/lib/errors.js.map +1 -1
  35. package/lib/logic/craftTransaction.d.ts +2 -2
  36. package/lib/logic/craftTransaction.d.ts.map +1 -1
  37. package/lib/logic/craftTransaction.js +42 -8
  38. package/lib/logic/craftTransaction.js.map +1 -1
  39. package/lib/logic/getBlock.d.ts.map +1 -1
  40. package/lib/logic/getBlock.js +1 -0
  41. package/lib/logic/getBlock.js.map +1 -1
  42. package/lib/logic/listOperations.d.ts.map +1 -1
  43. package/lib/logic/listOperations.js +39 -7
  44. package/lib/logic/listOperations.js.map +1 -1
  45. package/lib/logic/utils.d.ts +61 -3
  46. package/lib/logic/utils.d.ts.map +1 -1
  47. package/lib/logic/utils.js +117 -4
  48. package/lib/logic/utils.js.map +1 -1
  49. package/lib/network/api.d.ts +3 -1
  50. package/lib/network/api.d.ts.map +1 -1
  51. package/lib/network/api.js +19 -0
  52. package/lib/network/api.js.map +1 -1
  53. package/lib/preload-data.d.ts +7 -0
  54. package/lib/preload-data.d.ts.map +1 -0
  55. package/lib/preload-data.js +37 -0
  56. package/lib/preload-data.js.map +1 -0
  57. package/lib/preload.d.ts +8 -0
  58. package/lib/preload.d.ts.map +1 -0
  59. package/lib/preload.js +76 -0
  60. package/lib/preload.js.map +1 -0
  61. package/lib/test/fixtures/account.fixture.d.ts +1 -1
  62. package/lib/test/fixtures/account.fixture.d.ts.map +1 -1
  63. package/lib/test/fixtures/account.fixture.js +2 -0
  64. package/lib/test/fixtures/account.fixture.js.map +1 -1
  65. package/lib/transaction.d.ts.map +1 -1
  66. package/lib/transaction.js +34 -0
  67. package/lib/transaction.js.map +1 -1
  68. package/lib/types/alpaca.d.ts +3 -0
  69. package/lib/types/alpaca.d.ts.map +1 -1
  70. package/lib/types/bridge.d.ts +87 -3
  71. package/lib/types/bridge.d.ts.map +1 -1
  72. package/lib/types/logic.d.ts +5 -1
  73. package/lib/types/logic.d.ts.map +1 -1
  74. package/lib/types/mirror.d.ts +19 -0
  75. package/lib/types/mirror.d.ts.map +1 -1
  76. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -1
  77. package/lib-es/bridge/buildOptimisticOperation.js +34 -1
  78. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -1
  79. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
  80. package/lib-es/bridge/getTransactionStatus.js +57 -3
  81. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  82. package/lib-es/bridge/index.d.ts.map +1 -1
  83. package/lib-es/bridge/index.js +4 -2
  84. package/lib-es/bridge/index.js.map +1 -1
  85. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  86. package/lib-es/bridge/prepareTransaction.js +15 -2
  87. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  88. package/lib-es/bridge/serialization.d.ts.map +1 -1
  89. package/lib-es/bridge/serialization.js +17 -0
  90. package/lib-es/bridge/serialization.js.map +1 -1
  91. package/lib-es/bridge/signOperation.d.ts +4 -4
  92. package/lib-es/bridge/signOperation.d.ts.map +1 -1
  93. package/lib-es/bridge/signOperation.js +11 -1
  94. package/lib-es/bridge/signOperation.js.map +1 -1
  95. package/lib-es/bridge/synchronisation.d.ts.map +1 -1
  96. package/lib-es/bridge/synchronisation.js +8 -0
  97. package/lib-es/bridge/synchronisation.js.map +1 -1
  98. package/lib-es/constants.d.ts +21 -1
  99. package/lib-es/constants.d.ts.map +1 -1
  100. package/lib-es/constants.js +21 -0
  101. package/lib-es/constants.js.map +1 -1
  102. package/lib-es/deviceTransactionConfig.d.ts.map +1 -1
  103. package/lib-es/deviceTransactionConfig.js +31 -1
  104. package/lib-es/deviceTransactionConfig.js.map +1 -1
  105. package/lib-es/errors.d.ts +9 -0
  106. package/lib-es/errors.d.ts.map +1 -1
  107. package/lib-es/errors.js +3 -0
  108. package/lib-es/errors.js.map +1 -1
  109. package/lib-es/logic/craftTransaction.d.ts +2 -2
  110. package/lib-es/logic/craftTransaction.d.ts.map +1 -1
  111. package/lib-es/logic/craftTransaction.js +44 -10
  112. package/lib-es/logic/craftTransaction.js.map +1 -1
  113. package/lib-es/logic/getBlock.d.ts.map +1 -1
  114. package/lib-es/logic/getBlock.js +2 -1
  115. package/lib-es/logic/getBlock.js.map +1 -1
  116. package/lib-es/logic/listOperations.d.ts.map +1 -1
  117. package/lib-es/logic/listOperations.js +39 -7
  118. package/lib-es/logic/listOperations.js.map +1 -1
  119. package/lib-es/logic/utils.d.ts +61 -3
  120. package/lib-es/logic/utils.d.ts.map +1 -1
  121. package/lib-es/logic/utils.js +107 -4
  122. package/lib-es/logic/utils.js.map +1 -1
  123. package/lib-es/network/api.d.ts +3 -1
  124. package/lib-es/network/api.d.ts.map +1 -1
  125. package/lib-es/network/api.js +19 -0
  126. package/lib-es/network/api.js.map +1 -1
  127. package/lib-es/preload-data.d.ts +7 -0
  128. package/lib-es/preload-data.d.ts.map +1 -0
  129. package/lib-es/preload-data.js +31 -0
  130. package/lib-es/preload-data.js.map +1 -0
  131. package/lib-es/preload.d.ts +8 -0
  132. package/lib-es/preload.d.ts.map +1 -0
  133. package/lib-es/preload.js +67 -0
  134. package/lib-es/preload.js.map +1 -0
  135. package/lib-es/test/fixtures/account.fixture.d.ts +1 -1
  136. package/lib-es/test/fixtures/account.fixture.d.ts.map +1 -1
  137. package/lib-es/test/fixtures/account.fixture.js +2 -0
  138. package/lib-es/test/fixtures/account.fixture.js.map +1 -1
  139. package/lib-es/transaction.d.ts.map +1 -1
  140. package/lib-es/transaction.js +34 -0
  141. package/lib-es/transaction.js.map +1 -1
  142. package/lib-es/types/alpaca.d.ts +3 -0
  143. package/lib-es/types/alpaca.d.ts.map +1 -1
  144. package/lib-es/types/bridge.d.ts +87 -3
  145. package/lib-es/types/bridge.d.ts.map +1 -1
  146. package/lib-es/types/logic.d.ts +5 -1
  147. package/lib-es/types/logic.d.ts.map +1 -1
  148. package/lib-es/types/mirror.d.ts +19 -0
  149. package/lib-es/types/mirror.d.ts.map +1 -1
  150. package/package.json +13 -12
  151. package/src/api/index.integ.test.ts +11 -1
  152. package/src/bridge/buildOptimisticOperation.integration.test.ts +159 -4
  153. package/src/bridge/buildOptimisticOperation.ts +50 -2
  154. package/src/bridge/getTransactionStatus.test.ts +191 -21
  155. package/src/bridge/getTransactionStatus.ts +75 -1
  156. package/src/bridge/index.ts +4 -2
  157. package/src/bridge/prepareTransaction.test.ts +112 -8
  158. package/src/bridge/prepareTransaction.ts +20 -2
  159. package/src/bridge/serialization.ts +17 -0
  160. package/src/bridge/signOperation.ts +15 -5
  161. package/src/bridge/synchronisation.ts +9 -0
  162. package/src/bridge/utils.integration.test.ts +3 -10
  163. package/src/constants.ts +22 -0
  164. package/src/deviceTransactionConfig.test.ts +315 -0
  165. package/src/deviceTransactionConfig.ts +37 -1
  166. package/src/errors.ts +7 -0
  167. package/src/logic/craftTransaction.ts +70 -13
  168. package/src/logic/getBalance.test.ts +15 -16
  169. package/src/logic/getBlock.ts +2 -1
  170. package/src/logic/listOperations.test.ts +86 -29
  171. package/src/logic/listOperations.ts +46 -6
  172. package/src/logic/utils.test.ts +362 -8
  173. package/src/logic/utils.ts +158 -4
  174. package/src/network/api.test.ts +58 -6
  175. package/src/network/api.ts +25 -0
  176. package/src/network/thirdweb.test.ts +2 -2
  177. package/src/network/utils.test.ts +4 -6
  178. package/src/preload-data.ts +38 -0
  179. package/src/preload.test.ts +64 -0
  180. package/src/preload.ts +80 -0
  181. package/src/test/fixtures/account.fixture.ts +3 -1
  182. package/src/transaction.ts +42 -0
  183. package/src/types/alpaca.ts +4 -0
  184. package/src/types/bridge.ts +108 -3
  185. package/src/types/logic.ts +6 -1
  186. package/src/types/mirror.ts +21 -0
package/lib/constants.js CHANGED
@@ -3,7 +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
- exports.SUPPORTED_ERC20_TOKENS = exports.BASE_USD_FEE_BY_OPERATION_TYPE = exports.HEDERA_MAINNET_CHAIN_ID = exports.DEFAULT_GAS_PRICE_TINYBARS = exports.DEFAULT_GAS_LIMIT = exports.ESTIMATED_FEE_SAFETY_RATE = exports.ESTIMATED_GAS_SAFETY_RATE = exports.ERC20_TRANSFER_EVENT_TOPIC = exports.SYNTHETIC_BLOCK_WINDOW_SECONDS = exports.DEFAULT_TINYBAR_FEE = exports.TINYBAR_SCALE = exports.HEDERA_OPERATION_TYPES = exports.HEDERA_TRANSACTION_MODES = void 0;
6
+ exports.MAP_STAKING_MODE_TO_MEMO = exports.SUPPORTED_ERC20_TOKENS = exports.BASE_USD_FEE_BY_OPERATION_TYPE = exports.HEDERA_DELEGATION_STATUS = exports.HEDERA_MAINNET_CHAIN_ID = exports.DEFAULT_GAS_PRICE_TINYBARS = exports.DEFAULT_GAS_LIMIT = exports.ESTIMATED_FEE_SAFETY_RATE = exports.ESTIMATED_GAS_SAFETY_RATE = exports.ERC20_TRANSFER_EVENT_TOPIC = exports.SYNTHETIC_BLOCK_WINDOW_SECONDS = exports.DEFAULT_TINYBAR_FEE = exports.TINYBAR_SCALE = exports.HEDERA_OPERATION_TYPES = exports.HEDERA_TRANSACTION_MODES = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  /**
9
9
  * Internal types to distinguish custom Hedera transaction behaviors.
@@ -13,12 +13,17 @@ var HEDERA_TRANSACTION_MODES;
13
13
  (function (HEDERA_TRANSACTION_MODES) {
14
14
  HEDERA_TRANSACTION_MODES["Send"] = "send";
15
15
  HEDERA_TRANSACTION_MODES["TokenAssociate"] = "token-associate";
16
+ HEDERA_TRANSACTION_MODES["Delegate"] = "delegate";
17
+ HEDERA_TRANSACTION_MODES["Undelegate"] = "undelegate";
18
+ HEDERA_TRANSACTION_MODES["Redelegate"] = "redelegate";
19
+ HEDERA_TRANSACTION_MODES["ClaimRewards"] = "claim-rewards";
16
20
  })(HEDERA_TRANSACTION_MODES || (exports.HEDERA_TRANSACTION_MODES = HEDERA_TRANSACTION_MODES = {}));
17
21
  /**
18
22
  * Enum representing the supported Hedera operation types for fee estimation
19
23
  */
20
24
  var HEDERA_OPERATION_TYPES;
21
25
  (function (HEDERA_OPERATION_TYPES) {
26
+ HEDERA_OPERATION_TYPES["CryptoUpdate"] = "CryptoUpdate";
22
27
  HEDERA_OPERATION_TYPES["CryptoTransfer"] = "CryptoTransfer";
23
28
  HEDERA_OPERATION_TYPES["TokenTransfer"] = "TokenTransfer";
24
29
  HEDERA_OPERATION_TYPES["TokenAssociate"] = "TokenAssociate";
@@ -34,6 +39,15 @@ exports.ESTIMATED_FEE_SAFETY_RATE = 2;
34
39
  exports.DEFAULT_GAS_LIMIT = new bignumber_js_1.default(100_000);
35
40
  exports.DEFAULT_GAS_PRICE_TINYBARS = new bignumber_js_1.default(100);
36
41
  exports.HEDERA_MAINNET_CHAIN_ID = 295;
42
+ /**
43
+ * Enum representing the delegation status of a Hedera account
44
+ */
45
+ var HEDERA_DELEGATION_STATUS;
46
+ (function (HEDERA_DELEGATION_STATUS) {
47
+ HEDERA_DELEGATION_STATUS["Inactive"] = "inactive";
48
+ HEDERA_DELEGATION_STATUS["Overstaked"] = "overstaked";
49
+ HEDERA_DELEGATION_STATUS["Active"] = "active";
50
+ })(HEDERA_DELEGATION_STATUS || (exports.HEDERA_DELEGATION_STATUS = HEDERA_DELEGATION_STATUS = {}));
37
51
  /**
38
52
  * https://docs.hedera.com/hedera/networks/mainnet/fees
39
53
  *
@@ -44,6 +58,7 @@ exports.HEDERA_MAINNET_CHAIN_ID = 295;
44
58
  * has sufficient balance to cover the cost of a transaction (e.g. token association).
45
59
  */
46
60
  exports.BASE_USD_FEE_BY_OPERATION_TYPE = {
61
+ [HEDERA_OPERATION_TYPES.CryptoUpdate]: 0.00022 * 10 ** exports.TINYBAR_SCALE,
47
62
  [HEDERA_OPERATION_TYPES.CryptoTransfer]: 0.0001 * 10 ** exports.TINYBAR_SCALE,
48
63
  [HEDERA_OPERATION_TYPES.TokenTransfer]: 0.001 * 10 ** exports.TINYBAR_SCALE,
49
64
  [HEDERA_OPERATION_TYPES.TokenAssociate]: 0.05 * 10 ** exports.TINYBAR_SCALE,
@@ -78,4 +93,10 @@ exports.SUPPORTED_ERC20_TOKENS = [
78
93
  tokenId: "0.0.10047837",
79
94
  },
80
95
  ];
96
+ exports.MAP_STAKING_MODE_TO_MEMO = {
97
+ [HEDERA_TRANSACTION_MODES.ClaimRewards]: "Collect Staking Rewards",
98
+ [HEDERA_TRANSACTION_MODES.Delegate]: "Stake",
99
+ [HEDERA_TRANSACTION_MODES.Undelegate]: "Unstake",
100
+ [HEDERA_TRANSACTION_MODES.Redelegate]: "Restake",
101
+ };
81
102
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC;;;GAGG;AACH,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,8DAAkC,CAAA;AACpC,CAAC,EAHW,wBAAwB,wCAAxB,wBAAwB,QAGnC;AAED;;GAEG;AACH,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,2DAAiC,CAAA;IACjC,yDAA+B,CAAA;IAC/B,2DAAiC,CAAA;IACjC,uDAA6B,CAAA;AAC/B,CAAC,EALW,sBAAsB,sCAAtB,sBAAsB,QAKjC;AAEY,QAAA,aAAa,GAAG,CAAC,CAAC;AAE/B,mKAAmK;AACtJ,QAAA,mBAAmB,GAAG,MAAM,CAAC;AAE7B,QAAA,8BAA8B,GAAG,EAAE,CAAC;AAEpC,QAAA,0BAA0B,GACrC,oEAAoE,CAAC;AAE1D,QAAA,yBAAyB,GAAG,GAAG,CAAC;AAEhC,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAE9B,QAAA,iBAAiB,GAAG,IAAI,sBAAS,CAAC,OAAO,CAAC,CAAC;AAE3C,QAAA,0BAA0B,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC;AAEhD,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;;;;;;GAQG;AACU,QAAA,8BAA8B,GAAG;IAC5C,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,qBAAa;IACrE,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,qBAAa;IACnE,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,qBAAa;IACnE,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,sEAAsE;CACvD,CAAC;AAE5D;;;;;;GAMG;AACU,QAAA,sBAAsB,GAAG;IACpC;QACE,EAAE,EAAE,8DAA8D;QAClE,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,aAAa;KACvB;IACD;QACE,EAAE,EAAE,2EAA2E;QAC/E,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,aAAa;KACvB;IACD;QACE,EAAE,EAAE,8DAA8D;QAClE,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,aAAa;KACvB;IACD;QACE,EAAE,EAAE,qEAAqE;QACzE,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,cAAc;KACxB;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC;;;GAGG;AACH,IAAY,wBAOX;AAPD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,8DAAkC,CAAA;IAClC,iDAAqB,CAAA;IACrB,qDAAyB,CAAA;IACzB,qDAAyB,CAAA;IACzB,0DAA8B,CAAA;AAChC,CAAC,EAPW,wBAAwB,wCAAxB,wBAAwB,QAOnC;AAED;;GAEG;AACH,IAAY,sBAMX;AAND,WAAY,sBAAsB;IAChC,uDAA6B,CAAA;IAC7B,2DAAiC,CAAA;IACjC,yDAA+B,CAAA;IAC/B,2DAAiC,CAAA;IACjC,uDAA6B,CAAA;AAC/B,CAAC,EANW,sBAAsB,sCAAtB,sBAAsB,QAMjC;AAEY,QAAA,aAAa,GAAG,CAAC,CAAC;AAE/B,mKAAmK;AACtJ,QAAA,mBAAmB,GAAG,MAAM,CAAC;AAE7B,QAAA,8BAA8B,GAAG,EAAE,CAAC;AAEpC,QAAA,0BAA0B,GACrC,oEAAoE,CAAC;AAE1D,QAAA,yBAAyB,GAAG,GAAG,CAAC;AAEhC,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAE9B,QAAA,iBAAiB,GAAG,IAAI,sBAAS,CAAC,OAAO,CAAC,CAAC;AAE3C,QAAA,0BAA0B,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC;AAEhD,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;GAEG;AACH,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAClC,iDAAqB,CAAA;IACrB,qDAAyB,CAAA;IACzB,6CAAiB,CAAA;AACnB,CAAC,EAJW,wBAAwB,wCAAxB,wBAAwB,QAInC;AAED;;;;;;;;GAQG;AACU,QAAA,8BAA8B,GAAG;IAC5C,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,EAAE,IAAI,qBAAa;IACpE,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,qBAAa;IACrE,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,qBAAa;IACnE,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,qBAAa;IACnE,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,sEAAsE;CACvD,CAAC;AAE5D;;;;;;GAMG;AACU,QAAA,sBAAsB,GAAG;IACpC;QACE,EAAE,EAAE,8DAA8D;QAClE,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,aAAa;KACvB;IACD;QACE,EAAE,EAAE,2EAA2E;QAC/E,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,aAAa;KACvB;IACD;QACE,EAAE,EAAE,8DAA8D;QAClE,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,aAAa;KACvB;IACD;QACE,EAAE,EAAE,qEAAqE;QACzE,eAAe,EAAE,4CAA4C;QAC7D,OAAO,EAAE,cAAc;KACxB;CACF,CAAC;AAEW,QAAA,wBAAwB,GAAG;IACtC,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,yBAAyB;IAClE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,OAAO;IAC5C,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,SAAS;IAChD,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,SAAS;CACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,IAAI,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1H,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE9D,iBAAe,0BAA0B,CAAC,EACxC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAC1B,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CA8CzC;AAED,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,IAAI,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1H,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE9D,iBAAe,0BAA0B,CAAC,EACxC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAC1B,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAkFzC;AAED,eAAe,0BAA0B,CAAC"}
@@ -4,6 +4,36 @@ const constants_1 = require("./constants");
4
4
  const utils_1 = require("./logic/utils");
5
5
  async function getDeviceTransactionConfig({ transaction, status: { estimatedFees }, }) {
6
6
  const fields = [];
7
+ if ((0, utils_1.isStakingTransaction)(transaction)) {
8
+ fields.push({
9
+ type: "text",
10
+ label: "Method",
11
+ value: transaction.mode === constants_1.HEDERA_TRANSACTION_MODES.ClaimRewards
12
+ ? "Claim Rewards"
13
+ : "Update Account",
14
+ });
15
+ if (!estimatedFees.isZero()) {
16
+ fields.push({
17
+ type: "fees",
18
+ label: "Fees",
19
+ });
20
+ }
21
+ if (typeof transaction.properties?.stakingNodeId === "number") {
22
+ fields.push({
23
+ type: "text",
24
+ label: "Staked Node ID",
25
+ value: transaction.properties.stakingNodeId.toString(),
26
+ });
27
+ }
28
+ if (transaction.memo) {
29
+ fields.push({
30
+ type: "text",
31
+ label: "Memo",
32
+ value: transaction.memo,
33
+ });
34
+ }
35
+ return fields;
36
+ }
7
37
  const method = (() => {
8
38
  if ((0, utils_1.isTokenAssociateTransaction)(transaction))
9
39
  return "Associate Token";
@@ -1 +1 @@
1
- {"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":";;AAEA,2CAAuD;AACvD,yCAA4D;AAG5D,KAAK,UAAU,0BAA0B,CAAC,EACxC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAM1B;IACC,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,IAAA,mCAA2B,EAAC,WAAW,CAAC;YAAE,OAAO,iBAAiB,CAAC;aAClE,IAAI,WAAW,CAAC,YAAY;YAAE,OAAO,cAAc,CAAC;;YACpD,OAAO,UAAU,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,IAAA,mCAA2B,EAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,oCAAwB,CAAC,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,WAAW,CAAC,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":";;AAEA,2CAAuD;AACvD,yCAAkF;AAGlF,KAAK,UAAU,0BAA0B,CAAC,EACxC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAM1B;IACC,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,IAAI,IAAA,4BAAoB,EAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,KAAK,EACH,WAAW,CAAC,IAAI,KAAK,oCAAwB,CAAC,YAAY;gBACxD,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,gBAAgB;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,WAAW,CAAC,UAAU,EAAE,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,WAAW,CAAC,IAAI;aACxB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,IAAA,mCAA2B,EAAC,WAAW,CAAC;YAAE,OAAO,iBAAiB,CAAC;aAClE,IAAI,WAAW,CAAC,YAAY;YAAE,OAAO,cAAc,CAAC;;YACpD,OAAO,UAAU,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,IAAA,mCAA2B,EAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,oCAAwB,CAAC,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,WAAW,CAAC,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
package/lib/errors.d.ts CHANGED
@@ -16,4 +16,13 @@ export declare const HederaRecipientTokenAssociationUnverified: import("@ledgerh
16
16
  export declare const HederaRecipientEvmAddressVerificationRequired: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
17
17
  [key: string]: unknown;
18
18
  }>;
19
+ export declare const HederaRedundantStakingNodeIdError: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
20
+ [key: string]: unknown;
21
+ }>;
22
+ export declare const HederaInvalidStakingNodeIdError: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
23
+ [key: string]: unknown;
24
+ }>;
25
+ export declare const HederaNoStakingRewardsError: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
26
+ [key: string]: unknown;
27
+ }>;
19
28
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;EAAkD,CAAC;AACrF,eAAO,MAAM,8BAA8B;;EAE1C,CAAC;AACF,eAAO,MAAM,qCAAqC;;EAEjD,CAAC;AACF,eAAO,MAAM,uCAAuC;;EAEnD,CAAC;AACF,eAAO,MAAM,yCAAyC;;EAErD,CAAC;AACF,eAAO,MAAM,6CAA6C;;EAEzD,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;EAAkD,CAAC;AACrF,eAAO,MAAM,8BAA8B;;EAE1C,CAAC;AACF,eAAO,MAAM,qCAAqC;;EAEjD,CAAC;AACF,eAAO,MAAM,uCAAuC;;EAEnD,CAAC;AACF,eAAO,MAAM,yCAAyC;;EAErD,CAAC;AACF,eAAO,MAAM,6CAA6C;;EAEzD,CAAC;AACF,eAAO,MAAM,iCAAiC;;EAE7C,CAAC;AACF,eAAO,MAAM,+BAA+B;;EAE3C,CAAC;AACF,eAAO,MAAM,2BAA2B;;EAAwD,CAAC"}
package/lib/errors.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HederaRecipientEvmAddressVerificationRequired = exports.HederaRecipientTokenAssociationUnverified = exports.HederaRecipientTokenAssociationRequired = exports.HederaInsufficientFundsForAssociation = exports.HederaRecipientInvalidChecksum = exports.HederaAddAccountError = void 0;
3
+ exports.HederaNoStakingRewardsError = exports.HederaInvalidStakingNodeIdError = exports.HederaRedundantStakingNodeIdError = exports.HederaRecipientEvmAddressVerificationRequired = exports.HederaRecipientTokenAssociationUnverified = exports.HederaRecipientTokenAssociationRequired = exports.HederaInsufficientFundsForAssociation = exports.HederaRecipientInvalidChecksum = exports.HederaAddAccountError = void 0;
4
4
  const errors_1 = require("@ledgerhq/errors");
5
5
  exports.HederaAddAccountError = (0, errors_1.createCustomErrorClass)("HederaAddAccountError");
6
6
  exports.HederaRecipientInvalidChecksum = (0, errors_1.createCustomErrorClass)("HederaRecipientInvalidChecksum");
@@ -8,4 +8,7 @@ exports.HederaInsufficientFundsForAssociation = (0, errors_1.createCustomErrorCl
8
8
  exports.HederaRecipientTokenAssociationRequired = (0, errors_1.createCustomErrorClass)("HederaRecipientTokenAssociationRequired");
9
9
  exports.HederaRecipientTokenAssociationUnverified = (0, errors_1.createCustomErrorClass)("HederaRecipientTokenAssociationUnverified");
10
10
  exports.HederaRecipientEvmAddressVerificationRequired = (0, errors_1.createCustomErrorClass)("HederaRecipientEvmAddressVerificationRequired");
11
+ exports.HederaRedundantStakingNodeIdError = (0, errors_1.createCustomErrorClass)("HederaRedundantStakingNodeIdError");
12
+ exports.HederaInvalidStakingNodeIdError = (0, errors_1.createCustomErrorClass)("HederaInvalidStakingNodeIdError");
13
+ exports.HederaNoStakingRewardsError = (0, errors_1.createCustomErrorClass)("HederaNoStakingRewardsError");
11
14
  //# sourceMappingURL=errors.js.map
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAE7C,QAAA,qBAAqB,GAAG,IAAA,+BAAsB,EAAC,uBAAuB,CAAC,CAAC;AACxE,QAAA,8BAA8B,GAAG,IAAA,+BAAsB,EAClE,gCAAgC,CACjC,CAAC;AACW,QAAA,qCAAqC,GAAG,IAAA,+BAAsB,EACzE,uCAAuC,CACxC,CAAC;AACW,QAAA,uCAAuC,GAAG,IAAA,+BAAsB,EAC3E,yCAAyC,CAC1C,CAAC;AACW,QAAA,yCAAyC,GAAG,IAAA,+BAAsB,EAC7E,2CAA2C,CAC5C,CAAC;AACW,QAAA,6CAA6C,GAAG,IAAA,+BAAsB,EACjF,+CAA+C,CAChD,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAE7C,QAAA,qBAAqB,GAAG,IAAA,+BAAsB,EAAC,uBAAuB,CAAC,CAAC;AACxE,QAAA,8BAA8B,GAAG,IAAA,+BAAsB,EAClE,gCAAgC,CACjC,CAAC;AACW,QAAA,qCAAqC,GAAG,IAAA,+BAAsB,EACzE,uCAAuC,CACxC,CAAC;AACW,QAAA,uCAAuC,GAAG,IAAA,+BAAsB,EAC3E,yCAAyC,CAC1C,CAAC;AACW,QAAA,yCAAyC,GAAG,IAAA,+BAAsB,EAC7E,2CAA2C,CAC5C,CAAC;AACW,QAAA,6CAA6C,GAAG,IAAA,+BAAsB,EACjF,+CAA+C,CAChD,CAAC;AACW,QAAA,iCAAiC,GAAG,IAAA,+BAAsB,EACrE,mCAAmC,CACpC,CAAC;AACW,QAAA,+BAA+B,GAAG,IAAA,+BAAsB,EACnE,iCAAiC,CAClC,CAAC;AACW,QAAA,2BAA2B,GAAG,IAAA,+BAAsB,EAAC,6BAA6B,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
- import { ContractExecuteTransaction, TokenAssociateTransaction, TransferTransaction } from "@hashgraph/sdk";
1
+ import { AccountUpdateTransaction, ContractExecuteTransaction, TokenAssociateTransaction, TransferTransaction } from "@hashgraph/sdk";
2
2
  import type { FeeEstimation, TransactionIntent } from "@ledgerhq/coin-framework/api/index";
3
3
  import type { HederaMemo, HederaTxData } from "../types";
4
4
  export declare function craftTransaction(txIntent: TransactionIntent<HederaMemo, HederaTxData>, customFees?: FeeEstimation): Promise<{
5
- tx: TransferTransaction | ContractExecuteTransaction | TokenAssociateTransaction;
5
+ tx: TransferTransaction | ContractExecuteTransaction | TokenAssociateTransaction | AccountUpdateTransaction;
6
6
  serializedTx: string;
7
7
  }>;
8
8
  //# sourceMappingURL=craftTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,0BAA0B,EAI1B,yBAAyB,EAEzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE3F,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAmJzD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,EACrD,UAAU,CAAC,EAAE,aAAa;;;GA4E3B"}
1
+ {"version":3,"file":"craftTransaction.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,wBAAwB,EACxB,0BAA0B,EAI1B,yBAAyB,EAEzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE3F,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAyLzD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,EACrD,UAAU,CAAC,EAAE,aAAa;;;GA8F3B"}
@@ -76,10 +76,27 @@ async function buildTokenAssociateTransaction({ account, transaction, }) {
76
76
  }
77
77
  return tx.freeze();
78
78
  }
79
+ async function buildUnsignedUpdateAccountTransaction({ account, transaction, }) {
80
+ const accountId = account.accountId;
81
+ const tx = new sdk_1.AccountUpdateTransaction()
82
+ .setNodeAccountIds([new sdk_1.AccountId(3)])
83
+ .setTransactionId(sdk_1.TransactionId.generate(accountId))
84
+ .setTransactionMemo(transaction.memo ?? "")
85
+ .setAccountId(accountId);
86
+ if (transaction.maxFee) {
87
+ tx.setMaxTransactionFee(sdk_1.Hbar.fromTinybars(transaction.maxFee.toNumber()));
88
+ }
89
+ if (typeof transaction.stakingNodeId === "number") {
90
+ tx.setStakedNodeId(transaction.stakingNodeId);
91
+ }
92
+ if (transaction.stakingNodeId === null) {
93
+ tx.clearStakedNodeId();
94
+ }
95
+ return tx.freeze();
96
+ }
79
97
  async function craftTransaction(txIntent, customFees) {
80
- const account = {
81
- accountId: txIntent.sender,
82
- };
98
+ const account = { accountId: txIntent.sender };
99
+ const maxFee = customFees ? new bignumber_js_1.default(customFees.value.toString()) : undefined;
83
100
  let tx;
84
101
  if (txIntent.type === constants_1.HEDERA_TRANSACTION_MODES.TokenAssociate) {
85
102
  (0, invariant_1.default)(txIntent.asset.type !== "native", "hedera: invalid asset type");
@@ -90,7 +107,7 @@ async function craftTransaction(txIntent, customFees) {
90
107
  type: txIntent.type,
91
108
  tokenId: txIntent.asset.assetReference,
92
109
  memo: txIntent.memo.value,
93
- maxFee: customFees ? new bignumber_js_1.default(customFees.value.toString()) : undefined,
110
+ maxFee,
94
111
  },
95
112
  });
96
113
  }
@@ -105,14 +122,14 @@ async function craftTransaction(txIntent, customFees) {
105
122
  amount,
106
123
  recipient: txIntent.recipient,
107
124
  memo: txIntent.memo.value,
108
- maxFee: customFees ? new bignumber_js_1.default(customFees.value.toString()) : undefined,
125
+ maxFee,
109
126
  },
110
127
  });
111
128
  }
112
129
  else if (txIntent.type === constants_1.HEDERA_TRANSACTION_MODES.Send && txIntent.asset.type === "erc20") {
113
130
  (0, invariant_1.default)("assetReference" in txIntent.asset, "hedera: no assetReference in token transfer");
114
131
  const amount = new bignumber_js_1.default(txIntent.amount.toString());
115
- const gasLimit = "data" in txIntent && txIntent.data.gasLimit
132
+ const gasLimit = (0, utils_1.hasSpecificIntentData)(txIntent, "erc20")
116
133
  ? new bignumber_js_1.default(txIntent.data.gasLimit.toString())
117
134
  : constants_1.DEFAULT_GAS_LIMIT;
118
135
  tx = await buildUnsignedERC20TokenTransaction({
@@ -123,11 +140,28 @@ async function craftTransaction(txIntent, customFees) {
123
140
  amount,
124
141
  recipient: txIntent.recipient,
125
142
  memo: txIntent.memo.value,
126
- maxFee: customFees ? new bignumber_js_1.default(customFees.value.toString()) : undefined,
143
+ maxFee,
127
144
  gasLimit,
128
145
  },
129
146
  });
130
147
  }
148
+ else if (txIntent.type === constants_1.HEDERA_TRANSACTION_MODES.Redelegate ||
149
+ txIntent.type === constants_1.HEDERA_TRANSACTION_MODES.Undelegate ||
150
+ txIntent.type === constants_1.HEDERA_TRANSACTION_MODES.Delegate) {
151
+ const stakingNodeId = (0, utils_1.hasSpecificIntentData)(txIntent, "staking")
152
+ ? txIntent.data.stakingNodeId
153
+ : undefined;
154
+ tx = await buildUnsignedUpdateAccountTransaction({
155
+ account,
156
+ transaction: {
157
+ type: txIntent.type,
158
+ memo: txIntent.memo.value,
159
+ maxFee,
160
+ stakingNodeId,
161
+ },
162
+ });
163
+ }
164
+ // HEDERA_TRANSACTION_MODES.ClaimRewards is just a coin transfer that triggers staking rewards claim
131
165
  else {
132
166
  const amount = new bignumber_js_1.default(txIntent.amount.toString());
133
167
  tx = await buildUnsignedCoinTransaction({
@@ -137,7 +171,7 @@ async function craftTransaction(txIntent, customFees) {
137
171
  amount,
138
172
  recipient: txIntent.recipient,
139
173
  memo: txIntent.memo.value,
140
- maxFee: customFees ? new bignumber_js_1.default(customFees.value.toString()) : undefined,
174
+ maxFee,
141
175
  },
142
176
  });
143
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"craftTransaction.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getBlock.d.ts","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,KAAK,EAGN,MAAM,oCAAoC,CAAC;AA0C5C,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CA0B7D"}
1
+ {"version":3,"file":"getBlock.d.ts","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,KAAK,EAGN,MAAM,oCAAoC,CAAC;AA0C5C,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CA2B7D"}
@@ -43,6 +43,7 @@ async function getBlock(height) {
43
43
  operations,
44
44
  fees: BigInt(tx.charged_tx_fee),
45
45
  feesPayer: payerAccount,
46
+ details: { memo: (0, utils_1.getMemoFromBase64)(tx.memo_base64) },
46
47
  };
47
48
  });
48
49
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":";;;AAMA,iDAA8C;AAC9C,wCAA2C;AAE3C,mCAA2D;AAE3D,SAAS,aAAa,CACpB,cAAoE;IAEpE,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,KAAK;YACX,cAAc,EAAE,cAAc,CAAC,QAAQ;SACxC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CACvB,YAAoB,EACpB,UAAkB,EAClB,cAAoE;IAEpE,MAAM,eAAe,GAAG,UAAU,IAAI,cAAc,CAAC;IACrD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IACvC,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE3C,uHAAuH;IACvH,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,MAAc;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAA,wCAAgC,EAAC,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAY,EAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,eAAS,CAAC,+BAA+B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEjF,MAAM,iBAAiB,GAAuB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClE,MAAM,YAAY,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;QAE9D,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAC7C,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAC5D,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,EAAE,CAAC,gBAAgB;YACzB,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS;YAC/B,UAAU;YACV,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC;YAC/B,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,iBAAiB;KAChC,CAAC;AACJ,CAAC;AA1BD,4BA0BC"}
1
+ {"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":";;;AAMA,iDAA8C;AAC9C,wCAA2C;AAE3C,mCAA8E;AAE9E,SAAS,aAAa,CACpB,cAAoE;IAEpE,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,EAAE,KAAK;YACX,cAAc,EAAE,cAAc,CAAC,QAAQ;SACxC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CACvB,YAAoB,EACpB,UAAkB,EAClB,cAAoE;IAEpE,MAAM,eAAe,GAAG,UAAU,IAAI,cAAc,CAAC;IACrD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IACvC,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE3C,uHAAuH;IACvH,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,MAAc;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAA,wCAAgC,EAAC,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAY,EAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,eAAS,CAAC,+BAA+B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEjF,MAAM,iBAAiB,GAAuB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClE,MAAM,YAAY,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;QAE9D,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAC7C,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAC5D,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,EAAE,CAAC,gBAAgB;YACzB,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS;YAC/B,UAAU;YACV,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC;YAC/B,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAA,yBAAiB,EAAC,EAAE,CAAC,WAAW,CAAC,EAAE;SACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,iBAAiB;KAChC,CAAC;AACJ,CAAC;AA3BD,4BA2BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAMrE,OAAO,KAAK,EAAE,iBAAiB,EAA2B,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAqKjG,wBAAsB,cAAc,CAAC,EACnC,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,EACb,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IAEvB,aAAa,EAAE,OAAO,CAAC;IACvB,0BAA0B,EAAE,OAAO,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG,OAAO,CAAC;IACV,cAAc,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;IAClD,eAAe,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC,CAqDD"}
1
+ {"version":3,"file":"listOperations.d.ts","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAMrE,OAAO,KAAK,EAAE,iBAAiB,EAA2B,oBAAoB,EAAE,MAAM,UAAU,CAAC;AA4MjG,wBAAsB,cAAc,CAAC,EACnC,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,EACb,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IAEvB,aAAa,EAAE,OAAO,CAAC;IACvB,0BAA0B,EAAE,OAAO,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG,OAAO,CAAC;IACV,cAAc,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;IAClD,eAAe,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC,CAqDD"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.listOperations = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const live_env_1 = require("@ledgerhq/live-env");
8
9
  const state_1 = require("@ledgerhq/cryptoassets/state");
9
10
  const accountId_1 = require("@ledgerhq/coin-framework/account/accountId");
10
11
  const operation_1 = require("@ledgerhq/coin-framework/operation");
@@ -14,6 +15,7 @@ const utils_2 = require("./utils");
14
15
  const txNameToCustomOperationType = {
15
16
  TOKENASSOCIATE: "ASSOCIATE_TOKEN",
16
17
  CONTRACTCALL: "CONTRACT_CALL",
18
+ CRYPTOUPDATEACCOUNT: "UPDATE_ACCOUNT",
17
19
  };
18
20
  function getCommonOperationData(rawTx, useEncodedHash, useSyntheticBlocks) {
19
21
  const timestamp = new Date(Number.parseInt(rawTx.consensus_timestamp.split(".")[0], 10) * 1000);
@@ -94,13 +96,22 @@ async function processTokenTransfers({ rawTx, address, currency, ledgerAccountId
94
96
  };
95
97
  }
96
98
  function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorTokens, }) {
99
+ const coinOperations = [];
97
100
  const transfers = rawTx.transfers ?? [];
98
- if (transfers.length === 0)
99
- return null;
101
+ if (transfers.length === 0) {
102
+ return [];
103
+ }
100
104
  const { type, value, senders, recipients } = (0, utils_1.parseTransfers)(transfers, address);
101
105
  const { hash, fee, timestamp, blockHeight, blockHash, hasFailed } = commonData;
102
106
  const extra = { ...commonData.extra };
103
107
  const operationType = txNameToCustomOperationType[rawTx.name] ?? type;
108
+ const stakingReward = rawTx.staking_reward_transfers.reduce((acc, transfer) => {
109
+ const transferAmount = new bignumber_js_1.default(transfer.amount);
110
+ if (transfer.account === address) {
111
+ acc = acc.plus(transferAmount);
112
+ }
113
+ return acc;
114
+ }, new bignumber_js_1.default(0));
104
115
  // try to enrich ASSOCIATE_TOKEN operation with extra.associatedTokenId
105
116
  // this value is used by custom OperationDetails components in Hedera family
106
117
  // accounts or contracts must first associate with an HTS token before they can receive or send that token; without association, token transfers fail
@@ -112,7 +123,28 @@ function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorT
112
123
  extra.associatedTokenId = relatedMirrorToken.token_id;
113
124
  }
114
125
  }
115
- return {
126
+ // add REWARD operation representing staking reward transfers
127
+ if (stakingReward.gt(0)) {
128
+ const stakingRewardHash = `${hash}-staking-reward`;
129
+ const stakingRewardType = "REWARD";
130
+ // offset timestamp by +1ms to ensure it appears just before the operation that triggered it
131
+ const stakingRewardTimestamp = new Date(timestamp.getTime() + 1);
132
+ coinOperations.push({
133
+ id: (0, operation_1.encodeOperationId)(ledgerAccountId, stakingRewardHash, stakingRewardType),
134
+ accountId: ledgerAccountId,
135
+ type: stakingRewardType,
136
+ value: stakingReward,
137
+ recipients: [address],
138
+ senders: [(0, live_env_1.getEnv)("HEDERA_STAKING_REWARD_ACCOUNT_ID")],
139
+ hash: stakingRewardHash,
140
+ fee: new bignumber_js_1.default(0),
141
+ date: stakingRewardTimestamp,
142
+ blockHeight,
143
+ blockHash,
144
+ extra,
145
+ });
146
+ }
147
+ coinOperations.push({
116
148
  id: (0, operation_1.encodeOperationId)(ledgerAccountId, hash, operationType),
117
149
  accountId: ledgerAccountId,
118
150
  type: operationType,
@@ -126,7 +158,8 @@ function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorT
126
158
  blockHash,
127
159
  hasFailed,
128
160
  extra,
129
- };
161
+ });
162
+ return coinOperations;
130
163
  }
131
164
  async function listOperations({ currency, address, mirrorTokens, pagination, fetchAllPages, skipFeesForTokenOperations, useEncodedHash, useSyntheticBlocks, }) {
132
165
  const coinOperations = [];
@@ -162,15 +195,14 @@ async function listOperations({ currency, address, mirrorTokens, pagination, fet
162
195
  tokenOperations.push(tokenResult.tokenOperation);
163
196
  // process regular transfers only if there were no token transfers
164
197
  if (!tokenResult) {
165
- const coinOperation = processTransfers({
198
+ const newCoinOperations = processTransfers({
166
199
  rawTx,
167
200
  address,
168
201
  ledgerAccountId,
169
202
  commonData,
170
203
  mirrorTokens,
171
204
  });
172
- if (coinOperation)
173
- coinOperations.push(coinOperation);
205
+ coinOperations.push(...newCoinOperations);
174
206
  }
175
207
  }
176
208
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listOperations.js","sourceRoot":"","sources":["../../src/logic/listOperations.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ import { Transaction as HederaSDKTransaction, TransactionId } from "@hashgraph/s
3
3
  import type { AssetInfo, TransactionIntent } from "@ledgerhq/coin-framework/api/types";
4
4
  import type { Currency, ExplorerView, TokenCurrency } from "@ledgerhq/types-cryptoassets";
5
5
  import type { AccountLike, Operation as LiveOperation } from "@ledgerhq/types-live";
6
- import { HEDERA_OPERATION_TYPES, HEDERA_TRANSACTION_MODES } from "../constants";
7
- import type { HederaOperationExtra, Transaction, TransactionStatus } from "../types";
6
+ import { HEDERA_DELEGATION_STATUS, HEDERA_OPERATION_TYPES, HEDERA_TRANSACTION_MODES } from "../constants";
7
+ import type { HederaAccount, HederaMemo, HederaOperationExtra, HederaTxData, HederaValidator, OperationDetailsExtraField, Transaction, TransactionStaking, TransactionStatus } from "../types";
8
8
  export declare const serializeSignature: (signature: Uint8Array) => string;
9
9
  export declare const deserializeSignature: (signature: string) => Buffer;
10
10
  export declare const serializeTransaction: (tx: HederaSDKTransaction) => string;
@@ -18,7 +18,7 @@ export declare const mapIntentToSDKOperation: (txIntent: TransactionIntent) => H
18
18
  export declare const getMemoFromBase64: (memoBase64: string | undefined) => string | null;
19
19
  export declare function base64ToUrlSafeBase64(data: string): string;
20
20
  export declare const getTransactionExplorer: (explorerView: ExplorerView | null | undefined, operation: LiveOperation) => string | undefined;
21
- export declare const isTokenAssociateTransaction: (tx: Transaction) => tx is import("@ledgerhq/types-live").TransactionCommon & {
21
+ export declare const isTokenAssociateTransaction: (tx: Transaction | null | undefined) => tx is import("@ledgerhq/types-live").TransactionCommon & {
22
22
  family: "hedera";
23
23
  memo?: string | undefined;
24
24
  maxFee?: BigNumber;
@@ -33,9 +33,11 @@ export declare const isTokenAssociateTransaction: (tx: Transaction) => tx is imp
33
33
  export declare const isAutoTokenAssociationEnabled: (account: AccountLike) => boolean;
34
34
  export declare const isTokenAssociationRequired: (account: AccountLike, token: TokenCurrency | null | undefined) => boolean;
35
35
  export declare const isValidExtra: (extra: unknown) => extra is HederaOperationExtra;
36
+ export declare const getOperationDetailsExtraFields: (extra: HederaOperationExtra) => OperationDetailsExtraField[];
36
37
  export declare const sendRecipientCanNext: (status: TransactionStatus) => boolean;
37
38
  export declare const getCurrencyToUSDRate: import("@ledgerhq/live-network/cache").CacheRes<[currency: Currency], BigNumber | null>;
38
39
  export declare const checkAccountTokenAssociationStatus: import("@ledgerhq/live-network/cache").CacheRes<[accountId: string, token: TokenCurrency], boolean>;
40
+ export declare const getChecksum: (accountId: string) => string | null;
39
41
  export declare const safeParseAccountId: (address: string) => [Error, null] | [null, {
40
42
  accountId: string;
41
43
  checksum: string | null;
@@ -86,4 +88,60 @@ export declare const toEVMAddress: (accountId: string) => string | null;
86
88
  * @returns Hedera account ID in the format `shard.realm.num` or null if conversion fails
87
89
  */
88
90
  export declare const fromEVMAddress: (evmAddress: string, shard?: number, realm?: number) => string | null;
91
+ export declare const extractCompanyFromNodeDescription: (description: string) => string;
92
+ export declare const sortValidators: (validators: HederaValidator[]) => HederaValidator[];
93
+ export declare const filterValidatorBySearchTerm: (validator: HederaValidator, search: string) => boolean;
94
+ export declare const getValidatorFromAccount: (account: HederaAccount) => HederaValidator | null;
95
+ export declare const getDefaultValidator: (validators: HederaValidator[]) => HederaValidator | null;
96
+ export declare const getDelegationStatus: (validator: HederaValidator | null) => HEDERA_DELEGATION_STATUS;
97
+ export declare const isStakingTransaction: (tx: Transaction | null | undefined) => tx is TransactionStaking;
98
+ export declare const hasSpecificIntentData: <Type extends "erc20" | "staking">(txIntent: TransactionIntent<HederaMemo, HederaTxData>, expectedType: Type) => txIntent is Extract<{
99
+ intentType: "staking" | "transaction";
100
+ type: string;
101
+ sender: string;
102
+ recipient: string;
103
+ amount: bigint;
104
+ asset: AssetInfo;
105
+ useAllAmount?: boolean;
106
+ feesStrategy?: import("@ledgerhq/coin-framework/api/types").FeesStrategy;
107
+ senderPublicKey?: string;
108
+ sequence?: bigint;
109
+ expiration?: number;
110
+ sponsored?: boolean;
111
+ } & {
112
+ memo: HederaMemo;
113
+ } & {
114
+ data: {
115
+ type: "erc20";
116
+ gasLimit: bigint;
117
+ };
118
+ }, {
119
+ data: {
120
+ type: Type;
121
+ };
122
+ }> | Extract<{
123
+ intentType: "staking" | "transaction";
124
+ type: string;
125
+ sender: string;
126
+ recipient: string;
127
+ amount: bigint;
128
+ asset: AssetInfo;
129
+ useAllAmount?: boolean;
130
+ feesStrategy?: import("@ledgerhq/coin-framework/api/types").FeesStrategy;
131
+ senderPublicKey?: string;
132
+ sequence?: bigint;
133
+ expiration?: number;
134
+ sponsored?: boolean;
135
+ } & {
136
+ memo: HederaMemo;
137
+ } & {
138
+ data: {
139
+ type: "staking";
140
+ stakingNodeId: number | null | undefined;
141
+ };
142
+ }, {
143
+ data: {
144
+ type: Type;
145
+ };
146
+ }>;
89
147
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAGL,WAAW,IAAI,oBAAoB,EACnC,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAMvF,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EAEzB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAEV,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,kBAAkB,cAAe,UAAU,WAEvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAAe,MAAM,WAErD,CAAC;AAEF,eAAO,MAAM,oBAAoB,OAAQ,oBAAoB,WAE5D,CAAC;AAEF,eAAO,MAAM,sBAAsB,OAAQ,MAAM,yBAEhD,CAAC;AAEF,eAAO,MAAM,iBAAiB;WAIrB,SAAS;eACL,cAAc,oBAAoB,CAAC;YAW/C,CAAC;AAMF,eAAO,MAAM,6BAA6B,OAAQ,oBAAoB,eAIrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,aAAc,iBAAiB,2BAclE,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAAgB,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,IAQ3E,CAAC;AAGF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,eAAO,MAAM,sBAAsB,iBACnB,YAAY,GAAG,IAAI,GAAG,SAAS,aAClC,aAAa,KACvB,MAAM,GAAG,SAOX,CAAC;AAEF,eAAO,MAAM,2BAA2B,OAAQ,WAAW;;;;;;;;;;;CAE1D,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAAa,WAAW,YAIjE,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAC5B,WAAW,SACb,aAAa,GAAG,IAAI,GAAG,SAAS,YAUxC,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,OAAO,kCAE1C,CAAC;AAKF,eAAO,MAAM,oBAAoB,WAAY,iBAAiB,YAI7D,CAAC;AAGF,eAAO,MAAM,oBAAoB,yFAoBhC,CAAC;AAEF,eAAO,MAAM,kCAAkC,qGA4B9C,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACpB,MAAM,KACd,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CA0BvE,CAAC;AAEF,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,SAAiC;;;;EAapD;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,kBAAkB,SAAiC;;;EASpD;AAED,eAAO,MAAM,mBAAmB,kBAAmB,aAAa,KAAG,MAKlE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,cAAe,MAAM,kBAO7C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,eAAgB,MAAM,qCAAyB,MAAM,GAAG,IAalF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/logic/utils.ts"],"names":[],"mappings":"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"}