@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
@@ -4,7 +4,7 @@ import { buildOptimisticOperation } from "./buildOptimisticOperation";
4
4
  import { DEFAULT_GAS_LIMIT, HEDERA_TRANSACTION_MODES } from "../constants";
5
5
  import { combine } from "../logic/combine";
6
6
  import { craftTransaction } from "../logic/craftTransaction";
7
- import { serializeSignature, serializeTransaction, getHederaTransactionBodyBytes, isTokenAssociateTransaction, } from "../logic/utils";
7
+ import { serializeSignature, serializeTransaction, getHederaTransactionBodyBytes, isTokenAssociateTransaction, isStakingTransaction, } from "../logic/utils";
8
8
  export const buildSignOperation = (signerContext) => ({ account, transaction, deviceId }) => new Observable(o => {
9
9
  void (async function () {
10
10
  try {
@@ -48,6 +48,16 @@ export const buildSignOperation = (signerContext) => ({ account, transaction, de
48
48
  gasLimit: BigInt((transaction.gasLimit ?? DEFAULT_GAS_LIMIT).toString()),
49
49
  };
50
50
  }
51
+ else if (isStakingTransaction(transaction)) {
52
+ type = transaction.mode;
53
+ asset = {
54
+ type: "native",
55
+ };
56
+ data = {
57
+ type: "staking",
58
+ stakingNodeId: transaction.properties?.stakingNodeId,
59
+ };
60
+ }
51
61
  else {
52
62
  type = HEDERA_TRANSACTION_MODES.Send;
53
63
  asset = {
@@ -1 +1 @@
1
- {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"synchronisation.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AAGnD,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAC;AAM/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAS9C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,aAAa,CA0I1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,oBAqBhC,CAAC;AAGF,eAAO,MAAM,QAAQ,aAAc,OAAO,UAAU,OAAO,KAAG,OAgB7D,CAAC"}
1
+ {"version":3,"file":"synchronisation.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AAGnD,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAC;AAM/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAS9C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,aAAa,CAmJ1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,oBAqBhC,CAAC;AAGF,eAAO,MAAM,QAAQ,aAAc,OAAO,UAAU,OAAO,KAAG,OAgB7D,CAAC"}
@@ -76,6 +76,13 @@ export const getAccountShape = async (info, { blacklistedTokenIds }) => {
76
76
  const operations = shouldSyncFromScratch
77
77
  ? enrichedNewOperations
78
78
  : mergeOps(oldOperations, enrichedNewOperations);
79
+ const delegation = typeof mirrorAccount.staked_node_id === "number"
80
+ ? {
81
+ nodeId: mirrorAccount.staked_node_id,
82
+ delegated: accountBalance,
83
+ pendingReward: new BigNumber(mirrorAccount.pending_reward),
84
+ }
85
+ : null;
79
86
  // how ERC20 operations are handled:
80
87
  // - mirror node doesn't include "IN" erc20 token transactions
81
88
  // - mirror node returns "CONTRACT_CALL" (OUT) erc20 token transactions made from given account address
@@ -124,6 +131,7 @@ export const getAccountShape = async (info, { blacklistedTokenIds }) => {
124
131
  hederaResources: {
125
132
  maxAutomaticTokenAssociations: mirrorAccount.max_automatic_token_associations,
126
133
  isAutoTokenAssociationEnabled: mirrorAccount.max_automatic_token_associations === -1,
134
+ delegation,
127
135
  },
128
136
  };
129
137
  };
@@ -1 +1 @@
1
- {"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"synchronisation.js","sourceRoot":"","sources":["../../src/bridge/synchronisation.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,17 @@ import BigNumber from "bignumber.js";
5
5
  */
6
6
  export declare enum HEDERA_TRANSACTION_MODES {
7
7
  Send = "send",
8
- TokenAssociate = "token-associate"
8
+ TokenAssociate = "token-associate",
9
+ Delegate = "delegate",
10
+ Undelegate = "undelegate",
11
+ Redelegate = "redelegate",
12
+ ClaimRewards = "claim-rewards"
9
13
  }
10
14
  /**
11
15
  * Enum representing the supported Hedera operation types for fee estimation
12
16
  */
13
17
  export declare enum HEDERA_OPERATION_TYPES {
18
+ CryptoUpdate = "CryptoUpdate",
14
19
  CryptoTransfer = "CryptoTransfer",
15
20
  TokenTransfer = "TokenTransfer",
16
21
  TokenAssociate = "TokenAssociate",
@@ -25,6 +30,14 @@ export declare const ESTIMATED_FEE_SAFETY_RATE = 2;
25
30
  export declare const DEFAULT_GAS_LIMIT: BigNumber;
26
31
  export declare const DEFAULT_GAS_PRICE_TINYBARS: BigNumber;
27
32
  export declare const HEDERA_MAINNET_CHAIN_ID = 295;
33
+ /**
34
+ * Enum representing the delegation status of a Hedera account
35
+ */
36
+ export declare enum HEDERA_DELEGATION_STATUS {
37
+ Inactive = "inactive",
38
+ Overstaked = "overstaked",
39
+ Active = "active"
40
+ }
28
41
  /**
29
42
  * https://docs.hedera.com/hedera/networks/mainnet/fees
30
43
  *
@@ -35,6 +48,7 @@ export declare const HEDERA_MAINNET_CHAIN_ID = 295;
35
48
  * has sufficient balance to cover the cost of a transaction (e.g. token association).
36
49
  */
37
50
  export declare const BASE_USD_FEE_BY_OPERATION_TYPE: {
51
+ readonly CryptoUpdate: number;
38
52
  readonly CryptoTransfer: number;
39
53
  readonly TokenTransfer: number;
40
54
  readonly TokenAssociate: number;
@@ -52,4 +66,10 @@ export declare const SUPPORTED_ERC20_TOKENS: {
52
66
  contractAddress: string;
53
67
  tokenId: string;
54
68
  }[];
69
+ export declare const MAP_STAKING_MODE_TO_MEMO: {
70
+ readonly "claim-rewards": "Collect Staking Rewards";
71
+ readonly delegate: "Stake";
72
+ readonly undelegate: "Unstake";
73
+ readonly redelegate: "Restake";
74
+ };
55
75
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,oBAAY,wBAAwB;IAClC,IAAI,SAAS;IACb,cAAc,oBAAoB;CACnC;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,aAAa,IAAI,CAAC;AAG/B,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,eAAO,MAAM,0BAA0B,uEAC+B,CAAC;AAEvE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WAAyB,CAAC;AAExD,eAAO,MAAM,0BAA0B,WAAqB,CAAC;AAE7D,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;;CAKgB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;GAqBlC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,oBAAY,wBAAwB;IAClC,IAAI,SAAS;IACb,cAAc,oBAAoB;IAClC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,YAAY,kBAAkB;CAC/B;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,aAAa,IAAI,CAAC;AAG/B,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,eAAO,MAAM,0BAA0B,uEAC+B,CAAC;AAEvE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WAAyB,CAAC;AAExD,eAAO,MAAM,0BAA0B,WAAqB,CAAC;AAE7D,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;GAEG;AACH,oBAAY,wBAAwB;IAClC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;;;CAMgB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;GAqBlC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;CAK3B,CAAC"}
@@ -7,12 +7,17 @@ export var HEDERA_TRANSACTION_MODES;
7
7
  (function (HEDERA_TRANSACTION_MODES) {
8
8
  HEDERA_TRANSACTION_MODES["Send"] = "send";
9
9
  HEDERA_TRANSACTION_MODES["TokenAssociate"] = "token-associate";
10
+ HEDERA_TRANSACTION_MODES["Delegate"] = "delegate";
11
+ HEDERA_TRANSACTION_MODES["Undelegate"] = "undelegate";
12
+ HEDERA_TRANSACTION_MODES["Redelegate"] = "redelegate";
13
+ HEDERA_TRANSACTION_MODES["ClaimRewards"] = "claim-rewards";
10
14
  })(HEDERA_TRANSACTION_MODES || (HEDERA_TRANSACTION_MODES = {}));
11
15
  /**
12
16
  * Enum representing the supported Hedera operation types for fee estimation
13
17
  */
14
18
  export var HEDERA_OPERATION_TYPES;
15
19
  (function (HEDERA_OPERATION_TYPES) {
20
+ HEDERA_OPERATION_TYPES["CryptoUpdate"] = "CryptoUpdate";
16
21
  HEDERA_OPERATION_TYPES["CryptoTransfer"] = "CryptoTransfer";
17
22
  HEDERA_OPERATION_TYPES["TokenTransfer"] = "TokenTransfer";
18
23
  HEDERA_OPERATION_TYPES["TokenAssociate"] = "TokenAssociate";
@@ -28,6 +33,15 @@ export const ESTIMATED_FEE_SAFETY_RATE = 2;
28
33
  export const DEFAULT_GAS_LIMIT = new BigNumber(100_000);
29
34
  export const DEFAULT_GAS_PRICE_TINYBARS = new BigNumber(100);
30
35
  export const HEDERA_MAINNET_CHAIN_ID = 295;
36
+ /**
37
+ * Enum representing the delegation status of a Hedera account
38
+ */
39
+ export var HEDERA_DELEGATION_STATUS;
40
+ (function (HEDERA_DELEGATION_STATUS) {
41
+ HEDERA_DELEGATION_STATUS["Inactive"] = "inactive";
42
+ HEDERA_DELEGATION_STATUS["Overstaked"] = "overstaked";
43
+ HEDERA_DELEGATION_STATUS["Active"] = "active";
44
+ })(HEDERA_DELEGATION_STATUS || (HEDERA_DELEGATION_STATUS = {}));
31
45
  /**
32
46
  * https://docs.hedera.com/hedera/networks/mainnet/fees
33
47
  *
@@ -38,6 +52,7 @@ export const HEDERA_MAINNET_CHAIN_ID = 295;
38
52
  * has sufficient balance to cover the cost of a transaction (e.g. token association).
39
53
  */
40
54
  export const BASE_USD_FEE_BY_OPERATION_TYPE = {
55
+ [HEDERA_OPERATION_TYPES.CryptoUpdate]: 0.00022 * 10 ** TINYBAR_SCALE,
41
56
  [HEDERA_OPERATION_TYPES.CryptoTransfer]: 0.0001 * 10 ** TINYBAR_SCALE,
42
57
  [HEDERA_OPERATION_TYPES.TokenTransfer]: 0.001 * 10 ** TINYBAR_SCALE,
43
58
  [HEDERA_OPERATION_TYPES.TokenAssociate]: 0.05 * 10 ** TINYBAR_SCALE,
@@ -72,4 +87,10 @@ export const SUPPORTED_ERC20_TOKENS = [
72
87
  tokenId: "0.0.10047837",
73
88
  },
74
89
  ];
90
+ export const MAP_STAKING_MODE_TO_MEMO = {
91
+ [HEDERA_TRANSACTION_MODES.ClaimRewards]: "Collect Staking Rewards",
92
+ [HEDERA_TRANSACTION_MODES.Delegate]: "Stake",
93
+ [HEDERA_TRANSACTION_MODES.Undelegate]: "Unstake",
94
+ [HEDERA_TRANSACTION_MODES.Redelegate]: "Restake",
95
+ };
75
96
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAN,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,8DAAkC,CAAA;AACpC,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,QAGnC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,2DAAiC,CAAA;IACjC,yDAA+B,CAAA;IAC/B,2DAAiC,CAAA;IACjC,uDAA6B,CAAA;AAC/B,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B,mKAAmK;AACnK,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAEjD,MAAM,CAAC,MAAM,0BAA0B,GACrC,oEAAoE,CAAC;AAEvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,aAAa;IACrE,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,aAAa;IACnE,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,aAAa;IACnE,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,sEAAsE;CACvD,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,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,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAN,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,KAAxB,wBAAwB,QAOnC;AAED;;GAEG;AACH,MAAM,CAAN,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,KAAtB,sBAAsB,QAMjC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B,mKAAmK;AACnK,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAEjD,MAAM,CAAC,MAAM,0BAA0B,GACrC,oEAAoE,CAAC;AAEvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAN,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAClC,iDAAqB,CAAA;IACrB,qDAAyB,CAAA;IACzB,6CAAiB,CAAA;AACnB,CAAC,EAJW,wBAAwB,KAAxB,wBAAwB,QAInC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,EAAE,IAAI,aAAa;IACpE,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,aAAa;IACrE,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,aAAa;IACnE,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,aAAa;IACnE,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,sEAAsE;CACvD,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,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;AAEF,MAAM,CAAC,MAAM,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"}
@@ -1,7 +1,37 @@
1
1
  import { HEDERA_TRANSACTION_MODES } from "./constants";
2
- import { isTokenAssociateTransaction } from "./logic/utils";
2
+ import { isTokenAssociateTransaction, isStakingTransaction } from "./logic/utils";
3
3
  async function getDeviceTransactionConfig({ transaction, status: { estimatedFees }, }) {
4
4
  const fields = [];
5
+ if (isStakingTransaction(transaction)) {
6
+ fields.push({
7
+ type: "text",
8
+ label: "Method",
9
+ value: transaction.mode === HEDERA_TRANSACTION_MODES.ClaimRewards
10
+ ? "Claim Rewards"
11
+ : "Update Account",
12
+ });
13
+ if (!estimatedFees.isZero()) {
14
+ fields.push({
15
+ type: "fees",
16
+ label: "Fees",
17
+ });
18
+ }
19
+ if (typeof transaction.properties?.stakingNodeId === "number") {
20
+ fields.push({
21
+ type: "text",
22
+ label: "Staked Node ID",
23
+ value: transaction.properties.stakingNodeId.toString(),
24
+ });
25
+ }
26
+ if (transaction.memo) {
27
+ fields.push({
28
+ type: "text",
29
+ label: "Memo",
30
+ value: transaction.memo,
31
+ });
32
+ }
33
+ return fields;
34
+ }
5
35
  const method = (() => {
6
36
  if (isTokenAssociateTransaction(transaction))
7
37
  return "Associate Token";
@@ -1 +1 @@
1
- {"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;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,2BAA2B,CAAC,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,2BAA2B,CAAC,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,wBAAwB,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,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGlF,KAAK,UAAU,0BAA0B,CAAC,EACxC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAM1B;IACC,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,KAAK,EACH,WAAW,CAAC,IAAI,KAAK,wBAAwB,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,2BAA2B,CAAC,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,2BAA2B,CAAC,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,wBAAwB,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,eAAe,0BAA0B,CAAC"}
@@ -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-es/errors.js CHANGED
@@ -5,4 +5,7 @@ export const HederaInsufficientFundsForAssociation = createCustomErrorClass("Hed
5
5
  export const HederaRecipientTokenAssociationRequired = createCustomErrorClass("HederaRecipientTokenAssociationRequired");
6
6
  export const HederaRecipientTokenAssociationUnverified = createCustomErrorClass("HederaRecipientTokenAssociationUnverified");
7
7
  export const HederaRecipientEvmAddressVerificationRequired = createCustomErrorClass("HederaRecipientEvmAddressVerificationRequired");
8
+ export const HederaRedundantStakingNodeIdError = createCustomErrorClass("HederaRedundantStakingNodeIdError");
9
+ export const HederaInvalidStakingNodeIdError = createCustomErrorClass("HederaInvalidStakingNodeIdError");
10
+ export const HederaNoStakingRewardsError = createCustomErrorClass("HederaNoStakingRewardsError");
8
11
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAClE,gCAAgC,CACjC,CAAC;AACF,MAAM,CAAC,MAAM,qCAAqC,GAAG,sBAAsB,CACzE,uCAAuC,CACxC,CAAC;AACF,MAAM,CAAC,MAAM,uCAAuC,GAAG,sBAAsB,CAC3E,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,yCAAyC,GAAG,sBAAsB,CAC7E,2CAA2C,CAC5C,CAAC;AACF,MAAM,CAAC,MAAM,6CAA6C,GAAG,sBAAsB,CACjF,+CAA+C,CAChD,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAClE,gCAAgC,CACjC,CAAC;AACF,MAAM,CAAC,MAAM,qCAAqC,GAAG,sBAAsB,CACzE,uCAAuC,CACxC,CAAC;AACF,MAAM,CAAC,MAAM,uCAAuC,GAAG,sBAAsB,CAC3E,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,yCAAyC,GAAG,sBAAsB,CAC7E,2CAA2C,CAC5C,CAAC;AACF,MAAM,CAAC,MAAM,6CAA6C,GAAG,sBAAsB,CACjF,+CAA+C,CAChD,CAAC;AACF,MAAM,CAAC,MAAM,iCAAiC,GAAG,sBAAsB,CACrE,mCAAmC,CACpC,CAAC;AACF,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CACnE,iCAAiC,CAClC,CAAC;AACF,MAAM,CAAC,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,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"}
@@ -1,8 +1,8 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  import invariant from "invariant";
3
- import { AccountId, ContractExecuteTransaction, ContractFunctionParameters, ContractId, Hbar, TokenAssociateTransaction, TransactionId, TransferTransaction, } from "@hashgraph/sdk";
3
+ import { AccountId, AccountUpdateTransaction, ContractExecuteTransaction, ContractFunctionParameters, ContractId, Hbar, TokenAssociateTransaction, TransactionId, TransferTransaction, } from "@hashgraph/sdk";
4
4
  import { DEFAULT_GAS_LIMIT, HEDERA_TRANSACTION_MODES } from "../constants";
5
- import { serializeTransaction } from "./utils";
5
+ import { hasSpecificIntentData, serializeTransaction } from "./utils";
6
6
  // avoid "sign" prompt loop by having only one node (one transaction)
7
7
  // https://github.com/LedgerHQ/ledger-live/pull/72/commits/1e942687d4301660e43e0c4b5419fcfa2733b290
8
8
  // changing this will break `getHederaTransactionBodyBytes` from logic/utils.ts
@@ -70,10 +70,27 @@ async function buildTokenAssociateTransaction({ account, transaction, }) {
70
70
  }
71
71
  return tx.freeze();
72
72
  }
73
+ async function buildUnsignedUpdateAccountTransaction({ account, transaction, }) {
74
+ const accountId = account.accountId;
75
+ const tx = new AccountUpdateTransaction()
76
+ .setNodeAccountIds([new AccountId(3)])
77
+ .setTransactionId(TransactionId.generate(accountId))
78
+ .setTransactionMemo(transaction.memo ?? "")
79
+ .setAccountId(accountId);
80
+ if (transaction.maxFee) {
81
+ tx.setMaxTransactionFee(Hbar.fromTinybars(transaction.maxFee.toNumber()));
82
+ }
83
+ if (typeof transaction.stakingNodeId === "number") {
84
+ tx.setStakedNodeId(transaction.stakingNodeId);
85
+ }
86
+ if (transaction.stakingNodeId === null) {
87
+ tx.clearStakedNodeId();
88
+ }
89
+ return tx.freeze();
90
+ }
73
91
  export async function craftTransaction(txIntent, customFees) {
74
- const account = {
75
- accountId: txIntent.sender,
76
- };
92
+ const account = { accountId: txIntent.sender };
93
+ const maxFee = customFees ? new BigNumber(customFees.value.toString()) : undefined;
77
94
  let tx;
78
95
  if (txIntent.type === HEDERA_TRANSACTION_MODES.TokenAssociate) {
79
96
  invariant(txIntent.asset.type !== "native", "hedera: invalid asset type");
@@ -84,7 +101,7 @@ export async function craftTransaction(txIntent, customFees) {
84
101
  type: txIntent.type,
85
102
  tokenId: txIntent.asset.assetReference,
86
103
  memo: txIntent.memo.value,
87
- maxFee: customFees ? new BigNumber(customFees.value.toString()) : undefined,
104
+ maxFee,
88
105
  },
89
106
  });
90
107
  }
@@ -99,14 +116,14 @@ export async function craftTransaction(txIntent, customFees) {
99
116
  amount,
100
117
  recipient: txIntent.recipient,
101
118
  memo: txIntent.memo.value,
102
- maxFee: customFees ? new BigNumber(customFees.value.toString()) : undefined,
119
+ maxFee,
103
120
  },
104
121
  });
105
122
  }
106
123
  else if (txIntent.type === HEDERA_TRANSACTION_MODES.Send && txIntent.asset.type === "erc20") {
107
124
  invariant("assetReference" in txIntent.asset, "hedera: no assetReference in token transfer");
108
125
  const amount = new BigNumber(txIntent.amount.toString());
109
- const gasLimit = "data" in txIntent && txIntent.data.gasLimit
126
+ const gasLimit = hasSpecificIntentData(txIntent, "erc20")
110
127
  ? new BigNumber(txIntent.data.gasLimit.toString())
111
128
  : DEFAULT_GAS_LIMIT;
112
129
  tx = await buildUnsignedERC20TokenTransaction({
@@ -117,11 +134,28 @@ export async function craftTransaction(txIntent, customFees) {
117
134
  amount,
118
135
  recipient: txIntent.recipient,
119
136
  memo: txIntent.memo.value,
120
- maxFee: customFees ? new BigNumber(customFees.value.toString()) : undefined,
137
+ maxFee,
121
138
  gasLimit,
122
139
  },
123
140
  });
124
141
  }
142
+ else if (txIntent.type === HEDERA_TRANSACTION_MODES.Redelegate ||
143
+ txIntent.type === HEDERA_TRANSACTION_MODES.Undelegate ||
144
+ txIntent.type === HEDERA_TRANSACTION_MODES.Delegate) {
145
+ const stakingNodeId = hasSpecificIntentData(txIntent, "staking")
146
+ ? txIntent.data.stakingNodeId
147
+ : undefined;
148
+ tx = await buildUnsignedUpdateAccountTransaction({
149
+ account,
150
+ transaction: {
151
+ type: txIntent.type,
152
+ memo: txIntent.memo.value,
153
+ maxFee,
154
+ stakingNodeId,
155
+ },
156
+ });
157
+ }
158
+ // HEDERA_TRANSACTION_MODES.ClaimRewards is just a coin transfer that triggers staking rewards claim
125
159
  else {
126
160
  const amount = new BigNumber(txIntent.amount.toString());
127
161
  tx = await buildUnsignedCoinTransaction({
@@ -131,7 +165,7 @@ export async function craftTransaction(txIntent, customFees) {
131
165
  amount,
132
166
  recipient: txIntent.recipient,
133
167
  memo: txIntent.memo.value,
134
- maxFee: customFees ? new BigNumber(customFees.value.toString()) : undefined,
168
+ maxFee,
135
169
  },
136
170
  });
137
171
  }
@@ -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"}
@@ -1,6 +1,6 @@
1
1
  import { getBlockInfo } from "./getBlockInfo";
2
2
  import { apiClient } from "../network/api";
3
- import { getTimestampRangeFromBlockHeight } from "./utils";
3
+ import { getMemoFromBase64, getTimestampRangeFromBlockHeight } from "./utils";
4
4
  function toHederaAsset(mirrorTransfer) {
5
5
  if ("token_id" in mirrorTransfer) {
6
6
  return {
@@ -40,6 +40,7 @@ export async function getBlock(height) {
40
40
  operations,
41
41
  fees: BigInt(tx.charged_tx_fee),
42
42
  feesPayer: payerAccount,
43
+ details: { memo: getMemoFromBase64(tx.memo_base64) },
43
44
  };
44
45
  });
45
46
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;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;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAc;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,SAAS,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"}
1
+ {"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../src/logic/getBlock.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;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;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAc;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,SAAS,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,iBAAiB,CAAC,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"}
@@ -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"}
@@ -1,4 +1,5 @@
1
1
  import BigNumber from "bignumber.js";
2
+ import { getEnv } from "@ledgerhq/live-env";
2
3
  import { getCryptoAssetsStore } from "@ledgerhq/cryptoassets/state";
3
4
  import { encodeAccountId, encodeTokenAccountId } from "@ledgerhq/coin-framework/account/accountId";
4
5
  import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
@@ -8,6 +9,7 @@ import { base64ToUrlSafeBase64, getMemoFromBase64, getSyntheticBlock } from "./u
8
9
  const txNameToCustomOperationType = {
9
10
  TOKENASSOCIATE: "ASSOCIATE_TOKEN",
10
11
  CONTRACTCALL: "CONTRACT_CALL",
12
+ CRYPTOUPDATEACCOUNT: "UPDATE_ACCOUNT",
11
13
  };
12
14
  function getCommonOperationData(rawTx, useEncodedHash, useSyntheticBlocks) {
13
15
  const timestamp = new Date(Number.parseInt(rawTx.consensus_timestamp.split(".")[0], 10) * 1000);
@@ -88,13 +90,22 @@ async function processTokenTransfers({ rawTx, address, currency, ledgerAccountId
88
90
  };
89
91
  }
90
92
  function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorTokens, }) {
93
+ const coinOperations = [];
91
94
  const transfers = rawTx.transfers ?? [];
92
- if (transfers.length === 0)
93
- return null;
95
+ if (transfers.length === 0) {
96
+ return [];
97
+ }
94
98
  const { type, value, senders, recipients } = parseTransfers(transfers, address);
95
99
  const { hash, fee, timestamp, blockHeight, blockHash, hasFailed } = commonData;
96
100
  const extra = { ...commonData.extra };
97
101
  const operationType = txNameToCustomOperationType[rawTx.name] ?? type;
102
+ const stakingReward = rawTx.staking_reward_transfers.reduce((acc, transfer) => {
103
+ const transferAmount = new BigNumber(transfer.amount);
104
+ if (transfer.account === address) {
105
+ acc = acc.plus(transferAmount);
106
+ }
107
+ return acc;
108
+ }, new BigNumber(0));
98
109
  // try to enrich ASSOCIATE_TOKEN operation with extra.associatedTokenId
99
110
  // this value is used by custom OperationDetails components in Hedera family
100
111
  // accounts or contracts must first associate with an HTS token before they can receive or send that token; without association, token transfers fail
@@ -106,7 +117,28 @@ function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorT
106
117
  extra.associatedTokenId = relatedMirrorToken.token_id;
107
118
  }
108
119
  }
109
- return {
120
+ // add REWARD operation representing staking reward transfers
121
+ if (stakingReward.gt(0)) {
122
+ const stakingRewardHash = `${hash}-staking-reward`;
123
+ const stakingRewardType = "REWARD";
124
+ // offset timestamp by +1ms to ensure it appears just before the operation that triggered it
125
+ const stakingRewardTimestamp = new Date(timestamp.getTime() + 1);
126
+ coinOperations.push({
127
+ id: encodeOperationId(ledgerAccountId, stakingRewardHash, stakingRewardType),
128
+ accountId: ledgerAccountId,
129
+ type: stakingRewardType,
130
+ value: stakingReward,
131
+ recipients: [address],
132
+ senders: [getEnv("HEDERA_STAKING_REWARD_ACCOUNT_ID")],
133
+ hash: stakingRewardHash,
134
+ fee: new BigNumber(0),
135
+ date: stakingRewardTimestamp,
136
+ blockHeight,
137
+ blockHash,
138
+ extra,
139
+ });
140
+ }
141
+ coinOperations.push({
110
142
  id: encodeOperationId(ledgerAccountId, hash, operationType),
111
143
  accountId: ledgerAccountId,
112
144
  type: operationType,
@@ -120,7 +152,8 @@ function processTransfers({ rawTx, address, ledgerAccountId, commonData, mirrorT
120
152
  blockHash,
121
153
  hasFailed,
122
154
  extra,
123
- };
155
+ });
156
+ return coinOperations;
124
157
  }
125
158
  export async function listOperations({ currency, address, mirrorTokens, pagination, fetchAllPages, skipFeesForTokenOperations, useEncodedHash, useSyntheticBlocks, }) {
126
159
  const coinOperations = [];
@@ -156,15 +189,14 @@ export async function listOperations({ currency, address, mirrorTokens, paginati
156
189
  tokenOperations.push(tokenResult.tokenOperation);
157
190
  // process regular transfers only if there were no token transfers
158
191
  if (!tokenResult) {
159
- const coinOperation = processTransfers({
192
+ const newCoinOperations = processTransfers({
160
193
  rawTx,
161
194
  address,
162
195
  ledgerAccountId,
163
196
  commonData,
164
197
  mirrorTokens,
165
198
  });
166
- if (coinOperation)
167
- coinOperations.push(coinOperation);
199
+ coinOperations.push(...newCoinOperations);
168
200
  }
169
201
  }
170
202
  return {