@ledgerhq/device-signer-kit-ethereum 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/README.md +59 -1
  2. package/lib/cjs/api/SignerEth.js +1 -1
  3. package/lib/cjs/api/SignerEth.js.map +1 -1
  4. package/lib/cjs/api/SignerEthBuilder.test.js +1 -1
  5. package/lib/cjs/api/SignerEthBuilder.test.js.map +2 -2
  6. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  7. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
  8. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  9. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
  10. package/lib/cjs/api/app-binder/VerifySafeAddressDeviceActionTypes.js +2 -0
  11. package/lib/cjs/api/app-binder/VerifySafeAddressDeviceActionTypes.js.map +7 -0
  12. package/lib/cjs/api/model/SafeAddressOptions.js +2 -0
  13. package/lib/cjs/api/model/SafeAddressOptions.js.map +7 -0
  14. package/lib/cjs/internal/DefaultSignerEth.js +1 -1
  15. package/lib/cjs/internal/DefaultSignerEth.js.map +3 -3
  16. package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
  17. package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
  18. package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
  19. package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +2 -2
  20. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.js +2 -0
  21. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.js.map +7 -0
  22. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.test.js +2 -0
  23. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.test.js.map +7 -0
  24. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  25. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  26. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  27. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  28. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  29. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  30. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  31. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  32. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  33. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +2 -2
  34. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  35. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  36. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js +2 -0
  37. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js.map +7 -0
  38. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js +2 -0
  39. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js.map +7 -0
  40. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js +2 -0
  41. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js.map +7 -0
  42. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.js +2 -0
  43. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.js.map +7 -0
  44. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.test.js +2 -0
  45. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.test.js.map +7 -0
  46. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  47. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  48. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  49. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  50. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.js +2 -0
  51. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.js.map +7 -0
  52. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.test.js +2 -0
  53. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.test.js.map +7 -0
  54. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.js +2 -0
  55. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.js.map +7 -0
  56. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.test.js +2 -0
  57. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.test.js.map +7 -0
  58. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.js +2 -0
  59. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.js.map +7 -0
  60. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.test.js +2 -0
  61. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.test.js.map +7 -0
  62. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.js +2 -0
  63. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.js.map +7 -0
  64. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.test.js +2 -0
  65. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.test.js.map +7 -0
  66. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.js +2 -0
  67. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.js.map +7 -0
  68. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.test.js +2 -0
  69. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.test.js.map +7 -0
  70. package/lib/cjs/internal/app-binder/task/ProvideContextTask.js +2 -0
  71. package/lib/cjs/internal/app-binder/task/ProvideContextTask.js.map +7 -0
  72. package/lib/cjs/internal/app-binder/task/ProvideContextTask.test.js +2 -0
  73. package/lib/cjs/internal/app-binder/task/ProvideContextTask.test.js.map +7 -0
  74. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  75. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  76. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  77. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  78. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.js +2 -0
  79. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.js.map +7 -0
  80. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.test.js +2 -0
  81. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.test.js.map +7 -0
  82. package/lib/cjs/internal/di.js +1 -1
  83. package/lib/cjs/internal/di.js.map +3 -3
  84. package/lib/cjs/internal/safe/di/safeModule.js +2 -0
  85. package/lib/cjs/internal/safe/di/safeModule.js.map +7 -0
  86. package/lib/cjs/internal/safe/di/safeModule.test.js +2 -0
  87. package/lib/cjs/internal/safe/di/safeModule.test.js.map +7 -0
  88. package/lib/cjs/internal/safe/di/safeTypes.js +2 -0
  89. package/lib/cjs/internal/safe/di/safeTypes.js.map +7 -0
  90. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.js +2 -0
  91. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.js.map +7 -0
  92. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.test.js +2 -0
  93. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.test.js.map +7 -0
  94. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
  95. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +2 -2
  96. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  97. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +2 -2
  98. package/lib/cjs/package.json +2 -2
  99. package/lib/esm/api/SignerEthBuilder.test.js +1 -1
  100. package/lib/esm/api/SignerEthBuilder.test.js.map +2 -2
  101. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  102. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
  103. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  104. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
  105. package/lib/esm/api/app-binder/VerifySafeAddressDeviceActionTypes.js +2 -0
  106. package/lib/esm/api/app-binder/VerifySafeAddressDeviceActionTypes.js.map +7 -0
  107. package/lib/esm/api/model/SafeAddressOptions.js +1 -0
  108. package/lib/esm/api/model/SafeAddressOptions.js.map +7 -0
  109. package/lib/esm/internal/DefaultSignerEth.js +1 -1
  110. package/lib/esm/internal/DefaultSignerEth.js.map +3 -3
  111. package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
  112. package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
  113. package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
  114. package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +2 -2
  115. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.js +2 -0
  116. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.js.map +7 -0
  117. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.test.js +2 -0
  118. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.test.js.map +7 -0
  119. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  120. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  121. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  122. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  123. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  124. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  125. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  126. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  127. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  128. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +2 -2
  129. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  130. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  131. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js +2 -0
  132. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js.map +7 -0
  133. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js +2 -0
  134. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js.map +7 -0
  135. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js +2 -0
  136. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js.map +7 -0
  137. package/lib/esm/internal/app-binder/task/BuildBaseContexts.js +2 -0
  138. package/lib/esm/internal/app-binder/task/BuildBaseContexts.js.map +7 -0
  139. package/lib/esm/internal/app-binder/task/BuildBaseContexts.test.js +2 -0
  140. package/lib/esm/internal/app-binder/task/BuildBaseContexts.test.js.map +7 -0
  141. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  142. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  143. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  144. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  145. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.js +2 -0
  146. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.js.map +7 -0
  147. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.test.js +2 -0
  148. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.test.js.map +7 -0
  149. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.js +2 -0
  150. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.js.map +7 -0
  151. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.test.js +2 -0
  152. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.test.js.map +7 -0
  153. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.js +2 -0
  154. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.js.map +7 -0
  155. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.test.js +2 -0
  156. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.test.js.map +7 -0
  157. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.js +2 -0
  158. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.js.map +7 -0
  159. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.test.js +2 -0
  160. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.test.js.map +7 -0
  161. package/lib/esm/internal/app-binder/task/ParseTransactionTask.js +2 -0
  162. package/lib/esm/internal/app-binder/task/ParseTransactionTask.js.map +7 -0
  163. package/lib/esm/internal/app-binder/task/ParseTransactionTask.test.js +2 -0
  164. package/lib/esm/internal/app-binder/task/ParseTransactionTask.test.js.map +7 -0
  165. package/lib/esm/internal/app-binder/task/ProvideContextTask.js +2 -0
  166. package/lib/esm/internal/app-binder/task/ProvideContextTask.js.map +7 -0
  167. package/lib/esm/internal/app-binder/task/ProvideContextTask.test.js +2 -0
  168. package/lib/esm/internal/app-binder/task/ProvideContextTask.test.js.map +7 -0
  169. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  170. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  171. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  172. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  173. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.js +2 -0
  174. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.js.map +7 -0
  175. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.test.js +2 -0
  176. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.test.js.map +7 -0
  177. package/lib/esm/internal/di.js +1 -1
  178. package/lib/esm/internal/di.js.map +3 -3
  179. package/lib/esm/internal/safe/di/safeModule.js +2 -0
  180. package/lib/esm/internal/safe/di/safeModule.js.map +7 -0
  181. package/lib/esm/internal/safe/di/safeModule.test.js +2 -0
  182. package/lib/esm/internal/safe/di/safeModule.test.js.map +7 -0
  183. package/lib/esm/internal/safe/di/safeTypes.js +2 -0
  184. package/lib/esm/internal/safe/di/safeTypes.js.map +7 -0
  185. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.js +2 -0
  186. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.js.map +7 -0
  187. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.test.js +2 -0
  188. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.test.js.map +7 -0
  189. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
  190. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +2 -2
  191. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  192. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +2 -2
  193. package/lib/esm/package.json +2 -2
  194. package/lib/types/api/SignerEth.d.ts +3 -0
  195. package/lib/types/api/SignerEth.d.ts.map +1 -1
  196. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +9 -8
  197. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  198. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +4 -0
  199. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
  200. package/lib/types/api/app-binder/VerifySafeAddressDeviceActionTypes.d.ts +30 -0
  201. package/lib/types/api/app-binder/VerifySafeAddressDeviceActionTypes.d.ts.map +1 -0
  202. package/lib/types/api/model/SafeAddressOptions.d.ts +5 -0
  203. package/lib/types/api/model/SafeAddressOptions.d.ts.map +1 -0
  204. package/lib/types/internal/DefaultSignerEth.d.ts +3 -0
  205. package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
  206. package/lib/types/internal/app-binder/EthAppBinder.d.ts +6 -0
  207. package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
  208. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.d.ts +34 -0
  209. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.d.ts.map +1 -0
  210. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.test.d.ts +2 -0
  211. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.test.d.ts.map +1 -0
  212. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +29 -1
  213. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -1
  214. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +14 -18
  215. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
  216. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +4 -0
  217. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
  218. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.d.ts +20 -0
  219. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.d.ts.map +1 -0
  220. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.d.ts +2 -0
  221. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.d.ts.map +1 -0
  222. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.d.ts +6 -0
  223. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.d.ts.map +1 -0
  224. package/lib/types/internal/app-binder/task/BuildBaseContexts.d.ts +51 -0
  225. package/lib/types/internal/app-binder/task/BuildBaseContexts.d.ts.map +1 -0
  226. package/lib/types/internal/app-binder/task/BuildBaseContexts.test.d.ts +2 -0
  227. package/lib/types/internal/app-binder/task/BuildBaseContexts.test.d.ts.map +1 -0
  228. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts +8 -1
  229. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
  230. package/lib/types/internal/app-binder/task/BuildFullContextsTask.d.ts +39 -0
  231. package/lib/types/internal/app-binder/task/BuildFullContextsTask.d.ts.map +1 -0
  232. package/lib/types/internal/app-binder/task/BuildFullContextsTask.test.d.ts +2 -0
  233. package/lib/types/internal/app-binder/task/BuildFullContextsTask.test.d.ts.map +1 -0
  234. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.d.ts +19 -0
  235. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.d.ts.map +1 -0
  236. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.test.d.ts +2 -0
  237. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.test.d.ts.map +1 -0
  238. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.d.ts +28 -0
  239. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.d.ts.map +1 -0
  240. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.test.d.ts +2 -0
  241. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.test.d.ts.map +1 -0
  242. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.d.ts +21 -0
  243. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.d.ts.map +1 -0
  244. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.test.d.ts +2 -0
  245. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.test.d.ts.map +1 -0
  246. package/lib/types/internal/app-binder/task/{PreBuildContextTask.d.ts → ParseTransactionTask.d.ts} +6 -6
  247. package/lib/types/internal/app-binder/task/ParseTransactionTask.d.ts.map +1 -0
  248. package/lib/types/internal/app-binder/task/ParseTransactionTask.test.d.ts +2 -0
  249. package/lib/types/internal/app-binder/task/ParseTransactionTask.test.d.ts.map +1 -0
  250. package/lib/types/internal/app-binder/task/ProvideContextTask.d.ts +22 -0
  251. package/lib/types/internal/app-binder/task/ProvideContextTask.d.ts.map +1 -0
  252. package/lib/types/internal/app-binder/task/ProvideContextTask.test.d.ts +2 -0
  253. package/lib/types/internal/app-binder/task/ProvideContextTask.test.d.ts.map +1 -0
  254. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +14 -3
  255. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
  256. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.d.ts +36 -0
  257. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.d.ts.map +1 -0
  258. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.test.d.ts +2 -0
  259. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.test.d.ts.map +1 -0
  260. package/lib/types/internal/di.d.ts.map +1 -1
  261. package/lib/types/internal/safe/di/safeModule.d.ts +3 -0
  262. package/lib/types/internal/safe/di/safeModule.d.ts.map +1 -0
  263. package/lib/types/internal/safe/di/safeModule.test.d.ts +2 -0
  264. package/lib/types/internal/safe/di/safeModule.test.d.ts.map +1 -0
  265. package/lib/types/internal/safe/di/safeTypes.d.ts +4 -0
  266. package/lib/types/internal/safe/di/safeTypes.d.ts.map +1 -0
  267. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.d.ts +9 -0
  268. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.d.ts.map +1 -0
  269. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.test.d.ts +2 -0
  270. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.test.d.ts.map +1 -0
  271. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  272. package/package.json +9 -9
  273. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.js +0 -2
  274. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.js.map +0 -7
  275. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.test.js +0 -2
  276. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.test.js.map +0 -7
  277. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +0 -2
  278. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +0 -7
  279. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +0 -2
  280. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +0 -7
  281. package/lib/cjs/internal/app-binder/task/PreBuildContextTask.js +0 -2
  282. package/lib/cjs/internal/app-binder/task/PreBuildContextTask.js.map +0 -7
  283. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +0 -2
  284. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +0 -7
  285. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +0 -2
  286. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +0 -7
  287. package/lib/esm/internal/app-binder/task/BuildSubContextTask.js +0 -2
  288. package/lib/esm/internal/app-binder/task/BuildSubContextTask.js.map +0 -7
  289. package/lib/esm/internal/app-binder/task/BuildSubContextTask.test.js +0 -2
  290. package/lib/esm/internal/app-binder/task/BuildSubContextTask.test.js.map +0 -7
  291. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +0 -2
  292. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +0 -7
  293. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +0 -2
  294. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +0 -7
  295. package/lib/esm/internal/app-binder/task/PreBuildContextTask.js +0 -2
  296. package/lib/esm/internal/app-binder/task/PreBuildContextTask.js.map +0 -7
  297. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +0 -2
  298. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +0 -7
  299. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +0 -2
  300. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +0 -7
  301. package/lib/types/internal/app-binder/task/BuildSubContextTask.d.ts +0 -20
  302. package/lib/types/internal/app-binder/task/BuildSubContextTask.d.ts.map +0 -1
  303. package/lib/types/internal/app-binder/task/BuildSubContextTask.test.d.ts +0 -2
  304. package/lib/types/internal/app-binder/task/BuildSubContextTask.test.d.ts.map +0 -1
  305. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +0 -28
  306. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +0 -1
  307. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts +0 -2
  308. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts.map +0 -1
  309. package/lib/types/internal/app-binder/task/PreBuildContextTask.d.ts.map +0 -1
  310. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +0 -44
  311. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +0 -1
  312. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts +0 -2
  313. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts.map +0 -1
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionContextTask.test.ts"],
4
- "sourcesContent": ["import {\n type ClearSignContextSuccess,\n ClearSignContextType,\n} from \"@ledgerhq/context-module\";\nimport {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n LoadCertificateCommand,\n type UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { ProvideEnumCommand } from \"@internal/app-binder/command/ProvideEnumCommand\";\nimport { ProvideNetworkConfigurationCommand } from \"@internal/app-binder/command/ProvideNetworkConfigurationCommand\";\nimport { ProvideNFTInformationCommand } from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport { ProvideProxyInfoCommand } from \"@internal/app-binder/command/ProvideProxyInfoCommand\";\nimport { ProvideTokenInformationCommand } from \"@internal/app-binder/command/ProvideTokenInformationCommand\";\nimport { ProvideTransactionFieldDescriptionCommand } from \"@internal/app-binder/command/ProvideTransactionFieldDescriptionCommand\";\nimport { ProvideTransactionInformationCommand } from \"@internal/app-binder/command/ProvideTransactionInformationCommand\";\nimport { ProvideTrustedNameCommand } from \"@internal/app-binder/command/ProvideTrustedNameCommand\";\nimport { ProvideWeb3CheckCommand } from \"@internal/app-binder/command/ProvideWeb3CheckCommand\";\nimport { SetExternalPluginCommand } from \"@internal/app-binder/command/SetExternalPluginCommand\";\nimport { SetPluginCommand } from \"@internal/app-binder/command/SetPluginCommand\";\nimport { StoreTransactionCommand } from \"@internal/app-binder/command/StoreTransactionCommand\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport {\n ProvideTransactionContextTask,\n type ProvideTransactionContextTaskArgs,\n} from \"./ProvideTransactionContextTask\";\nimport {\n SendCommandInChunksTask,\n type SendCommandInChunksTaskArgs,\n} from \"./SendCommandInChunksTask\";\nimport {\n SendPayloadInChunksTask,\n type SendPayloadInChunksTaskArgs,\n} from \"./SendPayloadInChunksTask\";\n\ndescribe(\"ProvideTransactionContextTask\", () => {\n const api = makeDeviceActionInternalApiMock();\n const successResult = CommandResultFactory<void, EthErrorCodes>({\n data: undefined,\n });\n const errorResult = CommandResultFactory<void, EthErrorCodes>({\n data: undefined,\n error: {} as UnknownDeviceExchangeError,\n });\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n const sendPayloadInChunksRunMock = vi.fn();\n const sendCommandInChunksTaskRunMock = vi.fn();\n const sendCommandInChunksTaskMockFactory = vi.fn();\n const sendPayloadInChunksTaskMockFactory = vi.fn();\n\n beforeEach(() => {\n vi.clearAllMocks();\n sendCommandInChunksTaskMockFactory.mockImplementation(\n (a: InternalApi, args: SendCommandInChunksTaskArgs<unknown>) =>\n ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n run: () => sendCommandInChunksTaskRunMock(a, args),\n }) as unknown as SendCommandInChunksTask<unknown>,\n );\n sendPayloadInChunksTaskMockFactory.mockImplementation(\n (a: InternalApi, args: SendPayloadInChunksTaskArgs<unknown>) =>\n ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n run: () => sendPayloadInChunksRunMock(a, args),\n }) as unknown as SendPayloadInChunksTask<unknown>,\n );\n });\n\n describe(\"with no subcontexts\", () => {\n it(\"should provide the transaction context for a TRANSACTION_INFO context\", async () => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: ClearSignContextType.TRANSACTION_INFO,\n payload: \"0x00\",\n certificate: {\n keyUsageNumber: 1,\n payload: new Uint8Array([1, 2, 3]),\n },\n },\n subcontextsCallbacks: [],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n sendCommandInChunksTaskRunMock.mockResolvedValue(successResult);\n sendPayloadInChunksRunMock.mockResolvedValue(successResult);\n api.sendCommand.mockResolvedValue(successResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Right(void 0));\n\n // StoreTransactionCommand\n expect(sendCommandInChunksTaskRunMock).toHaveBeenCalledTimes(1);\n expect(sendCommandInChunksTaskMockFactory).toHaveBeenCalledWith(api, {\n data: new Uint8Array([\n 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00, 0x3c, 0x80, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n commandFactory: expect.any(Function),\n });\n // Test that the commandFactory returns a StoreTransactionCommand\n const factoryCall = sendCommandInChunksTaskMockFactory.mock.calls[0]!;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const commandFactory = factoryCall[1].commandFactory;\n // arbitrary data to test the commandFactory\n const mockArgs = {\n chunkedData: new Uint8Array([1, 2, 3, 4]),\n isFirstChunk: true,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const command = commandFactory(mockArgs);\n expect(command).toBeInstanceOf(StoreTransactionCommand);\n\n // LoadCertificateCommand\n expect(api.sendCommand).toHaveBeenCalledTimes(1);\n expect(api.sendCommand).toHaveBeenCalledWith(\n expect.any(LoadCertificateCommand),\n );\n\n // ProvideTransactionInformationCommand\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledTimes(1);\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledWith(api, {\n payload: \"0x00\",\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n commandFactory: expect.any(Function),\n });\n // Test that the commandFactory returns a ProvideTransactionInformationCommand\n const factoryCall2 = sendPayloadInChunksRunMock.mock.calls[0]!;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const commandFactory2 = factoryCall2[1].commandFactory;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const command2 = commandFactory2(mockArgs);\n expect(command2).toBeInstanceOf(ProvideTransactionInformationCommand);\n });\n\n it(\"should provide the transaction context for a TRANSACTION_INFO context without certificate\", async () => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: ClearSignContextType.TRANSACTION_INFO,\n payload: \"0x00\",\n },\n subcontextsCallbacks: [],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n sendCommandInChunksTaskRunMock.mockResolvedValue(successResult);\n sendPayloadInChunksRunMock.mockResolvedValue(successResult);\n api.sendCommand.mockResolvedValue(successResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Right(void 0));\n\n // StoreTransactionCommand\n expect(sendCommandInChunksTaskRunMock).toHaveBeenCalledTimes(1);\n expect(sendCommandInChunksTaskMockFactory).toHaveBeenCalledWith(api, {\n data: new Uint8Array([\n 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00, 0x3c, 0x80, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n commandFactory: expect.any(Function),\n });\n // Test that the commandFactory returns a StoreTransactionCommand\n const factoryCall = sendCommandInChunksTaskMockFactory.mock.calls[0]!;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const commandFactory = factoryCall[1].commandFactory;\n // arbitrary data to test the commandFactory\n const mockArgs = {\n chunkedData: new Uint8Array([1, 2, 3, 4]),\n isFirstChunk: true,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const command = commandFactory(mockArgs);\n expect(command).toBeInstanceOf(StoreTransactionCommand);\n\n // LoadCertificateCommand\n expect(api.sendCommand).toHaveBeenCalledTimes(0);\n\n // ProvideTransactionInformationCommand\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledTimes(1);\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledWith(api, {\n payload: \"0x00\",\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n commandFactory: expect.any(Function),\n });\n // Test that the commandFactory returns a ProvideTransactionInformationCommand\n const factoryCall2 = sendPayloadInChunksRunMock.mock.calls[0]!;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const commandFactory2 = factoryCall2[1].commandFactory;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const command2 = commandFactory2(mockArgs);\n expect(command2).toBeInstanceOf(ProvideTransactionInformationCommand);\n });\n\n it.each([\n [ClearSignContextType.PLUGIN, SetPluginCommand],\n [ClearSignContextType.EXTERNAL_PLUGIN, SetExternalPluginCommand],\n [ClearSignContextType.NFT, ProvideNFTInformationCommand],\n [ClearSignContextType.TOKEN, ProvideTokenInformationCommand],\n ] as const)(\n \"should provide the transaction context by calling sendCommand for a %s context\",\n async (contextType, commandClass) => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: contextType,\n payload: \"payload\",\n },\n subcontextsCallbacks: [],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n api.sendCommand.mockResolvedValue(successResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Right(void 0));\n expect(api.sendCommand).toHaveBeenCalledTimes(1);\n expect(api.sendCommand).toHaveBeenCalledWith(\n expect.any(commandClass),\n );\n },\n );\n\n it.each([\n [ClearSignContextType.ENUM, ProvideEnumCommand],\n [ClearSignContextType.TRUSTED_NAME, ProvideTrustedNameCommand],\n [ClearSignContextType.WEB3_CHECK, ProvideWeb3CheckCommand],\n [\n ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n ProvideTransactionFieldDescriptionCommand,\n ],\n [ClearSignContextType.PROXY_DELEGATE_CALL, ProvideProxyInfoCommand],\n [\n ClearSignContextType.DYNAMIC_NETWORK_ICON,\n ProvideNetworkConfigurationCommand,\n false,\n ],\n [\n ClearSignContextType.DYNAMIC_NETWORK,\n ProvideNetworkConfigurationCommand,\n ],\n ] as const)(\n \"should provide the transaction context by calling sendPayloadInChunksTask for a %s context\",\n async (contextType, commandClass, withPayloadLength = undefined) => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: contextType,\n payload: \"payload\",\n } as ClearSignContextSuccess,\n subcontextsCallbacks: [],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n sendPayloadInChunksRunMock.mockResolvedValue(successResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Right(void 0));\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledTimes(1);\n if (withPayloadLength === undefined) {\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledWith(api, {\n payload: \"payload\",\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n commandFactory: expect.any(Function),\n });\n } else {\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledWith(api, {\n payload: \"payload\",\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n commandFactory: expect.any(Function),\n withPayloadLength,\n });\n }\n\n // Test that the commandFactory returns a commandClass\n const factoryCall = sendPayloadInChunksTaskMockFactory.mock.calls[0]!;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const commandFactory = factoryCall[1].commandFactory;\n const mockArgs = {\n chunkedData: new Uint8Array([1, 2, 3]),\n isFirstChunk: true,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const command = commandFactory(mockArgs);\n expect(command).toBeInstanceOf(commandClass);\n },\n );\n\n it(\"should skip the subcontexts if the context is an error\", async () => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: ClearSignContextType.TOKEN,\n payload: \"payload\",\n certificate: {\n keyUsageNumber: 1,\n payload: new Uint8Array([1, 2, 3]),\n },\n },\n subcontextsCallbacks: [\n () =>\n Promise.resolve({\n type: ClearSignContextType.ERROR,\n error: new Error(\"error\"),\n }),\n ],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n sendPayloadInChunksRunMock.mockResolvedValue(successResult);\n api.sendCommand.mockResolvedValue(successResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Right(void 0));\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledTimes(0);\n expect(sendCommandInChunksTaskRunMock).toHaveBeenCalledTimes(0);\n expect(api.sendCommand).toHaveBeenCalledTimes(2);\n expect(api.sendCommand).toHaveBeenNthCalledWith(\n 1,\n expect.any(LoadCertificateCommand),\n );\n expect(api.sendCommand).toHaveBeenNthCalledWith(\n 2,\n expect.any(ProvideTokenInformationCommand),\n );\n });\n });\n\n describe(\"with subcontexts\", () => {\n it(\"should provide the transaction context and subcontext for a TRANSACTION_FIELD_DESCRIPTION context\", async () => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload: \"payload\",\n },\n subcontextsCallbacks: [\n () =>\n Promise.resolve({\n type: ClearSignContextType.TOKEN,\n payload: \"payload\",\n }),\n ],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n sendPayloadInChunksRunMock.mockResolvedValue(successResult);\n api.sendCommand.mockResolvedValue(successResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Right(void 0));\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledTimes(1);\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledWith(api, {\n payload: \"payload\",\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n commandFactory: expect.any(Function),\n });\n\n // Test that the commandFactory returns a commandClass\n const factoryCall = sendPayloadInChunksTaskMockFactory.mock.calls[0]!;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const commandFactory = factoryCall[1].commandFactory;\n const mockArgs = {\n chunkedData: new Uint8Array([1, 2, 3]),\n isFirstChunk: true,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const command = commandFactory(mockArgs);\n expect(command).toBeInstanceOf(\n ProvideTransactionFieldDescriptionCommand,\n );\n\n expect(api.sendCommand).toHaveBeenCalledTimes(1);\n expect(api.sendCommand).toHaveBeenCalledWith(\n expect.any(ProvideTokenInformationCommand),\n );\n });\n\n it(\"should provide the transaction context and subcontexts for a TRUSTED_NAME context\", async () => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"payload\",\n },\n subcontextsCallbacks: [\n () =>\n Promise.resolve({\n type: ClearSignContextType.NFT,\n payload: \"payload1\",\n }),\n\n () =>\n Promise.resolve({\n type: ClearSignContextType.TOKEN,\n payload: \"payload2\",\n }),\n ],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n sendPayloadInChunksRunMock.mockResolvedValue(successResult);\n api.sendCommand.mockResolvedValue(successResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Right(void 0));\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledTimes(1);\n expect(sendPayloadInChunksRunMock).toHaveBeenCalledWith(api, {\n payload: \"payload\",\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n commandFactory: expect.any(Function),\n });\n\n // Test that the commandFactory returns a commandClass\n const factoryCall = sendPayloadInChunksTaskMockFactory.mock.calls[0]!;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const commandFactory = factoryCall[1].commandFactory;\n const mockArgs = {\n chunkedData: new Uint8Array([1, 2, 3]),\n isFirstChunk: true,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const command = commandFactory(mockArgs);\n expect(command).toBeInstanceOf(ProvideTrustedNameCommand);\n\n expect(api.sendCommand).toHaveBeenCalledTimes(2);\n expect(api.sendCommand).toHaveBeenNthCalledWith(\n 1,\n expect.any(ProvideNFTInformationCommand),\n );\n expect(api.sendCommand).toHaveBeenNthCalledWith(\n 2,\n expect.any(ProvideTokenInformationCommand),\n );\n });\n });\n\n describe(\"with subcontexts and certificate\", () => {\n it(\"should provide the transaction context and subcontexts for a TRUSTED_NAME context\", async () => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"payload\",\n certificate: {\n keyUsageNumber: 1,\n payload: new Uint8Array([1, 2, 3]),\n },\n },\n subcontextsCallbacks: [\n () =>\n Promise.resolve({\n type: ClearSignContextType.NFT,\n payload: \"payload1\",\n certificate: {\n keyUsageNumber: 2,\n payload: new Uint8Array([4, 5, 6]),\n },\n }),\n ],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n sendPayloadInChunksRunMock.mockResolvedValue(successResult);\n api.sendCommand.mockResolvedValue(successResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n await task.run();\n\n // THEN\n expect(api.sendCommand).toHaveBeenCalledTimes(3);\n expect(api.sendCommand).toHaveBeenNthCalledWith(\n 1,\n expect.any(LoadCertificateCommand),\n );\n expect(api.sendCommand).toHaveBeenNthCalledWith(\n 2,\n expect.any(ProvideNFTInformationCommand),\n );\n expect(api.sendCommand).toHaveBeenNthCalledWith(\n 3,\n expect.any(LoadCertificateCommand),\n );\n });\n });\n\n describe(\"with error\", () => {\n it(\"should return an error if the provideContext fails\", async () => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: ClearSignContextType.TOKEN,\n payload: \"payload\",\n },\n subcontextsCallbacks: [],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n api.sendCommand.mockResolvedValue(errorResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Left(errorResult));\n });\n\n it(\"should return an error if the provide subcontext fails\", async () => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: ClearSignContextType.TOKEN,\n payload: \"payload\",\n },\n subcontextsCallbacks: [\n () =>\n Promise.resolve({\n type: ClearSignContextType.TOKEN,\n payload: \"payload\",\n }),\n ],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n api.sendCommand.mockResolvedValue(errorResult);\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Left(errorResult));\n });\n\n it(\"should return an error if the type is not supported\", async () => {\n // GIVEN\n const args: ProvideTransactionContextTaskArgs = {\n context: {\n type: \"unsupported\" as unknown as ClearSignContextType.TOKEN,\n payload: \"payload\",\n },\n subcontextsCallbacks: [],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n };\n\n // WHEN\n const task = new ProvideTransactionContextTask(\n api,\n args,\n sendPayloadInChunksTaskMockFactory,\n sendCommandInChunksTaskMockFactory,\n );\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(\n Left(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [unsupported] is not covered`,\n ),\n }),\n ),\n );\n });\n });\n\n describe(\"factory types\", () => {\n it(\"should have a sendPayloadInChunksTaskFactory by default\", () => {\n // GIVEN\n const task = new ProvideTransactionContextTask(api, {\n context: {\n type: ClearSignContextType.TOKEN,\n payload: \"payload\",\n },\n subcontextsCallbacks: [],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n });\n\n // THEN\n expect(task[\"_sendPayloadInChunksTaskFactory\"]).toBeDefined();\n const sendPayloadInChunksTask = task[\"_sendPayloadInChunksTaskFactory\"](\n api,\n {\n payload: \"payload\",\n commandFactory: () =>\n new ProvideTransactionFieldDescriptionCommand({\n data: new Uint8Array(),\n isFirstChunk: true,\n }),\n },\n );\n expect(sendPayloadInChunksTask).toBeInstanceOf(SendPayloadInChunksTask);\n });\n\n it(\"should have a sendCommandInChunksTaskFactory by default\", () => {\n // GIVEN\n const task = new ProvideTransactionContextTask(api, {\n context: {\n type: ClearSignContextType.TOKEN,\n payload: \"payload\",\n },\n subcontextsCallbacks: [],\n serializedTransaction: new Uint8Array(),\n derivationPath: \"44'/60'/0'/0/0\",\n });\n\n // THEN\n expect(task[\"_sendCommandInChunksTaskFactory\"]).toBeDefined();\n const sendCommandInChunksTask = task[\"_sendCommandInChunksTaskFactory\"](\n api,\n {\n data: new Uint8Array(),\n commandFactory: () =>\n new StoreTransactionCommand({\n serializedTransaction: new Uint8Array(),\n isFirstChunk: true,\n }),\n },\n );\n expect(sendCommandInChunksTask).toBeInstanceOf(SendCommandInChunksTask);\n });\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAEE,wBAAAA,MACK,2BACP,OACE,wBAAAC,EAEA,0BAAAC,EACA,0BAAAC,MAEK,kCACP,OAAS,QAAAC,EAAM,SAAAC,MAAa,YAE5B,OAAS,sBAAAC,MAA0B,kDACnC,OAAS,sCAAAC,MAA0C,kEACnD,OAAS,gCAAAC,MAAoC,4DAC7C,OAAS,2BAAAC,MAA+B,uDACxC,OAAS,kCAAAC,MAAsC,8DAC/C,OAAS,6CAAAC,MAAiD,yEAC1D,OAAS,wCAAAC,MAA4C,oEACrD,OAAS,6BAAAC,MAAiC,yDAC1C,OAAS,2BAAAC,MAA+B,uDACxC,OAAS,4BAAAC,MAAgC,wDACzC,OAAS,oBAAAC,MAAwB,gDACjC,OAAS,2BAAAC,MAA+B,uDAExC,OAAS,mCAAAC,MAAuC,oEAEhD,OACE,iCAAAC,MAEK,kCACP,OACE,2BAAAC,MAEK,4BACP,OACE,2BAAAC,MAEK,4BAEP,SAAS,gCAAiC,IAAM,CAC9C,MAAMC,EAAMJ,EAAgC,EACtCK,EAAgBtB,EAA0C,CAC9D,KAAM,MACR,CAAC,EACKuB,EAAcvB,EAA0C,CAC5D,KAAM,OACN,MAAO,CAAC,CACV,CAAC,EAED,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,MAAO,IAAM,CACpB,MAAMwB,EAA6B,GAAG,GAAG,EACnCC,EAAiC,GAAG,GAAG,EACvCC,EAAqC,GAAG,GAAG,EAC3CC,EAAqC,GAAG,GAAG,EAEjD,WAAW,IAAM,CACf,GAAG,cAAc,EACjBD,EAAmC,mBACjC,CAAC,EAAgBE,KACd,CAEC,IAAK,IAAMH,EAA+B,EAAGG,CAAI,CACnD,EACJ,EACAD,EAAmC,mBACjC,CAAC,EAAgBC,KACd,CAEC,IAAK,IAAMJ,EAA2B,EAAGI,CAAI,CAC/C,EACJ,CACF,CAAC,EAED,SAAS,sBAAuB,IAAM,CACpC,GAAG,wEAAyE,SAAY,CAEtF,MAAMA,EAA0C,CAC9C,QAAS,CACP,KAAM7B,EAAqB,iBAC3B,QAAS,OACT,YAAa,CACX,eAAgB,EAChB,QAAS,IAAI,WAAW,CAAC,EAAG,EAAG,CAAC,CAAC,CACnC,CACF,EACA,qBAAsB,CAAC,EACvB,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACA0B,EAA+B,kBAAkBH,CAAa,EAC9DE,EAA2B,kBAAkBF,CAAa,EAC1DD,EAAI,YAAY,kBAAkBC,CAAa,EAS/C,MAAMO,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QAAQzB,EAAM,MAAM,CAAC,EAGpC,OAAOqB,CAA8B,EAAE,sBAAsB,CAAC,EAC9D,OAAOC,CAAkC,EAAE,qBAAqBL,EAAK,CACnE,KAAM,IAAI,WAAW,CACnB,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CACxD,CAAC,EAED,eAAgB,OAAO,IAAI,QAAQ,CACrC,CAAC,EAID,MAAMS,EAFcJ,EAAmC,KAAK,MAAM,CAAC,EAEhC,CAAC,EAAE,eAEhCK,EAAW,CACf,YAAa,IAAI,WAAW,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EACxC,aAAc,EAChB,EAEMC,EAAUF,EAAeC,CAAQ,EACvC,OAAOC,CAAO,EAAE,eAAehB,CAAuB,EAGtD,OAAOK,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAC/C,OAAOA,EAAI,WAAW,EAAE,qBACtB,OAAO,IAAInB,CAAsB,CACnC,EAGA,OAAOsB,CAA0B,EAAE,sBAAsB,CAAC,EAC1D,OAAOA,CAA0B,EAAE,qBAAqBH,EAAK,CAC3D,QAAS,OAET,eAAgB,OAAO,IAAI,QAAQ,CACrC,CAAC,EAID,MAAMY,EAFeT,EAA2B,KAAK,MAAM,CAAC,EAEvB,CAAC,EAAE,eAElCU,EAAWD,EAAgBF,CAAQ,EACzC,OAAOG,CAAQ,EAAE,eAAevB,CAAoC,CACtE,CAAC,EAED,GAAG,4FAA6F,SAAY,CAE1G,MAAMiB,EAA0C,CAC9C,QAAS,CACP,KAAM7B,EAAqB,iBAC3B,QAAS,MACX,EACA,qBAAsB,CAAC,EACvB,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACA0B,EAA+B,kBAAkBH,CAAa,EAC9DE,EAA2B,kBAAkBF,CAAa,EAC1DD,EAAI,YAAY,kBAAkBC,CAAa,EAS/C,MAAMO,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QAAQzB,EAAM,MAAM,CAAC,EAGpC,OAAOqB,CAA8B,EAAE,sBAAsB,CAAC,EAC9D,OAAOC,CAAkC,EAAE,qBAAqBL,EAAK,CACnE,KAAM,IAAI,WAAW,CACnB,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CACxD,CAAC,EAED,eAAgB,OAAO,IAAI,QAAQ,CACrC,CAAC,EAID,MAAMS,EAFcJ,EAAmC,KAAK,MAAM,CAAC,EAEhC,CAAC,EAAE,eAEhCK,EAAW,CACf,YAAa,IAAI,WAAW,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EACxC,aAAc,EAChB,EAEMC,EAAUF,EAAeC,CAAQ,EACvC,OAAOC,CAAO,EAAE,eAAehB,CAAuB,EAGtD,OAAOK,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAG/C,OAAOG,CAA0B,EAAE,sBAAsB,CAAC,EAC1D,OAAOA,CAA0B,EAAE,qBAAqBH,EAAK,CAC3D,QAAS,OAET,eAAgB,OAAO,IAAI,QAAQ,CACrC,CAAC,EAID,MAAMY,EAFeT,EAA2B,KAAK,MAAM,CAAC,EAEvB,CAAC,EAAE,eAElCU,EAAWD,EAAgBF,CAAQ,EACzC,OAAOG,CAAQ,EAAE,eAAevB,CAAoC,CACtE,CAAC,EAED,GAAG,KAAK,CACN,CAACZ,EAAqB,OAAQgB,CAAgB,EAC9C,CAAChB,EAAqB,gBAAiBe,CAAwB,EAC/D,CAACf,EAAqB,IAAKQ,CAA4B,EACvD,CAACR,EAAqB,MAAOU,CAA8B,CAC7D,CAAU,EACR,iFACA,MAAO0B,EAAaC,IAAiB,CAEnC,MAAMR,EAA0C,CAC9C,QAAS,CACP,KAAMO,EACN,QAAS,SACX,EACA,qBAAsB,CAAC,EACvB,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACAd,EAAI,YAAY,kBAAkBC,CAAa,EAS/C,MAAMO,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QAAQzB,EAAM,MAAM,CAAC,EACpC,OAAOiB,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAC/C,OAAOA,EAAI,WAAW,EAAE,qBACtB,OAAO,IAAIe,CAAY,CACzB,CACF,CACF,EAEA,GAAG,KAAK,CACN,CAACrC,EAAqB,KAAMM,CAAkB,EAC9C,CAACN,EAAqB,aAAca,CAAyB,EAC7D,CAACb,EAAqB,WAAYc,CAAuB,EACzD,CACEd,EAAqB,8BACrBW,CACF,EACA,CAACX,EAAqB,oBAAqBS,CAAuB,EAClE,CACET,EAAqB,qBACrBO,EACA,EACF,EACA,CACEP,EAAqB,gBACrBO,CACF,CACF,CAAU,EACR,6FACA,MAAO6B,EAAaC,EAAcC,EAAoB,SAAc,CAElE,MAAMT,EAA0C,CAC9C,QAAS,CACP,KAAMO,EACN,QAAS,SACX,EACA,qBAAsB,CAAC,EACvB,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACAX,EAA2B,kBAAkBF,CAAa,EAS1D,MAAMO,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QAAQzB,EAAM,MAAM,CAAC,EACpC,OAAOoB,CAA0B,EAAE,sBAAsB,CAAC,EACtDa,IAAsB,OACxB,OAAOb,CAA0B,EAAE,qBAAqBH,EAAK,CAC3D,QAAS,UAET,eAAgB,OAAO,IAAI,QAAQ,CACrC,CAAC,EAED,OAAOG,CAA0B,EAAE,qBAAqBH,EAAK,CAC3D,QAAS,UAET,eAAgB,OAAO,IAAI,QAAQ,EACnC,kBAAAgB,CACF,CAAC,EAMH,MAAMP,EAFcH,EAAmC,KAAK,MAAM,CAAC,EAEhC,CAAC,EAAE,eAChCI,EAAW,CACf,YAAa,IAAI,WAAW,CAAC,EAAG,EAAG,CAAC,CAAC,EACrC,aAAc,EAChB,EAEMC,EAAUF,EAAeC,CAAQ,EACvC,OAAOC,CAAO,EAAE,eAAeI,CAAY,CAC7C,CACF,EAEA,GAAG,yDAA0D,SAAY,CAEvE,MAAMR,EAA0C,CAC9C,QAAS,CACP,KAAM7B,EAAqB,MAC3B,QAAS,UACT,YAAa,CACX,eAAgB,EAChB,QAAS,IAAI,WAAW,CAAC,EAAG,EAAG,CAAC,CAAC,CACnC,CACF,EACA,qBAAsB,CACpB,IACE,QAAQ,QAAQ,CACd,KAAMA,EAAqB,MAC3B,MAAO,IAAI,MAAM,OAAO,CAC1B,CAAC,CACL,EACA,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACAyB,EAA2B,kBAAkBF,CAAa,EAC1DD,EAAI,YAAY,kBAAkBC,CAAa,EAS/C,MAAMO,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QAAQzB,EAAM,MAAM,CAAC,EACpC,OAAOoB,CAA0B,EAAE,sBAAsB,CAAC,EAC1D,OAAOC,CAA8B,EAAE,sBAAsB,CAAC,EAC9D,OAAOJ,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAC/C,OAAOA,EAAI,WAAW,EAAE,wBACtB,EACA,OAAO,IAAInB,CAAsB,CACnC,EACA,OAAOmB,EAAI,WAAW,EAAE,wBACtB,EACA,OAAO,IAAIZ,CAA8B,CAC3C,CACF,CAAC,CACH,CAAC,EAED,SAAS,mBAAoB,IAAM,CACjC,GAAG,oGAAqG,SAAY,CAElH,MAAMmB,EAA0C,CAC9C,QAAS,CACP,KAAM7B,EAAqB,8BAC3B,QAAS,SACX,EACA,qBAAsB,CACpB,IACE,QAAQ,QAAQ,CACd,KAAMA,EAAqB,MAC3B,QAAS,SACX,CAAC,CACL,EACA,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACAyB,EAA2B,kBAAkBF,CAAa,EAC1DD,EAAI,YAAY,kBAAkBC,CAAa,EAS/C,MAAMO,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QAAQzB,EAAM,MAAM,CAAC,EACpC,OAAOoB,CAA0B,EAAE,sBAAsB,CAAC,EAC1D,OAAOA,CAA0B,EAAE,qBAAqBH,EAAK,CAC3D,QAAS,UAET,eAAgB,OAAO,IAAI,QAAQ,CACrC,CAAC,EAKD,MAAMS,EAFcH,EAAmC,KAAK,MAAM,CAAC,EAEhC,CAAC,EAAE,eAChCI,EAAW,CACf,YAAa,IAAI,WAAW,CAAC,EAAG,EAAG,CAAC,CAAC,EACrC,aAAc,EAChB,EAEMC,EAAUF,EAAeC,CAAQ,EACvC,OAAOC,CAAO,EAAE,eACdtB,CACF,EAEA,OAAOW,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAC/C,OAAOA,EAAI,WAAW,EAAE,qBACtB,OAAO,IAAIZ,CAA8B,CAC3C,CACF,CAAC,EAED,GAAG,oFAAqF,SAAY,CAElG,MAAMmB,EAA0C,CAC9C,QAAS,CACP,KAAM7B,EAAqB,aAC3B,QAAS,SACX,EACA,qBAAsB,CACpB,IACE,QAAQ,QAAQ,CACd,KAAMA,EAAqB,IAC3B,QAAS,UACX,CAAC,EAEH,IACE,QAAQ,QAAQ,CACd,KAAMA,EAAqB,MAC3B,QAAS,UACX,CAAC,CACL,EACA,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACAyB,EAA2B,kBAAkBF,CAAa,EAC1DD,EAAI,YAAY,kBAAkBC,CAAa,EAS/C,MAAMO,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QAAQzB,EAAM,MAAM,CAAC,EACpC,OAAOoB,CAA0B,EAAE,sBAAsB,CAAC,EAC1D,OAAOA,CAA0B,EAAE,qBAAqBH,EAAK,CAC3D,QAAS,UAET,eAAgB,OAAO,IAAI,QAAQ,CACrC,CAAC,EAKD,MAAMS,EAFcH,EAAmC,KAAK,MAAM,CAAC,EAEhC,CAAC,EAAE,eAChCI,EAAW,CACf,YAAa,IAAI,WAAW,CAAC,EAAG,EAAG,CAAC,CAAC,EACrC,aAAc,EAChB,EAEMC,EAAUF,EAAeC,CAAQ,EACvC,OAAOC,CAAO,EAAE,eAAepB,CAAyB,EAExD,OAAOS,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAC/C,OAAOA,EAAI,WAAW,EAAE,wBACtB,EACA,OAAO,IAAId,CAA4B,CACzC,EACA,OAAOc,EAAI,WAAW,EAAE,wBACtB,EACA,OAAO,IAAIZ,CAA8B,CAC3C,CACF,CAAC,CACH,CAAC,EAED,SAAS,mCAAoC,IAAM,CACjD,GAAG,oFAAqF,SAAY,CAElG,MAAMmB,EAA0C,CAC9C,QAAS,CACP,KAAM7B,EAAqB,aAC3B,QAAS,UACT,YAAa,CACX,eAAgB,EAChB,QAAS,IAAI,WAAW,CAAC,EAAG,EAAG,CAAC,CAAC,CACnC,CACF,EACA,qBAAsB,CACpB,IACE,QAAQ,QAAQ,CACd,KAAMA,EAAqB,IAC3B,QAAS,WACT,YAAa,CACX,eAAgB,EAChB,QAAS,IAAI,WAAW,CAAC,EAAG,EAAG,CAAC,CAAC,CACnC,CACF,CAAC,CACL,EACA,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACAyB,EAA2B,kBAAkBF,CAAa,EAC1DD,EAAI,YAAY,kBAAkBC,CAAa,EAS/C,MANa,IAAIJ,EACfG,EACAO,EACAD,EACAD,CACF,EACW,IAAI,EAGf,OAAOL,EAAI,WAAW,EAAE,sBAAsB,CAAC,EAC/C,OAAOA,EAAI,WAAW,EAAE,wBACtB,EACA,OAAO,IAAInB,CAAsB,CACnC,EACA,OAAOmB,EAAI,WAAW,EAAE,wBACtB,EACA,OAAO,IAAId,CAA4B,CACzC,EACA,OAAOc,EAAI,WAAW,EAAE,wBACtB,EACA,OAAO,IAAInB,CAAsB,CACnC,CACF,CAAC,CACH,CAAC,EAED,SAAS,aAAc,IAAM,CAC3B,GAAG,qDAAsD,SAAY,CAEnE,MAAM0B,EAA0C,CAC9C,QAAS,CACP,KAAM7B,EAAqB,MAC3B,QAAS,SACX,EACA,qBAAsB,CAAC,EACvB,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACAsB,EAAI,YAAY,kBAAkBE,CAAW,EAS7C,MAAMM,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QAAQ1B,EAAKoB,CAAW,CAAC,CAC1C,CAAC,EAED,GAAG,yDAA0D,SAAY,CAEvE,MAAMK,EAA0C,CAC9C,QAAS,CACP,KAAM7B,EAAqB,MAC3B,QAAS,SACX,EACA,qBAAsB,CACpB,IACE,QAAQ,QAAQ,CACd,KAAMA,EAAqB,MAC3B,QAAS,SACX,CAAC,CACL,EACA,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EACAsB,EAAI,YAAY,kBAAkBE,CAAW,EAS7C,MAAMM,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QAAQ1B,EAAKoB,CAAW,CAAC,CAC1C,CAAC,EAED,GAAG,sDAAuD,SAAY,CAEpE,MAAMK,EAA0C,CAC9C,QAAS,CACP,KAAM,cACN,QAAS,SACX,EACA,qBAAsB,CAAC,EACvB,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,EASMC,EAAS,MANF,IAAIX,EACfG,EACAO,EACAD,EACAD,CACF,EAC0B,IAAI,EAG9B,OAAOG,CAAM,EAAE,QACb1B,EACEH,EAAqB,CACnB,MAAO,IAAIC,EACT,+CACF,CACF,CAAC,CACH,CACF,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0DAA2D,IAAM,CAElE,MAAMqC,EAAO,IAAIpB,EAA8BG,EAAK,CAClD,QAAS,CACP,KAAMtB,EAAqB,MAC3B,QAAS,SACX,EACA,qBAAsB,CAAC,EACvB,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,CAAC,EAGD,OAAOuC,EAAK,+BAAkC,EAAE,YAAY,EAC5D,MAAMC,EAA0BD,EAAK,gCACnCjB,EACA,CACE,QAAS,UACT,eAAgB,IACd,IAAIX,EAA0C,CAC5C,KAAM,IAAI,WACV,aAAc,EAChB,CAAC,CACL,CACF,EACA,OAAO6B,CAAuB,EAAE,eAAenB,CAAuB,CACxE,CAAC,EAED,GAAG,0DAA2D,IAAM,CAElE,MAAMkB,EAAO,IAAIpB,EAA8BG,EAAK,CAClD,QAAS,CACP,KAAMtB,EAAqB,MAC3B,QAAS,SACX,EACA,qBAAsB,CAAC,EACvB,sBAAuB,IAAI,WAC3B,eAAgB,gBAClB,CAAC,EAGD,OAAOuC,EAAK,+BAAkC,EAAE,YAAY,EAC5D,MAAME,EAA0BF,EAAK,gCACnCjB,EACA,CACE,KAAM,IAAI,WACV,eAAgB,IACd,IAAIL,EAAwB,CAC1B,sBAAuB,IAAI,WAC3B,aAAc,EAChB,CAAC,CACL,CACF,EACA,OAAOwB,CAAuB,EAAE,eAAerB,CAAuB,CACxE,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["ClearSignContextType", "CommandResultFactory", "InvalidStatusWordError", "LoadCertificateCommand", "Left", "Right", "ProvideEnumCommand", "ProvideNetworkConfigurationCommand", "ProvideNFTInformationCommand", "ProvideProxyInfoCommand", "ProvideTokenInformationCommand", "ProvideTransactionFieldDescriptionCommand", "ProvideTransactionInformationCommand", "ProvideTrustedNameCommand", "ProvideWeb3CheckCommand", "SetExternalPluginCommand", "SetPluginCommand", "StoreTransactionCommand", "makeDeviceActionInternalApiMock", "ProvideTransactionContextTask", "SendCommandInChunksTask", "SendPayloadInChunksTask", "api", "successResult", "errorResult", "sendPayloadInChunksRunMock", "sendCommandInChunksTaskRunMock", "sendCommandInChunksTaskMockFactory", "sendPayloadInChunksTaskMockFactory", "args", "result", "commandFactory", "mockArgs", "command", "commandFactory2", "command2", "contextType", "commandClass", "withPayloadLength", "task", "sendPayloadInChunksTask", "sendCommandInChunksTask"]
7
- }
@@ -1,20 +0,0 @@
1
- import { type ClearSignContext, type ClearSignContextSuccess, type ContextModule, type TransactionSubset } from "@ledgerhq/context-module";
2
- import { type InternalApi } from "@ledgerhq/device-management-kit";
3
- import { type TransactionParserService } from "../../transaction/service/parser/TransactionParserService";
4
- export type BuildSubContextTaskArgs = {
5
- readonly context: ClearSignContextSuccess;
6
- readonly contextOptional: ClearSignContextSuccess[];
7
- readonly transactionParser: TransactionParserService;
8
- readonly subset: TransactionSubset;
9
- readonly contextModule: ContextModule;
10
- };
11
- export type BuildSubContextTaskResult = {
12
- subcontextCallbacks: (() => Promise<ClearSignContext>)[];
13
- };
14
- export declare class BuildSubContextTask {
15
- private readonly api;
16
- private readonly args;
17
- constructor(api: InternalApi, args: BuildSubContextTaskArgs);
18
- run(): BuildSubContextTaskResult;
19
- }
20
- //# sourceMappingURL=BuildSubContextTask.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildSubContextTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/BuildSubContextTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,uBAAuB,EAE5B,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AAE9G,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,uBAAuB,EAAE,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB,EAAE,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;CAC1D,CAAC;AAEF,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,uBAAuB;IAGhD,GAAG,IAAI,yBAAyB;CAwIjC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=BuildSubContextTask.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildSubContextTask.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/BuildSubContextTask.test.ts"],"names":[],"mappings":""}
@@ -1,28 +0,0 @@
1
- import { type ClearSignContextSuccess, type ContextModule, type TransactionSubset } from "@ledgerhq/context-module";
2
- import { type InternalApi } from "@ledgerhq/device-management-kit";
3
- import { type GetConfigCommandResponse } from "../../../api/app-binder/GetConfigCommandTypes";
4
- import { ClearSigningType } from "../../../api/model/ClearSigningType";
5
- import { type TransactionOptions } from "../../../api/model/TransactionOptions";
6
- import { GetWeb3CheckTask, type GetWeb3CheckTaskArgs } from "../../app-binder/task/GetWeb3CheckTask";
7
- export type BuildTransactionTaskResult = {
8
- readonly clearSignContexts: ClearSignContextSuccess[];
9
- readonly clearSignContextsOptional: ClearSignContextSuccess[];
10
- readonly clearSigningType: ClearSigningType;
11
- };
12
- export type BuildTransactionContextTaskArgs = {
13
- readonly contextModule: ContextModule;
14
- readonly options: TransactionOptions;
15
- readonly appConfig: GetConfigCommandResponse;
16
- readonly derivationPath: string;
17
- readonly transaction: Uint8Array;
18
- readonly subset: TransactionSubset;
19
- };
20
- export declare class BuildTransactionContextTask {
21
- private readonly _api;
22
- private readonly _args;
23
- private readonly getWeb3ChecksFactory;
24
- constructor(_api: InternalApi, _args: BuildTransactionContextTaskArgs, getWeb3ChecksFactory?: (api: InternalApi, args: GetWeb3CheckTaskArgs) => GetWeb3CheckTask);
25
- run(): Promise<BuildTransactionTaskResult>;
26
- private supportsGenericParser;
27
- }
28
- //# sourceMappingURL=BuildTransactionContextTask.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildTransactionContextTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/BuildTransactionContextTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAG5B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EACL,gBAAgB,EAChB,KAAK,oBAAoB,EAC1B,MAAM,4CAA4C,CAAC;AAGpD,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;IACtD,QAAQ,CAAC,yBAAyB,EAAE,uBAAuB,EAAE,CAAC;IAC9D,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAFpB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,+BAA+B,EACtC,oBAAoB,IACnC,KAAK,WAAW,EAChB,MAAM,oBAAoB,qBACQ;IAGhC,GAAG,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAsHhD,OAAO,CAAC,qBAAqB;CAS9B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=BuildTransactionContextTask.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildTransactionContextTask.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/BuildTransactionContextTask.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PreBuildContextTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/PreBuildContextTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AAE9G,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;CAClC,CAAC;AAEF,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,uBAAuB;IAE3D,GAAG,IAAI,yBAAyB;CAQjC"}
@@ -1,44 +0,0 @@
1
- import { type ClearSignContext, type ClearSignContextSuccess } from "@ledgerhq/context-module";
2
- import { type CommandErrorResult, type CommandResult, type InternalApi } from "@ledgerhq/device-management-kit";
3
- import { type Either } from "purify-ts";
4
- import { type EthErrorCodes } from "../../app-binder/command/utils/ethAppErrors";
5
- import { SendCommandInChunksTask, type SendCommandInChunksTaskArgs } from "./SendCommandInChunksTask";
6
- import { SendPayloadInChunksTask, type SendPayloadInChunksTaskArgs } from "./SendPayloadInChunksTask";
7
- export type ProvideTransactionContextTaskArgs = {
8
- /**
9
- * The clear sign context to provide.
10
- */
11
- context: ClearSignContextSuccess;
12
- /**
13
- * The subcontexts callbacks to provide.
14
- */
15
- subcontextsCallbacks: (() => Promise<ClearSignContext>)[];
16
- /**
17
- * The serialized transaction to provide.
18
- */
19
- serializedTransaction: Uint8Array;
20
- /**
21
- * The derivation path to provide.
22
- */
23
- derivationPath: string;
24
- };
25
- /**
26
- * This task is responsible for providing the transaction context to the device.
27
- * It will send the subcontexts callbacks in order and finish with the context.
28
- */
29
- export declare class ProvideTransactionContextTask {
30
- private _api;
31
- private _args;
32
- private _sendPayloadInChunksTaskFactory;
33
- private _sendCommandInChunksTaskFactory;
34
- constructor(_api: InternalApi, _args: ProvideTransactionContextTaskArgs, _sendPayloadInChunksTaskFactory?: (api: InternalApi, args: SendPayloadInChunksTaskArgs<unknown>) => SendPayloadInChunksTask<unknown>, _sendCommandInChunksTaskFactory?: (api: InternalApi, args: SendCommandInChunksTaskArgs<unknown>) => SendCommandInChunksTask<unknown>);
35
- run(): Promise<Either<CommandErrorResult<EthErrorCodes>, void>>;
36
- /**
37
- * This method will send the context to the device.
38
- *
39
- * @param context The clear sign context to provide.
40
- * @returns A promise that resolves when the command is sent.
41
- */
42
- provideContext({ type, payload, certificate, }: ClearSignContextSuccess): Promise<CommandResult<unknown, EthErrorCodes>>;
43
- }
44
- //# sourceMappingURL=ProvideTransactionContextTask.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProvideTransactionContextTask.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/ProvideTransactionContextTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,WAAW,EAIjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,WAAW,CAAC;AAiBrD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EACL,uBAAuB,EACvB,KAAK,2BAA2B,EACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,KAAK,2BAA2B,EACjC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,iCAAiC,GAAG;IAC9C;;OAEG;IACH,OAAO,EAAE,uBAAuB,CAAC;IACjC;;OAEG;IACH,oBAAoB,EAAE,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;IAC1D;;OAEG;IACH,qBAAqB,EAAE,UAAU,CAAC;IAClC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,qBAAa,6BAA6B;IAEtC,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,+BAA+B;IAIvC,OAAO,CAAC,+BAA+B;gBAN/B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,iCAAiC,EACxC,+BAA+B,IACrC,KAAK,WAAW,EAChB,MAAM,2BAA2B,CAAC,OAAO,CAAC,qCACD,EACnC,+BAA+B,IACrC,KAAK,WAAW,EAChB,MAAM,2BAA2B,CAAC,OAAO,CAAC,qCACD;IAGvC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;IAuBrE;;;;;OAKG;IACG,cAAc,CAAC,EACnB,IAAI,EACJ,OAAO,EACP,WAAW,GACZ,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;CA2I5E"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ProvideTransactionContextTask.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProvideTransactionContextTask.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/ProvideTransactionContextTask.test.ts"],"names":[],"mappings":""}