@ledgerhq/device-signer-kit-ethereum 1.1.0 → 1.3.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 (543) hide show
  1. package/README.md +162 -371
  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 +1 -1
  6. package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.js +1 -1
  7. package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.js.map +1 -1
  8. package/lib/cjs/api/app-binder/GetConfigCommandTypes.js +2 -0
  9. package/lib/cjs/api/app-binder/GetConfigCommandTypes.js.map +7 -0
  10. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js +1 -1
  11. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js.map +1 -1
  12. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  13. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +1 -1
  14. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  15. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +1 -1
  16. package/lib/cjs/api/index.js +1 -1
  17. package/lib/cjs/api/index.js.map +2 -2
  18. package/lib/cjs/api/model/TransactionType.js +2 -0
  19. package/lib/cjs/api/model/TransactionType.js.map +7 -0
  20. package/lib/cjs/index.js.map +1 -1
  21. package/lib/cjs/internal/DefaultSignerEth.js +1 -1
  22. package/lib/cjs/internal/DefaultSignerEth.js.map +2 -2
  23. package/lib/cjs/internal/DefaultSignerEth.test.js +1 -1
  24. package/lib/cjs/internal/DefaultSignerEth.test.js.map +2 -2
  25. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  26. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  27. package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
  28. package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
  29. package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
  30. package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +3 -3
  31. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js +1 -1
  32. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js.map +3 -3
  33. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  34. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  35. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js +2 -0
  36. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js.map +7 -0
  37. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js +2 -0
  38. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +7 -0
  39. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js +1 -1
  40. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js.map +3 -3
  41. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
  42. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
  43. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js +1 -1
  44. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js.map +3 -3
  45. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
  46. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
  47. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
  48. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js.map +3 -3
  49. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
  50. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js.map +3 -3
  51. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
  52. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +3 -3
  53. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
  54. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
  55. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
  56. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +3 -3
  57. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
  58. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
  59. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
  60. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js.map +3 -3
  61. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js +2 -0
  62. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +7 -0
  63. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +2 -0
  64. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +7 -0
  65. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  66. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  67. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
  68. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +3 -3
  69. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
  70. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +2 -2
  71. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
  72. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +3 -3
  73. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
  74. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js.map +3 -3
  75. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
  76. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
  77. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js +1 -1
  78. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js.map +3 -3
  79. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js +2 -2
  80. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
  81. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js +1 -1
  82. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js.map +3 -3
  83. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js +1 -1
  84. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
  85. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
  86. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js.map +3 -3
  87. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js +1 -1
  88. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js.map +3 -3
  89. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  90. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
  91. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js +1 -1
  92. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js.map +3 -3
  93. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  94. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
  95. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js +1 -1
  96. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js.map +3 -3
  97. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
  98. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
  99. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js +2 -0
  100. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js.map +7 -0
  101. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js +2 -0
  102. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +7 -0
  103. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.js +2 -0
  104. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.js.map +7 -0
  105. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js +2 -0
  106. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js.map +7 -0
  107. package/lib/cjs/internal/app-binder/constant/plugins.js +2 -0
  108. package/lib/cjs/internal/app-binder/constant/plugins.js.map +7 -0
  109. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  110. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  111. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  112. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  113. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  114. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  115. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  116. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  117. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  118. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  119. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  120. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  121. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  122. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  123. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  124. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  125. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  126. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  127. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  128. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
  129. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
  130. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
  131. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js +2 -0
  132. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js.map +7 -0
  133. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js +2 -0
  134. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js.map +7 -0
  135. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  136. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  137. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  138. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  139. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
  140. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
  141. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
  142. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +2 -2
  143. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +1 -1
  144. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +3 -3
  145. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +1 -1
  146. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +3 -3
  147. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +1 -1
  148. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +3 -3
  149. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +1 -1
  150. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +3 -3
  151. package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js +1 -1
  152. package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js.map +2 -2
  153. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js +1 -1
  154. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js.map +2 -2
  155. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
  156. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
  157. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  158. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +2 -2
  159. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  160. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +2 -2
  161. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js +1 -1
  162. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js.map +2 -2
  163. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
  164. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
  165. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  166. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  167. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  168. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  169. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  170. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  171. package/lib/cjs/internal/transaction/di/transactionModule.js +1 -1
  172. package/lib/cjs/internal/transaction/di/transactionModule.js.map +3 -3
  173. package/lib/cjs/internal/transaction/di/transactionModule.test.js +1 -1
  174. package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +2 -2
  175. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js +2 -0
  176. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +7 -0
  177. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +2 -0
  178. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +7 -0
  179. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +1 -1
  180. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +1 -1
  181. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
  182. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +2 -2
  183. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +1 -1
  184. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +2 -2
  185. package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js +1 -1
  186. package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js.map +1 -1
  187. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
  188. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  189. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  190. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  191. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js +1 -1
  192. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js.map +2 -2
  193. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
  194. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js.map +3 -3
  195. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  196. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  197. package/lib/cjs/package.json +12 -12
  198. package/lib/esm/api/SignerEthBuilder.test.js +1 -1
  199. package/lib/esm/api/SignerEthBuilder.test.js.map +1 -1
  200. package/lib/esm/api/app-binder/GetConfigCommandTypes.js +1 -0
  201. package/lib/esm/api/app-binder/GetConfigCommandTypes.js.map +7 -0
  202. package/lib/esm/api/index.js +1 -1
  203. package/lib/esm/api/index.js.map +2 -2
  204. package/lib/esm/api/model/TransactionType.js +2 -0
  205. package/lib/esm/api/model/TransactionType.js.map +7 -0
  206. package/lib/esm/internal/DefaultSignerEth.js.map +2 -2
  207. package/lib/esm/internal/DefaultSignerEth.test.js +1 -1
  208. package/lib/esm/internal/DefaultSignerEth.test.js.map +2 -2
  209. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  210. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  211. package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
  212. package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
  213. package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
  214. package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +3 -3
  215. package/lib/esm/internal/app-binder/command/GetAddressCommand.js +1 -1
  216. package/lib/esm/internal/app-binder/command/GetAddressCommand.js.map +3 -3
  217. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  218. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  219. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js +2 -0
  220. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js.map +7 -0
  221. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js +2 -0
  222. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +7 -0
  223. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js +1 -1
  224. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js.map +3 -3
  225. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
  226. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
  227. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js +1 -1
  228. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js.map +3 -3
  229. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
  230. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
  231. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
  232. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js.map +3 -3
  233. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
  234. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js.map +3 -3
  235. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
  236. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +3 -3
  237. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
  238. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
  239. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
  240. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +3 -3
  241. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
  242. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
  243. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
  244. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js.map +3 -3
  245. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js +2 -0
  246. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +7 -0
  247. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +2 -0
  248. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +7 -0
  249. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  250. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  251. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
  252. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +3 -3
  253. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
  254. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +2 -2
  255. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
  256. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +3 -3
  257. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
  258. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js.map +3 -3
  259. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
  260. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
  261. package/lib/esm/internal/app-binder/command/SetPluginCommand.js +1 -1
  262. package/lib/esm/internal/app-binder/command/SetPluginCommand.js.map +3 -3
  263. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js +1 -1
  264. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
  265. package/lib/esm/internal/app-binder/command/SignEIP712Command.js +1 -1
  266. package/lib/esm/internal/app-binder/command/SignEIP712Command.js.map +3 -3
  267. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js +1 -1
  268. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
  269. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
  270. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js.map +3 -3
  271. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js +1 -1
  272. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js.map +3 -3
  273. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  274. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
  275. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js +1 -1
  276. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js.map +3 -3
  277. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  278. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
  279. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js +1 -1
  280. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js.map +3 -3
  281. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
  282. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
  283. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js +2 -0
  284. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js.map +7 -0
  285. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js +2 -0
  286. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +7 -0
  287. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.js +2 -0
  288. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.js.map +7 -0
  289. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js +2 -0
  290. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js.map +7 -0
  291. package/lib/esm/internal/app-binder/constant/plugins.js +2 -0
  292. package/lib/esm/internal/app-binder/constant/plugins.js.map +7 -0
  293. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  294. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  295. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  296. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  297. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  298. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  299. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  300. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  301. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  302. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  303. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  304. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  305. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  306. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  307. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  308. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  309. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  310. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  311. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  312. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
  313. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
  314. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
  315. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js +2 -0
  316. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js.map +7 -0
  317. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js +2 -0
  318. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js.map +7 -0
  319. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  320. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  321. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  322. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  323. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
  324. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
  325. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
  326. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +2 -2
  327. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +1 -1
  328. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +3 -3
  329. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +1 -1
  330. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +3 -3
  331. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +1 -1
  332. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +3 -3
  333. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +1 -1
  334. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +3 -3
  335. package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js +1 -1
  336. package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js.map +2 -2
  337. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js +1 -1
  338. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js.map +2 -2
  339. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
  340. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
  341. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  342. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +2 -2
  343. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  344. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +2 -2
  345. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js +1 -1
  346. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js.map +2 -2
  347. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
  348. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
  349. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  350. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  351. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  352. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +2 -2
  353. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  354. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  355. package/lib/esm/internal/transaction/di/transactionModule.js +1 -1
  356. package/lib/esm/internal/transaction/di/transactionModule.js.map +3 -3
  357. package/lib/esm/internal/transaction/di/transactionModule.test.js +1 -1
  358. package/lib/esm/internal/transaction/di/transactionModule.test.js.map +2 -2
  359. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js +2 -0
  360. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +7 -0
  361. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +2 -0
  362. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +7 -0
  363. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
  364. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +2 -2
  365. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +1 -1
  366. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +2 -2
  367. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
  368. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +2 -2
  369. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  370. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +2 -2
  371. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js +1 -1
  372. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js.map +2 -2
  373. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
  374. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js.map +3 -3
  375. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  376. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  377. package/lib/esm/package.json +12 -12
  378. package/lib/types/api/SignerEth.d.ts +1 -2
  379. package/lib/types/api/SignerEth.d.ts.map +1 -1
  380. package/lib/types/api/app-binder/GetAddressDeviceActionTypes.d.ts +3 -2
  381. package/lib/types/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +1 -1
  382. package/lib/types/api/app-binder/GetConfigCommandTypes.d.ts +7 -0
  383. package/lib/types/api/app-binder/GetConfigCommandTypes.d.ts.map +1 -0
  384. package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +3 -11
  385. package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +1 -1
  386. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +6 -5
  387. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  388. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +3 -2
  389. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
  390. package/lib/types/api/index.d.ts +2 -2
  391. package/lib/types/api/index.d.ts.map +1 -1
  392. package/lib/types/api/model/{Transaction.d.ts → TransactionType.d.ts} +1 -4
  393. package/lib/types/api/model/TransactionType.d.ts.map +1 -0
  394. package/lib/types/internal/DefaultSignerEth.d.ts +1 -2
  395. package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
  396. package/lib/types/internal/app-binder/EthAppBinder.d.ts +1 -2
  397. package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
  398. package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts +5 -3
  399. package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts.map +1 -1
  400. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts +10 -0
  401. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts.map +1 -0
  402. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.test.d.ts +2 -0
  403. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.test.d.ts.map +1 -0
  404. package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts +4 -2
  405. package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts.map +1 -1
  406. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts +4 -2
  407. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts.map +1 -1
  408. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +4 -3
  409. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +1 -1
  410. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +4 -2
  411. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +1 -1
  412. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts +4 -2
  413. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts.map +1 -1
  414. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts +4 -2
  415. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts.map +1 -1
  416. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts +4 -2
  417. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts.map +1 -1
  418. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts +17 -0
  419. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts.map +1 -0
  420. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.test.d.ts +2 -0
  421. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.test.d.ts.map +1 -0
  422. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +4 -2
  423. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -1
  424. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +4 -2
  425. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +1 -1
  426. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +4 -2
  427. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +1 -1
  428. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts +5 -7
  429. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +1 -1
  430. package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts +5 -7
  431. package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts.map +1 -1
  432. package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts +5 -3
  433. package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts.map +1 -1
  434. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts +5 -3
  435. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +1 -1
  436. package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts +5 -3
  437. package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts.map +1 -1
  438. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts +4 -2
  439. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts.map +1 -1
  440. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts +4 -2
  441. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts.map +1 -1
  442. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts +15 -0
  443. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts.map +1 -0
  444. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.test.d.ts +2 -0
  445. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.test.d.ts.map +1 -0
  446. package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts +8 -0
  447. package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts.map +1 -0
  448. package/lib/types/internal/app-binder/command/utils/ethAppErrors.test.d.ts +2 -0
  449. package/lib/types/internal/app-binder/command/utils/ethAppErrors.test.d.ts.map +1 -0
  450. package/lib/types/internal/app-binder/constant/plugins.d.ts +2 -0
  451. package/lib/types/internal/app-binder/constant/plugins.d.ts.map +1 -0
  452. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +22 -10
  453. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
  454. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +12 -3
  455. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
  456. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  457. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  458. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  459. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  460. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  461. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts +4 -1
  462. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
  463. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +3 -3
  464. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -1
  465. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts +31 -0
  466. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts.map +1 -0
  467. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts +2 -0
  468. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts.map +1 -0
  469. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +14 -5
  470. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
  471. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +5 -7
  472. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +1 -1
  473. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +54 -12
  474. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +1 -1
  475. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +7 -6
  476. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +1 -1
  477. package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts +3 -2
  478. package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts.map +1 -1
  479. package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.d.ts +2 -1
  480. package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +1 -1
  481. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +2 -1
  482. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -1
  483. package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.d.ts +2 -1
  484. package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.d.ts.map +1 -1
  485. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +3 -2
  486. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -1
  487. package/lib/types/internal/transaction/di/transactionModule.d.ts.map +1 -1
  488. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts +7 -0
  489. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts.map +1 -0
  490. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts +2 -0
  491. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts.map +1 -0
  492. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +1 -2
  493. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +1 -1
  494. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts +1 -2
  495. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -1
  496. package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts +1 -1
  497. package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts.map +1 -1
  498. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -1
  499. package/lib/types/internal/transaction/use-case/SignTransactionUseCase.d.ts +1 -2
  500. package/lib/types/internal/transaction/use-case/SignTransactionUseCase.d.ts.map +1 -1
  501. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  502. package/package.json +16 -16
  503. package/lib/cjs/api/model/Transaction.js +0 -2
  504. package/lib/cjs/api/model/Transaction.js.map +0 -7
  505. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
  506. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
  507. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
  508. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
  509. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js +0 -2
  510. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +0 -7
  511. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +0 -2
  512. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +0 -7
  513. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js +0 -2
  514. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +0 -7
  515. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +0 -2
  516. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js.map +0 -7
  517. package/lib/esm/api/model/Transaction.js +0 -2
  518. package/lib/esm/api/model/Transaction.js.map +0 -7
  519. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
  520. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
  521. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
  522. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
  523. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js +0 -2
  524. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +0 -7
  525. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +0 -2
  526. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +0 -7
  527. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js +0 -2
  528. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +0 -7
  529. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +0 -2
  530. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js.map +0 -7
  531. package/lib/types/api/model/Transaction.d.ts.map +0 -1
  532. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +0 -17
  533. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +0 -1
  534. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts +0 -2
  535. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts.map +0 -1
  536. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts +0 -10
  537. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts.map +0 -1
  538. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts +0 -2
  539. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts.map +0 -1
  540. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts +0 -9
  541. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts.map +0 -1
  542. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.test.d.ts +0 -2
  543. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.test.d.ts.map +0 -1
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@ledgerhq/device-signer-kit-ethereum",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
+ "private": false,
4
5
  "license": "Apache-2.0",
5
6
  "exports": {
6
7
  ".": {
@@ -29,35 +30,34 @@
29
30
  "prettier": "prettier . --check",
30
31
  "prettier:fix": "prettier . --write",
31
32
  "typecheck": "tsc --noEmit",
32
- "test": "jest",
33
- "test:watch": "pnpm test -- --watch",
34
- "test:coverage": "pnpm test -- --coverage"
33
+ "test": "vitest run",
34
+ "test:watch": "vitest",
35
+ "test:coverage": "vitest run --coverage"
35
36
  },
36
37
  "dependencies": {
37
38
  "@ledgerhq/signer-utils": "workspace:*",
38
- "ethers-v5": "npm:ethers@^5.7.2",
39
- "ethers-v6": "npm:ethers@6.13.4",
40
- "inversify": "^6.1.6",
39
+ "ethers": "6.13.4",
40
+ "inversify": "^6.2.2",
41
41
  "inversify-logger-middleware": "^3.1.0",
42
42
  "purify-ts": "^2.1.0",
43
43
  "reflect-metadata": "^0.2.2",
44
44
  "semver": "^7.6.3",
45
- "xstate": "^5.19.0"
45
+ "xstate": "^5.19.2"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@ledgerhq/context-module": "workspace:*",
49
49
  "@ledgerhq/device-management-kit": "workspace:*",
50
50
  "@ledgerhq/esbuild-tools": "workspace:*",
51
51
  "@ledgerhq/eslint-config-dsdk": "workspace:*",
52
- "@ledgerhq/jest-config-dsdk": "workspace:*",
53
52
  "@ledgerhq/prettier-config-dsdk": "workspace:*",
54
53
  "@ledgerhq/tsconfig-dsdk": "workspace:*",
54
+ "@ledgerhq/vitest-config-dmk": "workspace:*",
55
55
  "@types/semver": "^7.5.8",
56
- "rxjs": "^7.8.1",
56
+ "rxjs": "^7.8.2",
57
57
  "ts-node": "^10.9.2"
58
58
  },
59
59
  "peerDependencies": {
60
- "@ledgerhq/context-module": "^1.0.0",
61
- "@ledgerhq/device-management-kit": "^0.5.1"
60
+ "@ledgerhq/context-module": "workspace:*",
61
+ "@ledgerhq/device-management-kit": "workspace:*"
62
62
  }
63
63
  }
@@ -1,2 +1,2 @@
1
- import{SignerEthBuilder as t}from"./SignerEthBuilder";describe("SignerEthBuilder",()=>{const o={};test("should be an instance of SignerEth",()=>{const e=new t({dmk:o,sessionId:""});e.build(),expect(e).toBeInstanceOf(t)}),test("should instanciate with default context module",()=>{const e=new t({dmk:o,sessionId:""});e.build(),expect(e._contextModule).toBeDefined(),expect(e._contextModule._loaders).toHaveLength(5)}),test("should instanciate with custom context module",()=>{const e=new t({dmk:o,sessionId:""}),n={};e.withContextModule(n).build(),expect(e._contextModule).toBe(n)})});
1
+ import{SignerEthBuilder as t}from"./SignerEthBuilder";describe("SignerEthBuilder",()=>{const o={};test("should be an instance of SignerEth",()=>{const e=new t({dmk:o,sessionId:""});e.build(),expect(e).toBeInstanceOf(t)}),test("should instanciate with default context module",()=>{const e=new t({dmk:o,sessionId:""});e.build(),expect(e._contextModule).toBeDefined(),expect(e._contextModule._loaders).toHaveLength(6)}),test("should instanciate with custom context module",()=>{const e=new t({dmk:o,sessionId:""}),n={};e.withContextModule(n).build(),expect(e._contextModule).toBe(n)})});
2
2
  //# sourceMappingURL=SignerEthBuilder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/api/SignerEthBuilder.test.ts"],
4
- "sourcesContent": ["import {\n type ContextLoader,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport { type DeviceManagementKit } from \"@ledgerhq/device-management-kit\";\n\nimport { SignerEthBuilder } from \"@api/SignerEthBuilder\";\n\ndescribe(\"SignerEthBuilder\", () => {\n const dmk: DeviceManagementKit = {} as DeviceManagementKit;\n\n test(\"should be an instance of SignerEth\", () => {\n // GIVEN\n const builder = new SignerEthBuilder({ dmk, sessionId: \"\" });\n\n // WHEN\n builder.build();\n\n // THEN\n expect(builder).toBeInstanceOf(SignerEthBuilder);\n });\n\n test(\"should instanciate with default context module\", () => {\n // GIVEN\n const builder = new SignerEthBuilder({ dmk, sessionId: \"\" });\n\n // WHEN\n builder.build();\n\n // THEN\n expect(builder[\"_contextModule\"]).toBeDefined();\n expect(\n (builder[\"_contextModule\"] as unknown as { _loaders: ContextLoader[] })\n ._loaders,\n ).toHaveLength(5);\n });\n\n test(\"should instanciate with custom context module\", () => {\n // GIVEN\n const builder = new SignerEthBuilder({ dmk, sessionId: \"\" });\n const contextModule = {} as ContextModule;\n\n // WHEN\n builder.withContextModule(contextModule).build();\n\n // THEN\n expect(builder[\"_contextModule\"]).toBe(contextModule);\n });\n});\n"],
4
+ "sourcesContent": ["import {\n type ContextLoader,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport { type DeviceManagementKit } from \"@ledgerhq/device-management-kit\";\n\nimport { SignerEthBuilder } from \"@api/SignerEthBuilder\";\n\ndescribe(\"SignerEthBuilder\", () => {\n const dmk: DeviceManagementKit = {} as DeviceManagementKit;\n\n test(\"should be an instance of SignerEth\", () => {\n // GIVEN\n const builder = new SignerEthBuilder({ dmk, sessionId: \"\" });\n\n // WHEN\n builder.build();\n\n // THEN\n expect(builder).toBeInstanceOf(SignerEthBuilder);\n });\n\n test(\"should instanciate with default context module\", () => {\n // GIVEN\n const builder = new SignerEthBuilder({ dmk, sessionId: \"\" });\n\n // WHEN\n builder.build();\n\n // THEN\n expect(builder[\"_contextModule\"]).toBeDefined();\n expect(\n (builder[\"_contextModule\"] as unknown as { _loaders: ContextLoader[] })\n ._loaders,\n ).toHaveLength(6);\n });\n\n test(\"should instanciate with custom context module\", () => {\n // GIVEN\n const builder = new SignerEthBuilder({ dmk, sessionId: \"\" });\n const contextModule = {} as ContextModule;\n\n // WHEN\n builder.withContextModule(contextModule).build();\n\n // THEN\n expect(builder[\"_contextModule\"]).toBe(contextModule);\n });\n});\n"],
5
5
  "mappings": "AAMA,OAAS,oBAAAA,MAAwB,wBAEjC,SAAS,mBAAoB,IAAM,CACjC,MAAMC,EAA2B,CAAC,EAElC,KAAK,qCAAsC,IAAM,CAE/C,MAAMC,EAAU,IAAIF,EAAiB,CAAE,IAAAC,EAAK,UAAW,EAAG,CAAC,EAG3DC,EAAQ,MAAM,EAGd,OAAOA,CAAO,EAAE,eAAeF,CAAgB,CACjD,CAAC,EAED,KAAK,iDAAkD,IAAM,CAE3D,MAAME,EAAU,IAAIF,EAAiB,CAAE,IAAAC,EAAK,UAAW,EAAG,CAAC,EAG3DC,EAAQ,MAAM,EAGd,OAAOA,EAAQ,cAAiB,EAAE,YAAY,EAC9C,OACGA,EAAQ,eACN,QACL,EAAE,aAAa,CAAC,CAClB,CAAC,EAED,KAAK,gDAAiD,IAAM,CAE1D,MAAMA,EAAU,IAAIF,EAAiB,CAAE,IAAAC,EAAK,UAAW,EAAG,CAAC,EACrDE,EAAgB,CAAC,EAGvBD,EAAQ,kBAAkBC,CAAa,EAAE,MAAM,EAG/C,OAAOD,EAAQ,cAAiB,EAAE,KAAKC,CAAa,CACtD,CAAC,CACH,CAAC",
6
6
  "names": ["SignerEthBuilder", "dmk", "builder", "contextModule"]
7
7
  }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=GetConfigCommandTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,2 +1,2 @@
1
- export*from"./app-binder/GetAddressDeviceActionTypes";export*from"./model/Address";export*from"./model/AddressOptions";export*from"./model/Signature";export*from"./model/Transaction";export*from"./model/TransactionOptions";export*from"./model/TypedData";export*from"./SignerEth";export*from"./SignerEthBuilder";
1
+ export*from"./app-binder/GetAddressDeviceActionTypes";export*from"./model/Address";export*from"./model/AddressOptions";export*from"./model/Signature";export*from"./model/TransactionOptions";export*from"./model/TransactionType";export*from"./model/TypedData";export*from"./SignerEth";export*from"./SignerEthBuilder";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/api/index.ts"],
4
- "sourcesContent": ["export * from \"@api/app-binder/GetAddressDeviceActionTypes\";\nexport type {\n SignPersonalMessageDAError,\n SignPersonalMessageDAInput,\n SignPersonalMessageDAIntermediateValue,\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAState,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nexport type {\n SignTransactionDAError,\n SignTransactionDAInput,\n SignTransactionDAIntermediateValue,\n SignTransactionDAOutput,\n SignTransactionDAState,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nexport {\n type SignTypedDataDAError,\n type SignTypedDataDAInput,\n type SignTypedDataDAIntermediateValue,\n type SignTypedDataDAOutput,\n type SignTypedDataDAState,\n} from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nexport * from \"@api/model/Address\";\nexport * from \"@api/model/AddressOptions\";\nexport * from \"@api/model/Signature\";\nexport * from \"@api/model/Transaction\";\nexport * from \"@api/model/TransactionOptions\";\nexport * from \"@api/model/TypedData\";\nexport * from \"@api/SignerEth\";\nexport * from \"@api/SignerEthBuilder\";\n"],
5
- "mappings": "AAAA,WAAc,8CAsBd,WAAc,qBACd,WAAc,4BACd,WAAc,uBACd,WAAc,yBACd,WAAc,gCACd,WAAc,uBACd,WAAc,iBACd,WAAc",
4
+ "sourcesContent": ["export * from \"@api/app-binder/GetAddressDeviceActionTypes\";\nexport type {\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue,\n SignPersonalMessageDAOutput,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nexport type {\n SignTransactionDAError,\n SignTransactionDAInput,\n SignTransactionDAIntermediateValue,\n SignTransactionDAOutput,\n SignTransactionDAState,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nexport {\n type SignTypedDataDAError,\n type SignTypedDataDAInput,\n type SignTypedDataDAIntermediateValue,\n type SignTypedDataDAOutput,\n type SignTypedDataDAState,\n} from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nexport * from \"@api/model/Address\";\nexport * from \"@api/model/AddressOptions\";\nexport * from \"@api/model/Signature\";\nexport * from \"@api/model/TransactionOptions\";\nexport * from \"@api/model/TransactionType\";\nexport * from \"@api/model/TypedData\";\nexport * from \"@api/SignerEth\";\nexport * from \"@api/SignerEthBuilder\";\n"],
5
+ "mappings": "AAAA,WAAc,8CAoBd,WAAc,qBACd,WAAc,4BACd,WAAc,uBACd,WAAc,gCACd,WAAc,6BACd,WAAc,uBACd,WAAc,iBACd,WAAc",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,2 @@
1
+ var I=(E=>(E[E.LEGACY=0]="LEGACY",E[E.EIP2930=1]="EIP2930",E[E.EIP1559=2]="EIP1559",E[E.EIP4844=3]="EIP4844",E))(I||{});export{I as TransactionType};
2
+ //# sourceMappingURL=TransactionType.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/api/model/TransactionType.ts"],
4
+ "sourcesContent": ["/**\n * The ethereum transaction type as according to eip-2718 transactions\n * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2718.md\n */\nexport enum TransactionType {\n LEGACY = 0,\n EIP2930 = 1,\n EIP1559 = 2,\n EIP4844 = 3,\n}\n"],
5
+ "mappings": "AAIO,IAAKA,OACVA,IAAA,OAAS,GAAT,SACAA,IAAA,QAAU,GAAV,UACAA,IAAA,QAAU,GAAV,UACAA,IAAA,QAAU,GAAV,UAJUA,OAAA",
6
+ "names": ["TransactionType"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/internal/DefaultSignerEth.ts"],
4
- "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTypedDataDAReturnType } from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type AddressOptions } from \"@api/model/AddressOptions\";\nimport { type Transaction } from \"@api/model/Transaction\";\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type SignerEth } from \"@api/SignerEth\";\nimport { addressTypes } from \"@internal/address/di/addressTypes\";\nimport { type GetAddressUseCase } from \"@internal/address/use-case/GetAddressUseCase\";\nimport { makeContainer } from \"@internal/di\";\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { type SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { type SignTransactionUseCase } from \"@internal/transaction/use-case/SignTransactionUseCase\";\nimport { typedDataTypes } from \"@internal/typed-data/di/typedDataTypes\";\nimport { type SignTypedDataUseCase } from \"@internal/typed-data/use-case/SignTypedDataUseCase\";\n\ntype DefaultSignerConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n contextModule: ContextModule;\n};\n\nexport class DefaultSignerEth implements SignerEth {\n private _container: Container;\n\n constructor({ dmk, sessionId, contextModule }: DefaultSignerConstructorArgs) {\n this._container = makeContainer({ dmk, sessionId, contextModule });\n }\n\n signTransaction(\n derivationPath: string,\n transaction: Transaction,\n options?: TransactionOptions,\n ): SignTransactionDAReturnType {\n return this._container\n .get<SignTransactionUseCase>(transactionTypes.SignTransactionUseCase)\n .execute(derivationPath, transaction, options);\n }\n\n signMessage(\n _derivationPath: string,\n _message: string | Uint8Array,\n ): SignPersonalMessageDAReturnType {\n return this._container\n .get<SignMessageUseCase>(messageTypes.SignMessageUseCase)\n .execute(_derivationPath, _message);\n }\n\n signTypedData(\n _derivationPath: string,\n _typedData: TypedData,\n ): SignTypedDataDAReturnType {\n return this._container\n .get<SignTypedDataUseCase>(typedDataTypes.SignTypedDataUseCase)\n .execute(_derivationPath, _typedData);\n }\n\n getAddress(\n _derivationPath: string,\n _options?: AddressOptions,\n ): GetAddressDAReturnType {\n return this._container\n .get<GetAddressUseCase>(addressTypes.GetAddressUseCase)\n .execute(_derivationPath, _options);\n }\n}\n"],
5
- "mappings": "AAgBA,OAAS,gBAAAA,MAAoB,oCAE7B,OAAS,iBAAAC,MAAqB,eAC9B,OAAS,gBAAAC,MAAoB,oCAE7B,OAAS,oBAAAC,MAAwB,4CAEjC,OAAS,kBAAAC,MAAsB,yCASxB,MAAMC,CAAsC,CACzC,WAER,YAAY,CAAE,IAAAC,EAAK,UAAAC,EAAW,cAAAC,CAAc,EAAiC,CAC3E,KAAK,WAAaP,EAAc,CAAE,IAAAK,EAAK,UAAAC,EAAW,cAAAC,CAAc,CAAC,CACnE,CAEA,gBACEC,EACAC,EACAC,EAC6B,CAC7B,OAAO,KAAK,WACT,IAA4BR,EAAiB,sBAAsB,EACnE,QAAQM,EAAgBC,EAAaC,CAAO,CACjD,CAEA,YACEC,EACAC,EACiC,CACjC,OAAO,KAAK,WACT,IAAwBX,EAAa,kBAAkB,EACvD,QAAQU,EAAiBC,CAAQ,CACtC,CAEA,cACED,EACAE,EAC2B,CAC3B,OAAO,KAAK,WACT,IAA0BV,EAAe,oBAAoB,EAC7D,QAAQQ,EAAiBE,CAAU,CACxC,CAEA,WACEF,EACAG,EACwB,CACxB,OAAO,KAAK,WACT,IAAuBf,EAAa,iBAAiB,EACrD,QAAQY,EAAiBG,CAAQ,CACtC,CACF",
4
+ "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTypedDataDAReturnType } from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type AddressOptions } from \"@api/model/AddressOptions\";\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type SignerEth } from \"@api/SignerEth\";\nimport { addressTypes } from \"@internal/address/di/addressTypes\";\nimport { type GetAddressUseCase } from \"@internal/address/use-case/GetAddressUseCase\";\nimport { makeContainer } from \"@internal/di\";\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { type SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { type SignTransactionUseCase } from \"@internal/transaction/use-case/SignTransactionUseCase\";\nimport { typedDataTypes } from \"@internal/typed-data/di/typedDataTypes\";\nimport { type SignTypedDataUseCase } from \"@internal/typed-data/use-case/SignTypedDataUseCase\";\n\ntype DefaultSignerConstructorArgs = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n contextModule: ContextModule;\n};\n\nexport class DefaultSignerEth implements SignerEth {\n private _container: Container;\n\n constructor({ dmk, sessionId, contextModule }: DefaultSignerConstructorArgs) {\n this._container = makeContainer({ dmk, sessionId, contextModule });\n }\n\n signTransaction(\n derivationPath: string,\n transaction: Uint8Array,\n options?: TransactionOptions,\n ): SignTransactionDAReturnType {\n return this._container\n .get<SignTransactionUseCase>(transactionTypes.SignTransactionUseCase)\n .execute(derivationPath, transaction, options);\n }\n\n signMessage(\n _derivationPath: string,\n _message: string | Uint8Array,\n ): SignPersonalMessageDAReturnType {\n return this._container\n .get<SignMessageUseCase>(messageTypes.SignMessageUseCase)\n .execute(_derivationPath, _message);\n }\n\n signTypedData(\n _derivationPath: string,\n _typedData: TypedData,\n ): SignTypedDataDAReturnType {\n return this._container\n .get<SignTypedDataUseCase>(typedDataTypes.SignTypedDataUseCase)\n .execute(_derivationPath, _typedData);\n }\n\n getAddress(\n _derivationPath: string,\n _options?: AddressOptions,\n ): GetAddressDAReturnType {\n return this._container\n .get<GetAddressUseCase>(addressTypes.GetAddressUseCase)\n .execute(_derivationPath, _options);\n }\n}\n"],
5
+ "mappings": "AAeA,OAAS,gBAAAA,MAAoB,oCAE7B,OAAS,iBAAAC,MAAqB,eAC9B,OAAS,gBAAAC,MAAoB,oCAE7B,OAAS,oBAAAC,MAAwB,4CAEjC,OAAS,kBAAAC,MAAsB,yCASxB,MAAMC,CAAsC,CACzC,WAER,YAAY,CAAE,IAAAC,EAAK,UAAAC,EAAW,cAAAC,CAAc,EAAiC,CAC3E,KAAK,WAAaP,EAAc,CAAE,IAAAK,EAAK,UAAAC,EAAW,cAAAC,CAAc,CAAC,CACnE,CAEA,gBACEC,EACAC,EACAC,EAC6B,CAC7B,OAAO,KAAK,WACT,IAA4BR,EAAiB,sBAAsB,EACnE,QAAQM,EAAgBC,EAAaC,CAAO,CACjD,CAEA,YACEC,EACAC,EACiC,CACjC,OAAO,KAAK,WACT,IAAwBX,EAAa,kBAAkB,EACvD,QAAQU,EAAiBC,CAAQ,CACtC,CAEA,cACED,EACAE,EAC2B,CAC3B,OAAO,KAAK,WACT,IAA0BV,EAAe,oBAAoB,EAC7D,QAAQQ,EAAiBE,CAAU,CACxC,CAEA,WACEF,EACAG,EACwB,CACxB,OAAO,KAAK,WACT,IAAuBf,EAAa,iBAAiB,EACrD,QAAQY,EAAiBG,CAAQ,CACtC,CACF",
6
6
  "names": ["addressTypes", "makeContainer", "messageTypes", "transactionTypes", "typedDataTypes", "DefaultSignerEth", "dmk", "sessionId", "contextModule", "derivationPath", "transaction", "options", "_derivationPath", "_message", "_typedData", "_options"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{addressTypes as i}from"./address/di/addressTypes";import{messageTypes as o}from"./message/di/messageTypes";import{transactionTypes as r}from"./transaction/di/transactionTypes";import{typedDataTypes as d}from"./typed-data/di/typedDataTypes";import{DefaultSignerEth as c}from"./DefaultSignerEth";describe("DefaultSignerEth",()=>{let a;const n={get:jest.fn(e=>({execute:jest.fn(()=>e===r.SignTransactionUseCase?"transaction-result":e===o.SignMessageUseCase?"message-result":e===d.SignTypedDataUseCase?"typed-data-result":e===i.GetAddressUseCase?"address-result":"undefined-result")}))};beforeEach(()=>{jest.clearAllMocks();const e={},s="",t={};a=new c({dmk:e,sessionId:s,contextModule:t}),a._container=n}),describe("signTransaction",()=>{it("should sign a transaction",async()=>{const e="derivationPath",s={},t=await a.signTransaction(e,s);expect(t).toBeDefined(),expect(t).toBe("transaction-result"),expect(n.get).toHaveBeenCalledWith(r.SignTransactionUseCase)})}),describe("signMessage",()=>{it("should sign a message",async()=>{const t=await a.signMessage("derivationPath","message");expect(t).toBeDefined(),expect(t).toBe("message-result"),expect(n.get).toHaveBeenCalledWith(o.SignMessageUseCase)})}),describe("signTypedData",()=>{it("should sign typed data",async()=>{const e="derivationPath",s={},t=await a.signTypedData(e,s);expect(t).toBeDefined(),expect(t).toBe("typed-data-result"),expect(n.get).toHaveBeenCalledWith(d.SignTypedDataUseCase)})}),describe("getAddress",()=>{it("should get an address",async()=>{const s=await a.getAddress("derivationPath");expect(s).toBeDefined(),expect(s).toBe("address-result"),expect(n.get).toHaveBeenCalledWith(i.GetAddressUseCase)})})});
1
+ import{addressTypes as i}from"./address/di/addressTypes";import{messageTypes as o}from"./message/di/messageTypes";import{transactionTypes as r}from"./transaction/di/transactionTypes";import{typedDataTypes as d}from"./typed-data/di/typedDataTypes";import{DefaultSignerEth as c}from"./DefaultSignerEth";describe("DefaultSignerEth",()=>{let a;const n={get:vi.fn(e=>({execute:vi.fn(()=>e===r.SignTransactionUseCase?"transaction-result":e===o.SignMessageUseCase?"message-result":e===d.SignTypedDataUseCase?"typed-data-result":e===i.GetAddressUseCase?"address-result":"undefined-result")}))};beforeEach(()=>{vi.clearAllMocks();const e={},s="",t={};a=new c({dmk:e,sessionId:s,contextModule:t}),a._container=n}),describe("signTransaction",()=>{it("should sign a transaction",async()=>{const e="derivationPath",s=new Uint8Array(0),t=await a.signTransaction(e,s);expect(t).toBeDefined(),expect(t).toBe("transaction-result"),expect(n.get).toHaveBeenCalledWith(r.SignTransactionUseCase)})}),describe("signMessage",()=>{it("should sign a message",async()=>{const t=await a.signMessage("derivationPath","message");expect(t).toBeDefined(),expect(t).toBe("message-result"),expect(n.get).toHaveBeenCalledWith(o.SignMessageUseCase)})}),describe("signTypedData",()=>{it("should sign typed data",async()=>{const e="derivationPath",s={},t=await a.signTypedData(e,s);expect(t).toBeDefined(),expect(t).toBe("typed-data-result"),expect(n.get).toHaveBeenCalledWith(d.SignTypedDataUseCase)})}),describe("getAddress",()=>{it("should get an address",async()=>{const s=await a.getAddress("derivationPath");expect(s).toBeDefined(),expect(s).toBe("address-result"),expect(n.get).toHaveBeenCalledWith(i.GetAddressUseCase)})})});
2
2
  //# sourceMappingURL=DefaultSignerEth.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/internal/DefaultSignerEth.test.ts"],
4
- "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { addressTypes } from \"./address/di/addressTypes\";\nimport { messageTypes } from \"./message/di/messageTypes\";\nimport { transactionTypes } from \"./transaction/di/transactionTypes\";\nimport { typedDataTypes } from \"./typed-data/di/typedDataTypes\";\nimport { type Transaction, type TypedData } from \"..\";\nimport { DefaultSignerEth } from \"./DefaultSignerEth\";\n\ndescribe(\"DefaultSignerEth\", () => {\n let signer: DefaultSignerEth;\n const mock: Container = {\n get: jest.fn((id: symbol) => ({\n execute: jest.fn(() => {\n if (id === transactionTypes.SignTransactionUseCase) {\n return \"transaction-result\";\n } else if (id === messageTypes.SignMessageUseCase) {\n return \"message-result\";\n } else if (id === typedDataTypes.SignTypedDataUseCase) {\n return \"typed-data-result\";\n } else if (id === addressTypes.GetAddressUseCase) {\n return \"address-result\";\n }\n\n return \"undefined-result\";\n }),\n })),\n } as unknown as Container;\n\n beforeEach(() => {\n jest.clearAllMocks();\n\n const dmk = {} as DeviceManagementKit;\n const sessionId = \"\" as DeviceSessionId;\n const contextModule = {} as ContextModule;\n signer = new DefaultSignerEth({ dmk, sessionId, contextModule });\n signer[\"_container\"] = mock as unknown as Container;\n });\n\n describe(\"signTransaction\", () => {\n it(\"should sign a transaction\", async () => {\n // GIVEN\n const derivationPath = \"derivationPath\";\n const transaction = {} as Transaction;\n\n // WHEN\n const result = await signer.signTransaction(derivationPath, transaction);\n\n // THEN\n expect(result).toBeDefined();\n expect(result).toBe(\"transaction-result\");\n expect(mock.get).toHaveBeenCalledWith(\n transactionTypes.SignTransactionUseCase,\n );\n });\n });\n\n describe(\"signMessage\", () => {\n it(\"should sign a message\", async () => {\n // GIVEN\n const derivationPath = \"derivationPath\";\n const message = \"message\";\n\n // WHEN\n const result = await signer.signMessage(derivationPath, message);\n\n // THEN\n expect(result).toBeDefined();\n expect(result).toBe(\"message-result\");\n expect(mock.get).toHaveBeenCalledWith(messageTypes.SignMessageUseCase);\n });\n });\n\n describe(\"signTypedData\", () => {\n it(\"should sign typed data\", async () => {\n // GIVEN\n const derivationPath = \"derivationPath\";\n const typedData = {} as TypedData;\n\n // WHEN\n const result = await signer.signTypedData(derivationPath, typedData);\n\n // THEN\n expect(result).toBeDefined();\n expect(result).toBe(\"typed-data-result\");\n expect(mock.get).toHaveBeenCalledWith(\n typedDataTypes.SignTypedDataUseCase,\n );\n });\n });\n\n describe(\"getAddress\", () => {\n it(\"should get an address\", async () => {\n // GIVEN\n const derivationPath = \"derivationPath\";\n\n // WHEN\n const result = await signer.getAddress(derivationPath);\n\n // THEN\n expect(result).toBeDefined();\n expect(result).toBe(\"address-result\");\n expect(mock.get).toHaveBeenCalledWith(addressTypes.GetAddressUseCase);\n });\n });\n});\n"],
5
- "mappings": "AAOA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,gBAAAC,MAAoB,4BAC7B,OAAS,oBAAAC,MAAwB,oCACjC,OAAS,kBAAAC,MAAsB,iCAE/B,OAAS,oBAAAC,MAAwB,qBAEjC,SAAS,mBAAoB,IAAM,CACjC,IAAIC,EACJ,MAAMC,EAAkB,CACtB,IAAK,KAAK,GAAIC,IAAgB,CAC5B,QAAS,KAAK,GAAG,IACXA,IAAOL,EAAiB,uBACnB,qBACEK,IAAON,EAAa,mBACtB,iBACEM,IAAOJ,EAAe,qBACxB,oBACEI,IAAOP,EAAa,kBACtB,iBAGF,kBACR,CACH,EAAE,CACJ,EAEA,WAAW,IAAM,CACf,KAAK,cAAc,EAEnB,MAAMQ,EAAM,CAAC,EACPC,EAAY,GACZC,EAAgB,CAAC,EACvBL,EAAS,IAAID,EAAiB,CAAE,IAAAI,EAAK,UAAAC,EAAW,cAAAC,CAAc,CAAC,EAC/DL,EAAO,WAAgBC,CACzB,CAAC,EAED,SAAS,kBAAmB,IAAM,CAChC,GAAG,4BAA6B,SAAY,CAE1C,MAAMK,EAAiB,iBACjBC,EAAc,CAAC,EAGfC,EAAS,MAAMR,EAAO,gBAAgBM,EAAgBC,CAAW,EAGvE,OAAOC,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,oBAAoB,EACxC,OAAOP,EAAK,GAAG,EAAE,qBACfJ,EAAiB,sBACnB,CACF,CAAC,CACH,CAAC,EAED,SAAS,cAAe,IAAM,CAC5B,GAAG,wBAAyB,SAAY,CAMtC,MAAMW,EAAS,MAAMR,EAAO,YAJL,iBACP,SAG+C,EAG/D,OAAOQ,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,gBAAgB,EACpC,OAAOP,EAAK,GAAG,EAAE,qBAAqBL,EAAa,kBAAkB,CACvE,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,yBAA0B,SAAY,CAEvC,MAAMU,EAAiB,iBACjBG,EAAY,CAAC,EAGbD,EAAS,MAAMR,EAAO,cAAcM,EAAgBG,CAAS,EAGnE,OAAOD,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,mBAAmB,EACvC,OAAOP,EAAK,GAAG,EAAE,qBACfH,EAAe,oBACjB,CACF,CAAC,CACH,CAAC,EAED,SAAS,aAAc,IAAM,CAC3B,GAAG,wBAAyB,SAAY,CAKtC,MAAMU,EAAS,MAAMR,EAAO,WAHL,gBAG8B,EAGrD,OAAOQ,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,gBAAgB,EACpC,OAAOP,EAAK,GAAG,EAAE,qBAAqBN,EAAa,iBAAiB,CACtE,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Container } from \"inversify\";\n\nimport { addressTypes } from \"./address/di/addressTypes\";\nimport { messageTypes } from \"./message/di/messageTypes\";\nimport { transactionTypes } from \"./transaction/di/transactionTypes\";\nimport { typedDataTypes } from \"./typed-data/di/typedDataTypes\";\nimport { type TypedData } from \"..\";\nimport { DefaultSignerEth } from \"./DefaultSignerEth\";\n\ndescribe(\"DefaultSignerEth\", () => {\n let signer: DefaultSignerEth;\n const mock: Container = {\n get: vi.fn((id: symbol) => ({\n execute: vi.fn(() => {\n if (id === transactionTypes.SignTransactionUseCase) {\n return \"transaction-result\";\n } else if (id === messageTypes.SignMessageUseCase) {\n return \"message-result\";\n } else if (id === typedDataTypes.SignTypedDataUseCase) {\n return \"typed-data-result\";\n } else if (id === addressTypes.GetAddressUseCase) {\n return \"address-result\";\n }\n\n return \"undefined-result\";\n }),\n })),\n } as unknown as Container;\n\n beforeEach(() => {\n vi.clearAllMocks();\n\n const dmk = {} as DeviceManagementKit;\n const sessionId = \"\" as DeviceSessionId;\n const contextModule = {} as ContextModule;\n signer = new DefaultSignerEth({ dmk, sessionId, contextModule });\n signer[\"_container\"] = mock as unknown as Container;\n });\n\n describe(\"signTransaction\", () => {\n it(\"should sign a transaction\", async () => {\n // GIVEN\n const derivationPath = \"derivationPath\";\n const transaction = new Uint8Array(0);\n\n // WHEN\n const result = await signer.signTransaction(derivationPath, transaction);\n\n // THEN\n expect(result).toBeDefined();\n expect(result).toBe(\"transaction-result\");\n expect(mock.get).toHaveBeenCalledWith(\n transactionTypes.SignTransactionUseCase,\n );\n });\n });\n\n describe(\"signMessage\", () => {\n it(\"should sign a message\", async () => {\n // GIVEN\n const derivationPath = \"derivationPath\";\n const message = \"message\";\n\n // WHEN\n const result = await signer.signMessage(derivationPath, message);\n\n // THEN\n expect(result).toBeDefined();\n expect(result).toBe(\"message-result\");\n expect(mock.get).toHaveBeenCalledWith(messageTypes.SignMessageUseCase);\n });\n });\n\n describe(\"signTypedData\", () => {\n it(\"should sign typed data\", async () => {\n // GIVEN\n const derivationPath = \"derivationPath\";\n const typedData = {} as TypedData;\n\n // WHEN\n const result = await signer.signTypedData(derivationPath, typedData);\n\n // THEN\n expect(result).toBeDefined();\n expect(result).toBe(\"typed-data-result\");\n expect(mock.get).toHaveBeenCalledWith(\n typedDataTypes.SignTypedDataUseCase,\n );\n });\n });\n\n describe(\"getAddress\", () => {\n it(\"should get an address\", async () => {\n // GIVEN\n const derivationPath = \"derivationPath\";\n\n // WHEN\n const result = await signer.getAddress(derivationPath);\n\n // THEN\n expect(result).toBeDefined();\n expect(result).toBe(\"address-result\");\n expect(mock.get).toHaveBeenCalledWith(addressTypes.GetAddressUseCase);\n });\n });\n});\n"],
5
+ "mappings": "AAOA,OAAS,gBAAAA,MAAoB,4BAC7B,OAAS,gBAAAC,MAAoB,4BAC7B,OAAS,oBAAAC,MAAwB,oCACjC,OAAS,kBAAAC,MAAsB,iCAE/B,OAAS,oBAAAC,MAAwB,qBAEjC,SAAS,mBAAoB,IAAM,CACjC,IAAIC,EACJ,MAAMC,EAAkB,CACtB,IAAK,GAAG,GAAIC,IAAgB,CAC1B,QAAS,GAAG,GAAG,IACTA,IAAOL,EAAiB,uBACnB,qBACEK,IAAON,EAAa,mBACtB,iBACEM,IAAOJ,EAAe,qBACxB,oBACEI,IAAOP,EAAa,kBACtB,iBAGF,kBACR,CACH,EAAE,CACJ,EAEA,WAAW,IAAM,CACf,GAAG,cAAc,EAEjB,MAAMQ,EAAM,CAAC,EACPC,EAAY,GACZC,EAAgB,CAAC,EACvBL,EAAS,IAAID,EAAiB,CAAE,IAAAI,EAAK,UAAAC,EAAW,cAAAC,CAAc,CAAC,EAC/DL,EAAO,WAAgBC,CACzB,CAAC,EAED,SAAS,kBAAmB,IAAM,CAChC,GAAG,4BAA6B,SAAY,CAE1C,MAAMK,EAAiB,iBACjBC,EAAc,IAAI,WAAW,CAAC,EAG9BC,EAAS,MAAMR,EAAO,gBAAgBM,EAAgBC,CAAW,EAGvE,OAAOC,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,oBAAoB,EACxC,OAAOP,EAAK,GAAG,EAAE,qBACfJ,EAAiB,sBACnB,CACF,CAAC,CACH,CAAC,EAED,SAAS,cAAe,IAAM,CAC5B,GAAG,wBAAyB,SAAY,CAMtC,MAAMW,EAAS,MAAMR,EAAO,YAJL,iBACP,SAG+C,EAG/D,OAAOQ,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,gBAAgB,EACpC,OAAOP,EAAK,GAAG,EAAE,qBAAqBL,EAAa,kBAAkB,CACvE,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,yBAA0B,SAAY,CAEvC,MAAMU,EAAiB,iBACjBG,EAAY,CAAC,EAGbD,EAAS,MAAMR,EAAO,cAAcM,EAAgBG,CAAS,EAGnE,OAAOD,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,mBAAmB,EACvC,OAAOP,EAAK,GAAG,EAAE,qBACfH,EAAe,oBACjB,CACF,CAAC,CACH,CAAC,EAED,SAAS,aAAc,IAAM,CAC3B,GAAG,wBAAyB,SAAY,CAKtC,MAAMU,EAAS,MAAMR,EAAO,WAHL,gBAG8B,EAGrD,OAAOQ,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,gBAAgB,EACpC,OAAOP,EAAK,GAAG,EAAE,qBAAqBN,EAAa,iBAAiB,CACtE,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["addressTypes", "messageTypes", "transactionTypes", "typedDataTypes", "DefaultSignerEth", "signer", "mock", "id", "dmk", "sessionId", "contextModule", "derivationPath", "transaction", "result", "typedData"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{GetAddressUseCase as r}from"./GetAddressUseCase";describe("GetAddressUseCase",()=>{it("should call getAddress on appBinder with the correct arguments",()=>{const e="m/44'/60'/0'/0/0",s={checkOnDevice:!0,returnChainCode:!0},t=jest.fn(),n={getAddress:t};new r(n).execute(e,s),expect(t).toHaveBeenCalledWith({derivationPath:e,checkOnDevice:!0,returnChainCode:!0})})});
1
+ import{GetAddressUseCase as r}from"./GetAddressUseCase";describe("GetAddressUseCase",()=>{it("should call getAddress on appBinder with the correct arguments",()=>{const e="m/44'/60'/0'/0/0",s={checkOnDevice:!0,returnChainCode:!0},t=vi.fn(),n={getAddress:t};new r(n).execute(e,s),expect(t).toHaveBeenCalledWith({derivationPath:e,checkOnDevice:!0,returnChainCode:!0})})});
2
2
  //# sourceMappingURL=GetAddressUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/address/use-case/GetAddressUseCase.test.ts"],
4
- "sourcesContent": ["import { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\nimport { GetAddressUseCase } from \"./GetAddressUseCase\";\n\ndescribe(\"GetAddressUseCase\", () => {\n it(\"should call getAddress on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"m/44'/60'/0'/0/0\";\n const checkOnDevice = true;\n const returnChainCode = true;\n const options = {\n checkOnDevice,\n returnChainCode,\n };\n const getAddress = jest.fn();\n const appBinder = {\n getAddress,\n };\n const getAddressUseCase = new GetAddressUseCase(\n appBinder as unknown as EthAppBinder,\n );\n\n // When\n getAddressUseCase.execute(derivationPath, options);\n\n // Then\n expect(getAddress).toHaveBeenCalledWith({\n derivationPath,\n checkOnDevice,\n returnChainCode,\n });\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,qBAAAA,MAAyB,sBAElC,SAAS,oBAAqB,IAAM,CAClC,GAAG,iEAAkE,IAAM,CAEzE,MAAMC,EAAiB,mBAGjBC,EAAU,CACd,iBACA,kBACF,EACMC,EAAa,KAAK,GAAG,EACrBC,EAAY,CAChB,WAAAD,CACF,EAC0B,IAAIH,EAC5BI,CACF,EAGkB,QAAQH,EAAgBC,CAAO,EAGjD,OAAOC,CAAU,EAAE,qBAAqB,CACtC,eAAAF,EACA,iBACA,kBACF,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\nimport { GetAddressUseCase } from \"./GetAddressUseCase\";\n\ndescribe(\"GetAddressUseCase\", () => {\n it(\"should call getAddress on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"m/44'/60'/0'/0/0\";\n const checkOnDevice = true;\n const returnChainCode = true;\n const options = {\n checkOnDevice,\n returnChainCode,\n };\n const getAddress = vi.fn();\n const appBinder = {\n getAddress,\n };\n const getAddressUseCase = new GetAddressUseCase(\n appBinder as unknown as EthAppBinder,\n );\n\n // When\n getAddressUseCase.execute(derivationPath, options);\n\n // Then\n expect(getAddress).toHaveBeenCalledWith({\n derivationPath,\n checkOnDevice,\n returnChainCode,\n });\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,qBAAAA,MAAyB,sBAElC,SAAS,oBAAqB,IAAM,CAClC,GAAG,iEAAkE,IAAM,CAEzE,MAAMC,EAAiB,mBAGjBC,EAAU,CACd,iBACA,kBACF,EACMC,EAAa,GAAG,GAAG,EACnBC,EAAY,CAChB,WAAAD,CACF,EAC0B,IAAIH,EAC5BI,CACF,EAGkB,QAAQH,EAAgBC,CAAO,EAGjD,OAAOC,CAAU,EAAE,qBAAqB,CACtC,eAAAF,EACA,iBACA,kBACF,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["GetAddressUseCase", "derivationPath", "options", "getAddress", "appBinder"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var T=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var m=(o,e,r,i)=>{for(var t=i>1?void 0:i?D(e,r):e,s=o.length-1,c;s>=0;s--)(c=o[s])&&(t=(i?c(e,r,t):c(t))||t);return i&&t&&T(e,r,t),t},n=(o,e)=>(r,i)=>e(r,i,o);import{SendCommandInAppDeviceAction as y}from"@ledgerhq/device-management-kit";import{UserInteractionRequired as v}from"@ledgerhq/device-management-kit";import{inject as a,injectable as A}from"inversify";import{SignTypedDataDeviceAction as h}from"../app-binder/device-action/SignTypedData/SignTypedDataDeviceAction";import{externalTypes as d}from"../externalTypes";import{transactionTypes as u}from"../transaction/di/transactionTypes";import{GetAddressCommand as f}from"./command/GetAddressCommand";import{SignPersonalMessageDeviceAction as g}from"./device-action/SignPersonalMessage/SignPersonalMessageDeviceAction";import{SignTransactionDeviceAction as S}from"./device-action/SignTransaction/SignTransactionDeviceAction";let p=class{constructor(e,r,i,t,s){this.dmk=e;this.contextModule=r;this.mapper=i;this.parser=t;this.sessionId=s}getAddress(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new y({input:{command:new f(e),appName:"Ethereum",requiredUserInteraction:e.checkOnDevice?v.VerifyAddress:v.None}})})}signPersonalMessage(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new g({input:{derivationPath:e.derivationPath,message:e.message}})})}signTransaction(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new S({input:{derivationPath:e.derivationPath,transaction:e.transaction,mapper:this.mapper,parser:this.parser,contextModule:this.contextModule,options:e.options??{}}})})}signTypedData(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new h({input:{derivationPath:e.derivationPath,data:e.data,parser:e.parser,contextModule:this.contextModule}})})}};p=m([A(),n(0,a(d.Dmk)),n(1,a(d.ContextModule)),n(2,a(u.TransactionMapperService)),n(3,a(u.TransactionParserService)),n(4,a(d.SessionId))],p);export{p as EthAppBinder};
1
+ var y=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var v=(o,e,t,r)=>{for(var i=r>1?void 0:r?D(e,t):e,s=o.length-1,c;s>=0;s--)(c=o[s])&&(i=(r?c(e,t,i):c(i))||i);return r&&i&&y(e,t,i),i},n=(o,e)=>(t,r)=>e(t,r,o);import{CallTaskInAppDeviceAction as A,SendCommandInAppDeviceAction as S}from"@ledgerhq/device-management-kit";import{UserInteractionRequired as m}from"@ledgerhq/device-management-kit";import{inject as a,injectable as f}from"inversify";import{SignTypedDataDeviceAction as g}from"../app-binder/device-action/SignTypedData/SignTypedDataDeviceAction";import{SendSignPersonalMessageTask as h}from"../app-binder/task/SendSignPersonalMessageTask";import{externalTypes as d}from"../externalTypes";import{transactionTypes as u}from"../transaction/di/transactionTypes";import{GetAddressCommand as l}from"./command/GetAddressCommand";import{ETHEREUM_PLUGINS as T}from"./constant/plugins";import{SignTransactionDeviceAction as M}from"./device-action/SignTransaction/SignTransactionDeviceAction";let p=class{constructor(e,t,r,i,s){this.dmk=e;this.contextModule=t;this.mapper=r;this.parser=i;this.sessionId=s}getAddress(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new S({input:{command:new l(e),appName:"Ethereum",compatibleAppNames:T,requiredUserInteraction:e.checkOnDevice?m.VerifyAddress:m.None}})})}signPersonalMessage(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new A({input:{task:async t=>new h(t,e).run(),appName:"Ethereum",compatibleAppNames:T,requiredUserInteraction:m.SignPersonalMessage}})})}signTransaction(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new M({input:{derivationPath:e.derivationPath,transaction:e.transaction,mapper:this.mapper,parser:this.parser,contextModule:this.contextModule,options:e.options??{}}})})}signTypedData(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new g({input:{derivationPath:e.derivationPath,data:e.data,parser:e.parser,contextModule:this.contextModule}})})}};p=v([f(),n(0,a(d.Dmk)),n(1,a(d.ContextModule)),n(2,a(u.TransactionMapperService)),n(3,a(u.TransactionParserService)),n(4,a(d.SessionId))],p);export{p as EthAppBinder};
2
2
  //# sourceMappingURL=EthAppBinder.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/app-binder/EthAppBinder.ts"],
4
- "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { SendCommandInAppDeviceAction } from \"@ledgerhq/device-management-kit\";\nimport { UserInteractionRequired } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTypedDataDAReturnType } from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type Transaction } from \"@api/model/Transaction\";\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { SignTypedDataDeviceAction } from \"@internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nimport { GetAddressCommand } from \"./command/GetAddressCommand\";\nimport { SignPersonalMessageDeviceAction } from \"./device-action/SignPersonalMessage/SignPersonalMessageDeviceAction\";\nimport { SignTransactionDeviceAction } from \"./device-action/SignTransaction/SignTransactionDeviceAction\";\n\n@injectable()\nexport class EthAppBinder {\n constructor(\n @inject(externalTypes.Dmk) private dmk: DeviceManagementKit,\n @inject(externalTypes.ContextModule) private contextModule: ContextModule,\n @inject(transactionTypes.TransactionMapperService)\n private mapper: TransactionMapperService,\n @inject(transactionTypes.TransactionParserService)\n private parser: TransactionParserService,\n @inject(externalTypes.SessionId) private sessionId: DeviceSessionId,\n ) {}\n\n getAddress(args: {\n derivationPath: string;\n checkOnDevice?: boolean;\n returnChainCode?: boolean;\n }): GetAddressDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(args),\n appName: \"Ethereum\",\n requiredUserInteraction: args.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n },\n }),\n });\n }\n\n signPersonalMessage(args: {\n derivationPath: string;\n message: string | Uint8Array;\n }): SignPersonalMessageDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SignPersonalMessageDeviceAction({\n input: {\n derivationPath: args.derivationPath,\n message: args.message,\n },\n }),\n });\n }\n\n signTransaction(args: {\n derivationPath: string;\n transaction: Transaction;\n options?: TransactionOptions;\n }): SignTransactionDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SignTransactionDeviceAction({\n input: {\n derivationPath: args.derivationPath,\n transaction: args.transaction,\n mapper: this.mapper,\n parser: this.parser,\n contextModule: this.contextModule,\n options: args.options ?? {},\n },\n }),\n });\n }\n\n signTypedData(args: {\n derivationPath: string;\n parser: TypedDataParserService;\n data: TypedData;\n }): SignTypedDataDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SignTypedDataDeviceAction({\n input: {\n derivationPath: args.derivationPath,\n data: args.data,\n parser: args.parser,\n contextModule: this.contextModule,\n },\n }),\n });\n }\n}\n"],
5
- "mappings": "iOAKA,OAAS,gCAAAA,MAAoC,kCAC7C,OAAS,2BAAAC,MAA+B,kCACxC,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YASnC,OAAS,6BAAAC,MAAiC,6EAC1C,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,oBAAAC,MAAwB,4CAKjC,OAAS,qBAAAC,MAAyB,8BAClC,OAAS,mCAAAC,MAAuC,sEAChD,OAAS,+BAAAC,MAAmC,8DAGrC,IAAMC,EAAN,KAAmB,CACxB,YACqCC,EACUC,EAErCC,EAEAC,EACiCC,EACzC,CAPmC,SAAAJ,EACU,mBAAAC,EAErC,YAAAC,EAEA,YAAAC,EACiC,eAAAC,CACxC,CAEH,WAAWC,EAIgB,CACzB,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIC,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAIC,EAAkBF,CAAI,EACnC,QAAS,WACT,wBAAyBA,EAAK,cAC1BG,EAAwB,cACxBA,EAAwB,IAC9B,CACF,CAAC,CACH,CAAC,CACH,CAEA,oBAAoBH,EAGgB,CAClC,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAII,EAAgC,CAChD,MAAO,CACL,eAAgBJ,EAAK,eACrB,QAASA,EAAK,OAChB,CACF,CAAC,CACH,CAAC,CACH,CAEA,gBAAgBA,EAIgB,CAC9B,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIK,EAA4B,CAC5C,MAAO,CACL,eAAgBL,EAAK,eACrB,YAAaA,EAAK,YAClB,OAAQ,KAAK,OACb,OAAQ,KAAK,OACb,cAAe,KAAK,cACpB,QAASA,EAAK,SAAW,CAAC,CAC5B,CACF,CAAC,CACH,CAAC,CACH,CAEA,cAAcA,EAIgB,CAC5B,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIM,EAA0B,CAC1C,MAAO,CACL,eAAgBN,EAAK,eACrB,KAAMA,EAAK,KACX,OAAQA,EAAK,OACb,cAAe,KAAK,aACtB,CACF,CAAC,CACH,CAAC,CACH,CACF,EAlFaN,EAANa,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAc,GAAG,GACxBF,EAAA,EAAAC,EAAOC,EAAc,aAAa,GAClCF,EAAA,EAAAC,EAAOE,EAAiB,wBAAwB,GAEhDH,EAAA,EAAAC,EAAOE,EAAiB,wBAAwB,GAEhDH,EAAA,EAAAC,EAAOC,EAAc,SAAS,IARtBjB",
6
- "names": ["SendCommandInAppDeviceAction", "UserInteractionRequired", "inject", "injectable", "SignTypedDataDeviceAction", "externalTypes", "transactionTypes", "GetAddressCommand", "SignPersonalMessageDeviceAction", "SignTransactionDeviceAction", "EthAppBinder", "dmk", "contextModule", "mapper", "parser", "sessionId", "args", "SendCommandInAppDeviceAction", "GetAddressCommand", "UserInteractionRequired", "SignPersonalMessageDeviceAction", "SignTransactionDeviceAction", "SignTypedDataDeviceAction", "__decorateClass", "injectable", "__decorateParam", "inject", "externalTypes", "transactionTypes"]
4
+ "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport {\n CallTaskInAppDeviceAction,\n SendCommandInAppDeviceAction,\n} from \"@ledgerhq/device-management-kit\";\nimport { UserInteractionRequired } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { type GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { type SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { type SignTransactionDAReturnType } from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport { type SignTypedDataDAReturnType } from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type TransactionOptions } from \"@api/model/TransactionOptions\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { SignTypedDataDeviceAction } from \"@internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction\";\nimport { SendSignPersonalMessageTask } from \"@internal/app-binder/task/SendSignPersonalMessageTask\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nimport { GetAddressCommand } from \"./command/GetAddressCommand\";\nimport { ETHEREUM_PLUGINS } from \"./constant/plugins\";\nimport { SignTransactionDeviceAction } from \"./device-action/SignTransaction/SignTransactionDeviceAction\";\n\n@injectable()\nexport class EthAppBinder {\n constructor(\n @inject(externalTypes.Dmk) private dmk: DeviceManagementKit,\n @inject(externalTypes.ContextModule) private contextModule: ContextModule,\n @inject(transactionTypes.TransactionMapperService)\n private mapper: TransactionMapperService,\n @inject(transactionTypes.TransactionParserService)\n private parser: TransactionParserService,\n @inject(externalTypes.SessionId) private sessionId: DeviceSessionId,\n ) {}\n\n getAddress(args: {\n derivationPath: string;\n checkOnDevice?: boolean;\n returnChainCode?: boolean;\n }): GetAddressDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(args),\n appName: \"Ethereum\",\n compatibleAppNames: ETHEREUM_PLUGINS,\n requiredUserInteraction: args.checkOnDevice\n ? UserInteractionRequired.VerifyAddress\n : UserInteractionRequired.None,\n },\n }),\n });\n }\n\n signPersonalMessage(args: {\n derivationPath: string;\n message: string | Uint8Array;\n }): SignPersonalMessageDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new SendSignPersonalMessageTask(internalApi, args).run(),\n appName: \"Ethereum\",\n compatibleAppNames: ETHEREUM_PLUGINS,\n requiredUserInteraction: UserInteractionRequired.SignPersonalMessage,\n },\n }),\n });\n }\n\n signTransaction(args: {\n derivationPath: string;\n transaction: Uint8Array;\n options?: TransactionOptions;\n }): SignTransactionDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SignTransactionDeviceAction({\n input: {\n derivationPath: args.derivationPath,\n transaction: args.transaction,\n mapper: this.mapper,\n parser: this.parser,\n contextModule: this.contextModule,\n options: args.options ?? {},\n },\n }),\n });\n }\n\n signTypedData(args: {\n derivationPath: string;\n parser: TypedDataParserService;\n data: TypedData;\n }): SignTypedDataDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new SignTypedDataDeviceAction({\n input: {\n derivationPath: args.derivationPath,\n data: args.data,\n parser: args.parser,\n contextModule: this.contextModule,\n },\n }),\n });\n }\n}\n"],
5
+ "mappings": "iOAKA,OACE,6BAAAA,EACA,gCAAAC,MACK,kCACP,OAAS,2BAAAC,MAA+B,kCACxC,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YAQnC,OAAS,6BAAAC,MAAiC,6EAC1C,OAAS,+BAAAC,MAAmC,wDAC5C,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,oBAAAC,MAAwB,4CAKjC,OAAS,qBAAAC,MAAyB,8BAClC,OAAS,oBAAAC,MAAwB,qBACjC,OAAS,+BAAAC,MAAmC,8DAGrC,IAAMC,EAAN,KAAmB,CACxB,YACqCC,EACUC,EAErCC,EAEAC,EACiCC,EACzC,CAPmC,SAAAJ,EACU,mBAAAC,EAErC,YAAAC,EAEA,YAAAC,EACiC,eAAAC,CACxC,CAEH,WAAWC,EAIgB,CACzB,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIC,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAIC,EAAkBF,CAAI,EACnC,QAAS,WACT,mBAAoBG,EACpB,wBAAyBH,EAAK,cAC1BI,EAAwB,cACxBA,EAAwB,IAC9B,CACF,CAAC,CACH,CAAC,CACH,CAEA,oBAAoBJ,EAGgB,CAClC,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIK,EAA0B,CAC1C,MAAO,CACL,KAAM,MAAOC,GACX,IAAIC,EAA4BD,EAAaN,CAAI,EAAE,IAAI,EACzD,QAAS,WACT,mBAAoBG,EACpB,wBAAyBC,EAAwB,mBACnD,CACF,CAAC,CACH,CAAC,CACH,CAEA,gBAAgBJ,EAIgB,CAC9B,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIQ,EAA4B,CAC5C,MAAO,CACL,eAAgBR,EAAK,eACrB,YAAaA,EAAK,YAClB,OAAQ,KAAK,OACb,OAAQ,KAAK,OACb,cAAe,KAAK,cACpB,QAASA,EAAK,SAAW,CAAC,CAC5B,CACF,CAAC,CACH,CAAC,CACH,CAEA,cAAcA,EAIgB,CAC5B,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAIS,EAA0B,CAC1C,MAAO,CACL,eAAgBT,EAAK,eACrB,KAAMA,EAAK,KACX,OAAQA,EAAK,OACb,cAAe,KAAK,aACtB,CACF,CAAC,CACH,CAAC,CACH,CACF,EAtFaN,EAANgB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAc,GAAG,GACxBF,EAAA,EAAAC,EAAOC,EAAc,aAAa,GAClCF,EAAA,EAAAC,EAAOE,EAAiB,wBAAwB,GAEhDH,EAAA,EAAAC,EAAOE,EAAiB,wBAAwB,GAEhDH,EAAA,EAAAC,EAAOC,EAAc,SAAS,IARtBpB",
6
+ "names": ["CallTaskInAppDeviceAction", "SendCommandInAppDeviceAction", "UserInteractionRequired", "inject", "injectable", "SignTypedDataDeviceAction", "SendSignPersonalMessageTask", "externalTypes", "transactionTypes", "GetAddressCommand", "ETHEREUM_PLUGINS", "SignTransactionDeviceAction", "EthAppBinder", "dmk", "contextModule", "mapper", "parser", "sessionId", "args", "SendCommandInAppDeviceAction", "GetAddressCommand", "ETHEREUM_PLUGINS", "UserInteractionRequired", "CallTaskInAppDeviceAction", "internalApi", "SendSignPersonalMessageTask", "SignTransactionDeviceAction", "SignTypedDataDeviceAction", "__decorateClass", "injectable", "__decorateParam", "inject", "externalTypes", "transactionTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DeviceActionStatus as c}from"@ledgerhq/device-management-kit";import{SendCommandInAppDeviceAction as A}from"@ledgerhq/device-management-kit";import{UserInteractionRequired as g}from"@ledgerhq/device-management-kit";import{Transaction as v}from"ethers-v6";import{from as l}from"rxjs";import{GetAddressCommand as y}from"./command/GetAddressCommand";import{EthAppBinder as m}from"./EthAppBinder";describe("EthAppBinder",()=>{const r={sendCommand:jest.fn(),executeDeviceAction:jest.fn()},u={getContext:jest.fn(),getContexts:jest.fn(),getTypedDataFilters:jest.fn()},d={mapTransactionToSubset:jest.fn()},D={extractValue:jest.fn()};beforeEach(()=>{jest.clearAllMocks()}),describe("getAddress",()=>{it("should return the address, publicKey, and chainCode",e=>{const a="0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",t="04e3785ca";jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:l([{status:c.Completed,output:{address:a,publicKey:t,chainCode:void 0}}]),cancel:jest.fn()});const p=new m(r,u,d,D,"sessionId"),{observable:i}=p.getAddress({derivationPath:"44'/60'/3'/2/1"}),n=[];i.subscribe({next:s=>{n.push(s)},error:s=>{e(s)},complete:()=>{try{expect(n).toEqual([{status:c.Completed,output:{address:a,publicKey:t,chainCode:void 0}}]),e()}catch(s){e(s)}}})}),describe("calls of executeDeviceAction with the correct params",()=>{const e={derivationPath:"44'/60'/3'/2/1",returnChainCode:!1};test("when checkOnDevice is true: UserInteractionRequired.VerifyAddress",()=>{const t={...e,checkOnDevice:!0};new m(r,u,d,D,"sessionId").getAddress(t),expect(r.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new A({input:{command:new y(t),appName:"Ethereum",requiredUserInteraction:g.VerifyAddress}})})}),test("when checkOnDevice is false: UserInteractionRequired.None",()=>{const t={...e,checkOnDevice:!1};new m(r,u,d,D,"sessionId").getAddress(t),expect(r.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new A({input:{command:new y(t),appName:"Ethereum",requiredUserInteraction:g.None}})})})})}),describe("signTransaction",()=>{it("should return the signature",e=>{const a={r:"0xDEAD",s:"0xBEEF",v:0},t=new v;t.to="0x1234567890123456789012345678901234567890",t.value=0n;const o={};jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:l([{status:c.Completed,output:a}]),cancel:jest.fn()});const p=new m(r,u,d,D,"sessionId"),{observable:i}=p.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:t,options:o}),n=[];i.subscribe({next:s=>{n.push(s)},error:s=>{e(s)},complete:()=>{try{expect(n).toEqual([{status:c.Completed,output:a}]),e()}catch(s){e(s)}}})}),it("should return the signature without options",e=>{const a={r:"0xDEAD",s:"0xBEEF",v:0},t=new v;t.to="0x1234567890123456789012345678901234567890",t.value=0n,jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:l([{status:c.Completed,output:a}]),cancel:jest.fn()});const o=new m(r,u,d,D,"sessionId"),{observable:p}=o.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:t,options:void 0}),i=[];p.subscribe({next:n=>{i.push(n)},error:n=>{e(n)},complete:()=>{try{expect(i).toEqual([{status:c.Completed,output:a}]),e()}catch(n){e(n)}}})})}),describe("signMessage",()=>{it("should return the signature",e=>{const a={r:"0xDEAD",s:"0xBEEF",v:0},t="Hello, World!";jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:l([{status:c.Completed,output:a}]),cancel:jest.fn()});const o=new m(r,u,d,D,"sessionId"),{observable:p}=o.signPersonalMessage({derivationPath:"44'/60'/3'/2/1",message:t}),i=[];p.subscribe({next:n=>{i.push(n)},error:n=>{e(n)},complete:()=>{try{expect(i).toEqual([{status:c.Completed,output:a}]),e()}catch(n){e(n)}}})})}),describe("signTypedData",()=>{it("should return the signature",e=>{const a={r:"0xDEAD",s:"0xBEEF",v:0},t={domain:{},types:{},primaryType:"test",message:{}},o={parse:jest.fn()};jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:l([{status:c.Completed,output:a}]),cancel:jest.fn()});const p=new m(r,u,d,D,"sessionId"),{observable:i}=p.signTypedData({derivationPath:"44'/60'/3'/2/1",parser:o,data:t}),n=[];i.subscribe({next:s=>{n.push(s)},error:s=>{e(s)},complete:()=>{try{expect(n).toEqual([{status:c.Completed,output:a}]),e()}catch(s){e(s)}}})})})});
1
+ import{hexaStringToBuffer as v}from"@ledgerhq/device-management-kit";import{DeviceActionStatus as c}from"@ledgerhq/device-management-kit";import{SendCommandInAppDeviceAction as g}from"@ledgerhq/device-management-kit";import{UserInteractionRequired as S}from"@ledgerhq/device-management-kit";import{Transaction as y}from"ethers";import{from as A}from"rxjs";import{GetAddressCommand as h}from"./command/GetAddressCommand";import{ETHEREUM_PLUGINS as f}from"./constant/plugins";import{EthAppBinder as l}from"./EthAppBinder";describe("EthAppBinder",()=>{const a={sendCommand:vi.fn(),executeDeviceAction:vi.fn()},u={getContext:vi.fn(),getContexts:vi.fn(),getTypedDataFilters:vi.fn(),getWeb3Checks:vi.fn()},m={mapTransactionToSubset:vi.fn()},D={extractValue:vi.fn()};beforeEach(()=>{vi.clearAllMocks()}),describe("getAddress",()=>{it("should return the address, publicKey, and chainCode",()=>new Promise((s,r)=>{const e="0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",i="04e3785ca";vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:A([{status:c.Completed,output:{address:e,publicKey:i,chainCode:void 0}}]),cancel:vi.fn()});const p=new l(a,u,m,D,"sessionId"),{observable:o}=p.getAddress({derivationPath:"44'/60'/3'/2/1"}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{r(n)},complete:()=>{try{expect(t).toEqual([{status:c.Completed,output:{address:e,publicKey:i,chainCode:void 0}}]),s()}catch(n){r(n)}}})})),describe("calls of executeDeviceAction with the correct params",()=>{const s={derivationPath:"44'/60'/3'/2/1",returnChainCode:!1};test("when checkOnDevice is true: UserInteractionRequired.VerifyAddress",()=>{const e={...s,checkOnDevice:!0};new l(a,u,m,D,"sessionId").getAddress(e),expect(a.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new g({input:{command:new h(e),appName:"Ethereum",requiredUserInteraction:S.VerifyAddress,compatibleAppNames:f}})})}),test("when checkOnDevice is false: UserInteractionRequired.None",()=>{const e={...s,checkOnDevice:!1};new l(a,u,m,D,"sessionId").getAddress(e),expect(a.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new g({input:{command:new h(e),appName:"Ethereum",requiredUserInteraction:S.None,compatibleAppNames:f}})})})})}),describe("signTransaction",()=>{it("should return the signature",()=>new Promise((s,r)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i=v(y.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized),d={};vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:A([{status:c.Completed,output:e}]),cancel:vi.fn()});const p=new l(a,u,m,D,"sessionId"),{observable:o}=p.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:i,options:d}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{r(n)},complete:()=>{try{expect(t).toEqual([{status:c.Completed,output:e}]),s()}catch(n){r(n)}}})})),it("should return the signature without options",()=>new Promise((s,r)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i=v(y.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized);vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:A([{status:c.Completed,output:e}]),cancel:vi.fn()});const d=new l(a,u,m,D,"sessionId"),{observable:p}=d.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:i,options:void 0}),o=[];p.subscribe({next:t=>{o.push(t)},error:t=>{r(t)},complete:()=>{try{expect(o).toEqual([{status:c.Completed,output:e}]),s()}catch(t){r(t)}}})}))}),describe("signMessage",()=>{it("should return the signature",()=>new Promise((s,r)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i="Hello, World!";vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:A([{status:c.Completed,output:e}]),cancel:vi.fn()});const d=new l(a,u,m,D,"sessionId"),{observable:p}=d.signPersonalMessage({derivationPath:"44'/60'/3'/2/1",message:i}),o=[];p.subscribe({next:t=>{o.push(t)},error:t=>{r(t)},complete:()=>{try{expect(o).toEqual([{status:c.Completed,output:e}]),s()}catch(t){r(t)}}})}))}),describe("signTypedData",()=>{it("should return the signature",()=>new Promise((s,r)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i={domain:{},types:{},primaryType:"test",message:{}},d={parse:vi.fn()};vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:A([{status:c.Completed,output:e}]),cancel:vi.fn()});const p=new l(a,u,m,D,"sessionId"),{observable:o}=p.signTypedData({derivationPath:"44'/60'/3'/2/1",parser:d,data:i}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{r(n)},complete:()=>{try{expect(t).toEqual([{status:c.Completed,output:e}]),s()}catch(n){r(n)}}})}))})});
2
2
  //# sourceMappingURL=EthAppBinder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/app-binder/EthAppBinder.test.ts"],
4
- "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceActionState,\n type DeviceManagementKit,\n} from \"@ledgerhq/device-management-kit\";\nimport { DeviceActionStatus } from \"@ledgerhq/device-management-kit\";\nimport { SendCommandInAppDeviceAction } from \"@ledgerhq/device-management-kit\";\nimport { UserInteractionRequired } from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"ethers-v6\";\nimport { from } from \"rxjs\";\n\nimport {\n type GetAddressDAError,\n type GetAddressDAIntermediateValue,\n type GetAddressDAOutput,\n} from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport {\n type SignPersonalMessageDAError,\n type SignPersonalMessageDAIntermediateValue,\n type SignPersonalMessageDAOutput,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport {\n type SignTransactionDAError,\n type SignTransactionDAIntermediateValue,\n type SignTransactionDAOutput,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport {\n type SignTypedDataDAError,\n type SignTypedDataDAIntermediateValue,\n type SignTypedDataDAOutput,\n} from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type Signature } from \"@api/model/Signature\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nimport { GetAddressCommand } from \"./command/GetAddressCommand\";\nimport { EthAppBinder } from \"./EthAppBinder\";\n\ndescribe(\"EthAppBinder\", () => {\n const mockedDmk: DeviceManagementKit = {\n sendCommand: jest.fn(),\n executeDeviceAction: jest.fn(),\n } as unknown as DeviceManagementKit;\n const mockedContextModule: ContextModule = {\n getContext: jest.fn(),\n getContexts: jest.fn(),\n getTypedDataFilters: jest.fn(),\n };\n const mockedMapper: TransactionMapperService = {\n mapTransactionToSubset: jest.fn(),\n } as unknown as TransactionMapperService;\n const mockedParser: TransactionParserService = {\n extractValue: jest.fn(),\n } as unknown as TransactionParserService;\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n describe(\"getAddress\", () => {\n it(\"should return the address, publicKey, and chainCode\", (done) => {\n // GIVEN\n const address = \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\";\n const publicKey = \"04e3785ca\";\n const chainCode = undefined;\n\n jest.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: { address, publicKey, chainCode },\n } as DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >,\n ]),\n cancel: jest.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.getAddress({\n derivationPath: \"44'/60'/3'/2/1\",\n });\n\n // THEN\n const states: DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n done(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: { address, publicKey, chainCode },\n },\n ]);\n done();\n } catch (err) {\n done(err);\n }\n },\n });\n });\n\n describe(\"calls of executeDeviceAction with the correct params\", () => {\n const baseParams = {\n derivationPath: \"44'/60'/3'/2/1\",\n returnChainCode: false,\n };\n\n test(\"when checkOnDevice is true: UserInteractionRequired.VerifyAddress\", () => {\n // GIVEN\n const checkOnDevice = true;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n appBinder.getAddress(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(params),\n appName: \"Ethereum\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n }),\n });\n });\n\n test(\"when checkOnDevice is false: UserInteractionRequired.None\", () => {\n // GIVEN\n const checkOnDevice = false;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n appBinder.getAddress(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(params),\n appName: \"Ethereum\",\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n });\n });\n });\n });\n\n describe(\"signTransaction\", () => {\n it(\"should return the signature\", (done) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const transaction: Transaction = new Transaction();\n transaction.to = \"0x1234567890123456789012345678901234567890\";\n transaction.value = 0n;\n const options = {};\n\n jest.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: jest.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTransaction({\n derivationPath: \"44'/60'/3'/2/1\",\n transaction,\n options,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n done(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n done();\n } catch (err) {\n done(err);\n }\n },\n });\n });\n\n it(\"should return the signature without options\", (done) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const transaction: Transaction = new Transaction();\n transaction.to = \"0x1234567890123456789012345678901234567890\";\n transaction.value = 0n;\n\n jest.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: jest.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTransaction({\n derivationPath: \"44'/60'/3'/2/1\",\n transaction,\n options: undefined,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n done(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n done();\n } catch (err) {\n done(err);\n }\n },\n });\n });\n });\n\n describe(\"signMessage\", () => {\n it(\"should return the signature\", (done) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const message = \"Hello, World!\";\n\n jest.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >,\n ]),\n cancel: jest.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signPersonalMessage({\n derivationPath: \"44'/60'/3'/2/1\",\n message,\n });\n\n // THEN\n const states: DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n done(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n done();\n } catch (err) {\n done(err);\n }\n },\n });\n });\n });\n\n describe(\"signTypedData\", () => {\n it(\"should return the signature\", (done) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const typedData: TypedData = {\n domain: {},\n types: {},\n primaryType: \"test\",\n message: {},\n };\n const parser: TypedDataParserService = {\n parse: jest.fn(),\n };\n\n jest.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: jest.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTypedData({\n derivationPath: \"44'/60'/3'/2/1\",\n parser,\n data: typedData,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n done(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n done();\n } catch (err) {\n done(err);\n }\n },\n });\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["DeviceActionStatus", "SendCommandInAppDeviceAction", "UserInteractionRequired", "Transaction", "from", "GetAddressCommand", "EthAppBinder", "mockedDmk", "mockedContextModule", "mockedMapper", "mockedParser", "done", "address", "publicKey", "appBinder", "observable", "states", "state", "err", "baseParams", "params", "signature", "transaction", "options", "message", "typedData", "parser"]
4
+ "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceActionState,\n type DeviceManagementKit,\n hexaStringToBuffer,\n} from \"@ledgerhq/device-management-kit\";\nimport { DeviceActionStatus } from \"@ledgerhq/device-management-kit\";\nimport { SendCommandInAppDeviceAction } from \"@ledgerhq/device-management-kit\";\nimport { UserInteractionRequired } from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"ethers\";\nimport { from } from \"rxjs\";\n\nimport {\n type GetAddressDAError,\n type GetAddressDAIntermediateValue,\n type GetAddressDAOutput,\n} from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport {\n type SignPersonalMessageDAError,\n type SignPersonalMessageDAIntermediateValue,\n type SignPersonalMessageDAOutput,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport {\n type SignTransactionDAError,\n type SignTransactionDAIntermediateValue,\n type SignTransactionDAOutput,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport {\n type SignTypedDataDAError,\n type SignTypedDataDAIntermediateValue,\n type SignTypedDataDAOutput,\n} from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type Signature } from \"@api/model/Signature\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nimport { GetAddressCommand } from \"./command/GetAddressCommand\";\nimport { ETHEREUM_PLUGINS } from \"./constant/plugins\";\nimport { EthAppBinder } from \"./EthAppBinder\";\n\ndescribe(\"EthAppBinder\", () => {\n const mockedDmk: DeviceManagementKit = {\n sendCommand: vi.fn(),\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n const mockedContextModule: ContextModule = {\n getContext: vi.fn(),\n getContexts: vi.fn(),\n getTypedDataFilters: vi.fn(),\n getWeb3Checks: vi.fn(),\n };\n const mockedMapper: TransactionMapperService = {\n mapTransactionToSubset: vi.fn(),\n } as unknown as TransactionMapperService;\n const mockedParser: TransactionParserService = {\n extractValue: vi.fn(),\n } as unknown as TransactionParserService;\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"getAddress\", () => {\n it(\"should return the address, publicKey, and chainCode\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const address = \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\";\n const publicKey = \"04e3785ca\";\n const chainCode = undefined;\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: { address, publicKey, chainCode },\n } as DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.getAddress({\n derivationPath: \"44'/60'/3'/2/1\",\n });\n\n // THEN\n const states: DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: { address, publicKey, chainCode },\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls of executeDeviceAction with the correct params\", () => {\n const baseParams = {\n derivationPath: \"44'/60'/3'/2/1\",\n returnChainCode: false,\n };\n\n test(\"when checkOnDevice is true: UserInteractionRequired.VerifyAddress\", () => {\n // GIVEN\n const checkOnDevice = true;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n appBinder.getAddress(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(params),\n appName: \"Ethereum\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n compatibleAppNames: ETHEREUM_PLUGINS,\n },\n }),\n });\n });\n\n test(\"when checkOnDevice is false: UserInteractionRequired.None\", () => {\n // GIVEN\n const checkOnDevice = false;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n appBinder.getAddress(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(params),\n appName: \"Ethereum\",\n requiredUserInteraction: UserInteractionRequired.None,\n compatibleAppNames: ETHEREUM_PLUGINS,\n },\n }),\n });\n });\n });\n });\n\n describe(\"signTransaction\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const transaction: Uint8Array = hexaStringToBuffer(\n Transaction.from({\n to: \"0x1234567890123456789012345678901234567890\",\n value: 0n,\n }).unsignedSerialized,\n )!;\n const options = {};\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTransaction({\n derivationPath: \"44'/60'/3'/2/1\",\n transaction,\n options,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n it(\"should return the signature without options\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const transaction: Uint8Array = hexaStringToBuffer(\n Transaction.from({\n to: \"0x1234567890123456789012345678901234567890\",\n value: 0n,\n }).unsignedSerialized,\n )!;\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTransaction({\n derivationPath: \"44'/60'/3'/2/1\",\n transaction,\n options: undefined,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n\n describe(\"signMessage\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const message = \"Hello, World!\";\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signPersonalMessage({\n derivationPath: \"44'/60'/3'/2/1\",\n message,\n });\n\n // THEN\n const states: DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n\n describe(\"signTypedData\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const typedData: TypedData = {\n domain: {},\n types: {},\n primaryType: \"test\",\n message: {},\n };\n const parser: TypedDataParserService = {\n parse: vi.fn(),\n };\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTypedData({\n derivationPath: \"44'/60'/3'/2/1\",\n parser,\n data: typedData,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n});\n"],
5
+ "mappings": "AACA,OAGE,sBAAAA,MACK,kCACP,OAAS,sBAAAC,MAA0B,kCACnC,OAAS,gCAAAC,MAAoC,kCAC7C,OAAS,2BAAAC,MAA+B,kCACxC,OAAS,eAAAC,MAAmB,SAC5B,OAAS,QAAAC,MAAY,OA4BrB,OAAS,qBAAAC,MAAyB,8BAClC,OAAS,oBAAAC,MAAwB,qBACjC,OAAS,gBAAAC,MAAoB,iBAE7B,SAAS,eAAgB,IAAM,CAC7B,MAAMC,EAAiC,CACrC,YAAa,GAAG,GAAG,EACnB,oBAAqB,GAAG,GAAG,CAC7B,EACMC,EAAqC,CACzC,WAAY,GAAG,GAAG,EAClB,YAAa,GAAG,GAAG,EACnB,oBAAqB,GAAG,GAAG,EAC3B,cAAe,GAAG,GAAG,CACvB,EACMC,EAAyC,CAC7C,uBAAwB,GAAG,GAAG,CAChC,EACMC,EAAyC,CAC7C,aAAc,GAAG,GAAG,CACtB,EAEA,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,aAAc,IAAM,CAC3B,GAAG,sDAAuD,IACxD,IAAI,QAAc,CAACC,EAASC,IAAW,CAErC,MAAMC,EAAU,6CACVC,EAAY,YAGlB,GAAG,MAAMP,EAAW,qBAAqB,EAAE,gBAAgB,CACzD,WAAYJ,EAAK,CACf,CACE,OAAQJ,EAAmB,UAC3B,OAAQ,CAAE,QAAAc,EAAS,UAAAC,EAAW,gBAAU,CAC1C,CAKF,CAAC,EACD,OAAQ,GAAG,GAAG,CAChB,CAAC,EAGD,MAAMC,EAAY,IAAIT,EACpBC,EACAC,EACAC,EACAC,EACA,WACF,EACM,CAAE,WAAAM,CAAW,EAAID,EAAU,WAAW,CAC1C,eAAgB,gBAClB,CAAC,EAGKE,EAIA,CAAC,EACPD,EAAW,UAAU,CACnB,KAAOE,GAAU,CACfD,EAAO,KAAKC,CAAK,CACnB,EACA,MAAQC,GAAQ,CACdP,EAAOO,CAAG,CACZ,EACA,SAAU,IAAM,CACd,GAAI,CACF,OAAOF,CAAM,EAAE,QAAQ,CACrB,CACE,OAAQlB,EAAmB,UAC3B,OAAQ,CAAE,QAAAc,EAAS,UAAAC,EAAW,gBAAU,CAC1C,CACF,CAAC,EACDH,EAAQ,CACV,OAASQ,EAAK,CACZP,EAAOO,CAAY,CACrB,CACF,CACF,CAAC,CACH,CAAC,CAAC,EAEJ,SAAS,uDAAwD,IAAM,CACrE,MAAMC,EAAa,CACjB,eAAgB,iBAChB,gBAAiB,EACnB,EAEA,KAAK,oEAAqE,IAAM,CAG9E,MAAMC,EAAS,CACb,GAAGD,EACH,gBACF,EAGkB,IAAId,EACpBC,EACAC,EACAC,EACAC,EACA,WACF,EACU,WAAWW,CAAM,EAG3B,OAAOd,EAAU,mBAAmB,EAAE,qBAAqB,CACzD,UAAW,YACX,aAAc,IAAIP,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAII,EAAkBiB,CAAM,EACrC,QAAS,WACT,wBAAyBpB,EAAwB,cACjD,mBAAoBI,CACtB,CACF,CAAC,CACH,CAAC,CACH,CAAC,EAED,KAAK,4DAA6D,IAAM,CAGtE,MAAMgB,EAAS,CACb,GAAGD,EACH,gBACF,EAGkB,IAAId,EACpBC,EACAC,EACAC,EACAC,EACA,WACF,EACU,WAAWW,CAAM,EAG3B,OAAOd,EAAU,mBAAmB,EAAE,qBAAqB,CACzD,UAAW,YACX,aAAc,IAAIP,EAA6B,CAC7C,MAAO,CACL,QAAS,IAAII,EAAkBiB,CAAM,EACrC,QAAS,WACT,wBAAyBpB,EAAwB,KACjD,mBAAoBI,CACtB,CACF,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,kBAAmB,IAAM,CAChC,GAAG,8BAA+B,IAChC,IAAI,QAAc,CAACM,EAASC,IAAW,CAErC,MAAMU,EAAuB,CAC3B,EAAG,SACH,EAAG,SACH,EAAG,CACL,EACMC,EAA0BzB,EAC9BI,EAAY,KAAK,CACf,GAAI,6CACJ,MAAO,EACT,CAAC,EAAE,kBACL,EACMsB,EAAU,CAAC,EAEjB,GAAG,MAAMjB,EAAW,qBAAqB,EAAE,gBAAgB,CACzD,WAAYJ,EAAK,CACf,CACE,OAAQJ,EAAmB,UAC3B,OAAQuB,CACV,CAKF,CAAC,EACD,OAAQ,GAAG,GAAG,CAChB,CAAC,EAGD,MAAMP,EAAY,IAAIT,EACpBC,EACAC,EACAC,EACAC,EACA,WACF,EACM,CAAE,WAAAM,CAAW,EAAID,EAAU,gBAAgB,CAC/C,eAAgB,iBAChB,YAAAQ,EACA,QAAAC,CACF,CAAC,EAGKP,EAIA,CAAC,EACPD,EAAW,UAAU,CACnB,KAAOE,GAAU,CACfD,EAAO,KAAKC,CAAK,CACnB,EACA,MAAQC,GAAQ,CACdP,EAAOO,CAAG,CACZ,EACA,SAAU,IAAM,CACd,GAAI,CACF,OAAOF,CAAM,EAAE,QAAQ,CACrB,CACE,OAAQlB,EAAmB,UAC3B,OAAQuB,CACV,CACF,CAAC,EACDX,EAAQ,CACV,OAASQ,EAAK,CACZP,EAAOO,CAAY,CACrB,CACF,CACF,CAAC,CACH,CAAC,CAAC,EAEJ,GAAG,8CAA+C,IAChD,IAAI,QAAc,CAACR,EAASC,IAAW,CAErC,MAAMU,EAAuB,CAC3B,EAAG,SACH,EAAG,SACH,EAAG,CACL,EACMC,EAA0BzB,EAC9BI,EAAY,KAAK,CACf,GAAI,6CACJ,MAAO,EACT,CAAC,EAAE,kBACL,EAEA,GAAG,MAAMK,EAAW,qBAAqB,EAAE,gBAAgB,CACzD,WAAYJ,EAAK,CACf,CACE,OAAQJ,EAAmB,UAC3B,OAAQuB,CACV,CAKF,CAAC,EACD,OAAQ,GAAG,GAAG,CAChB,CAAC,EAGD,MAAMP,EAAY,IAAIT,EACpBC,EACAC,EACAC,EACAC,EACA,WACF,EACM,CAAE,WAAAM,CAAW,EAAID,EAAU,gBAAgB,CAC/C,eAAgB,iBAChB,YAAAQ,EACA,QAAS,MACX,CAAC,EAGKN,EAIA,CAAC,EACPD,EAAW,UAAU,CACnB,KAAOE,GAAU,CACfD,EAAO,KAAKC,CAAK,CACnB,EACA,MAAQC,GAAQ,CACdP,EAAOO,CAAG,CACZ,EACA,SAAU,IAAM,CACd,GAAI,CACF,OAAOF,CAAM,EAAE,QAAQ,CACrB,CACE,OAAQlB,EAAmB,UAC3B,OAAQuB,CACV,CACF,CAAC,EACDX,EAAQ,CACV,OAASQ,EAAK,CACZP,EAAOO,CAAY,CACrB,CACF,CACF,CAAC,CACH,CAAC,CAAC,CACN,CAAC,EAED,SAAS,cAAe,IAAM,CAC5B,GAAG,8BAA+B,IAChC,IAAI,QAAc,CAACR,EAASC,IAAW,CAErC,MAAMU,EAAuB,CAC3B,EAAG,SACH,EAAG,SACH,EAAG,CACL,EACMG,EAAU,gBAEhB,GAAG,MAAMlB,EAAW,qBAAqB,EAAE,gBAAgB,CACzD,WAAYJ,EAAK,CACf,CACE,OAAQJ,EAAmB,UAC3B,OAAQuB,CACV,CAKF,CAAC,EACD,OAAQ,GAAG,GAAG,CAChB,CAAC,EAGD,MAAMP,EAAY,IAAIT,EACpBC,EACAC,EACAC,EACAC,EACA,WACF,EACM,CAAE,WAAAM,CAAW,EAAID,EAAU,oBAAoB,CACnD,eAAgB,iBAChB,QAAAU,CACF,CAAC,EAGKR,EAIA,CAAC,EACPD,EAAW,UAAU,CACnB,KAAOE,GAAU,CACfD,EAAO,KAAKC,CAAK,CACnB,EACA,MAAQC,GAAQ,CACdP,EAAOO,CAAG,CACZ,EACA,SAAU,IAAM,CACd,GAAI,CACF,OAAOF,CAAM,EAAE,QAAQ,CACrB,CACE,OAAQlB,EAAmB,UAC3B,OAAQuB,CACV,CACF,CAAC,EACDX,EAAQ,CACV,OAASQ,EAAK,CACZP,EAAOO,CAAY,CACrB,CACF,CACF,CAAC,CACH,CAAC,CAAC,CACN,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,8BAA+B,IAChC,IAAI,QAAc,CAACR,EAASC,IAAW,CAErC,MAAMU,EAAuB,CAC3B,EAAG,SACH,EAAG,SACH,EAAG,CACL,EACMI,EAAuB,CAC3B,OAAQ,CAAC,EACT,MAAO,CAAC,EACR,YAAa,OACb,QAAS,CAAC,CACZ,EACMC,EAAiC,CACrC,MAAO,GAAG,GAAG,CACf,EAEA,GAAG,MAAMpB,EAAW,qBAAqB,EAAE,gBAAgB,CACzD,WAAYJ,EAAK,CACf,CACE,OAAQJ,EAAmB,UAC3B,OAAQuB,CACV,CAKF,CAAC,EACD,OAAQ,GAAG,GAAG,CAChB,CAAC,EAGD,MAAMP,EAAY,IAAIT,EACpBC,EACAC,EACAC,EACAC,EACA,WACF,EACM,CAAE,WAAAM,CAAW,EAAID,EAAU,cAAc,CAC7C,eAAgB,iBAChB,OAAAY,EACA,KAAMD,CACR,CAAC,EAGKT,EAIA,CAAC,EACPD,EAAW,UAAU,CACnB,KAAOE,GAAU,CACfD,EAAO,KAAKC,CAAK,CACnB,EACA,MAAQC,GAAQ,CACdP,EAAOO,CAAG,CACZ,EACA,SAAU,IAAM,CACd,GAAI,CACF,OAAOF,CAAM,EAAE,QAAQ,CACrB,CACE,OAAQlB,EAAmB,UAC3B,OAAQuB,CACV,CACF,CAAC,EACDX,EAAQ,CACV,OAASQ,EAAK,CACZP,EAAOO,CAAY,CACrB,CACF,CACF,CAAC,CACH,CAAC,CAAC,CACN,CAAC,CACH,CAAC",
6
+ "names": ["hexaStringToBuffer", "DeviceActionStatus", "SendCommandInAppDeviceAction", "UserInteractionRequired", "Transaction", "from", "GetAddressCommand", "ETHEREUM_PLUGINS", "EthAppBinder", "mockedDmk", "mockedContextModule", "mockedMapper", "mockedParser", "resolve", "reject", "address", "publicKey", "appBinder", "observable", "states", "state", "err", "baseParams", "params", "signature", "transaction", "options", "message", "typedData", "parser"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ApduBuilder as u,ApduParser as l,CommandResultFactory as t,CommandUtils as c,GlobalCommandErrorHandler as g,InvalidStatusWordError as s,isHexaString as p}from"@ledgerhq/device-management-kit";import{DerivationPathUtils as h}from"@ledgerhq/signer-utils";const m=32;class y{args;constructor(r){this.args=r}getApdu(){const r={cla:224,ins:2,p1:this.args.checkOnDevice?1:0,p2:this.args.returnChainCode?1:0},e=new u(r),n=this.args.derivationPath,a=h.splitPath(n);return e.add8BitUIntToData(a.length),a.forEach(d=>{e.add32BitUIntToData(d)}),e.add32BitUIntToData(0),e.add32BitUIntToData(1),e.build()}parseResponse(r){const e=new l(r);if(!c.isSuccessResponse(r))return t({error:g.handle(r)});const n=e.extract8BitUInt();if(n===void 0)return t({error:new s("Public key length is missing")});if(e.testMinimalLength(n)===!1)return t({error:new s("Public key is missing")});const a=e.encodeToHexaString(e.extractFieldByLength(n)),d=e.extract8BitUInt();if(d===void 0)return t({error:new s("Ethereum address length is missing")});if(e.testMinimalLength(d)===!1)return t({error:new s("Ethereum address is missing")});const i=`0x${e.encodeToString(e.extractFieldByLength(d))}`;if(p(i)===!1)return t({error:new s("Invalid Ethereum address")});let o;if(this.args.returnChainCode){if(e.testMinimalLength(m)===!1)return t({error:new s("Invalid Chaincode")});o=e.encodeToHexaString(e.extractFieldByLength(m))}return t({data:{publicKey:a,address:i,chainCode:o}})}}export{y as GetAddressCommand};
1
+ import{ApduBuilder as l,ApduParser as p,CommandResultFactory as r,InvalidStatusWordError as s,isHexaString as u}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as h,DerivationPathUtils as c}from"@ledgerhq/signer-utils";import{Maybe as g}from"purify-ts";import{ETH_APP_ERRORS as A,EthAppCommandErrorFactory as C}from"./utils/ethAppErrors";const m=32;class G{args;errorHelper=new h(A,C);constructor(t){this.args=t}getApdu(){const t={cla:224,ins:2,p1:this.args.checkOnDevice?1:0,p2:this.args.returnChainCode?1:0},e=new l(t),n=this.args.derivationPath,o=c.splitPath(n);return e.add8BitUIntToData(o.length),o.forEach(d=>{e.add32BitUIntToData(d)}),e.add32BitUIntToData(0),e.add32BitUIntToData(1),e.build()}parseResponse(t){return g.fromNullable(this.errorHelper.getError(t)).orDefaultLazy(()=>{const e=new p(t),n=e.extract8BitUInt();if(n===void 0)return r({error:new s("Public key length is missing")});if(e.testMinimalLength(n)===!1)return r({error:new s("Public key is missing")});const o=e.encodeToHexaString(e.extractFieldByLength(n)),d=e.extract8BitUInt();if(d===void 0)return r({error:new s("Ethereum address length is missing")});if(e.testMinimalLength(d)===!1)return r({error:new s("Ethereum address is missing")});const a=`0x${e.encodeToString(e.extractFieldByLength(d))}`;if(u(a)===!1)return r({error:new s("Invalid Ethereum address")});let i;if(this.args.returnChainCode){if(e.testMinimalLength(m)===!1)return r({error:new s("Invalid Chaincode")});i=e.encodeToHexaString(e.extractFieldByLength(m))}return r({data:{publicKey:o,address:a,chainCode:i}})})}}export{G as GetAddressCommand};
2
2
  //# sourceMappingURL=GetAddressCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/GetAddressCommand.ts"],
4
- "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n CommandUtils,\n GlobalCommandErrorHandler,\n InvalidStatusWordError,\n isHexaString,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\n\nimport {\n type GetAddressCommandArgs,\n type GetAddressCommandResponse,\n} from \"@api/app-binder/GetAddressCommandTypes\";\n\nconst CHAIN_CODE_LENGTH = 32;\n\nexport class GetAddressCommand\n implements Command<GetAddressCommandResponse, GetAddressCommandArgs>\n{\n args: GetAddressCommandArgs;\n\n constructor(args: GetAddressCommandArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const getEthAddressArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x02,\n p1: this.args.checkOnDevice ? 0x01 : 0x00,\n p2: this.args.returnChainCode ? 0x01 : 0x00,\n };\n const builder = new ApduBuilder(getEthAddressArgs);\n const derivationPath = this.args.derivationPath;\n\n const path = DerivationPathUtils.splitPath(derivationPath);\n builder.add8BitUIntToData(path.length);\n path.forEach((element) => {\n builder.add32BitUIntToData(element);\n });\n\n // TODO: replace by 64\n builder.add32BitUIntToData(0);\n builder.add32BitUIntToData(1);\n\n return builder.build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetAddressCommandResponse> {\n const parser = new ApduParser(response);\n\n // TODO: handle the error correctly using a generic error handler\n if (!CommandUtils.isSuccessResponse(response)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(response),\n });\n }\n\n const publicKeyLength = parser.extract8BitUInt();\n if (publicKeyLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key length is missing\"),\n });\n }\n\n if (parser.testMinimalLength(publicKeyLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key is missing\"),\n });\n }\n\n const publicKey = parser.encodeToHexaString(\n parser.extractFieldByLength(publicKeyLength),\n );\n\n const addressLength = parser.extract8BitUInt();\n if (addressLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Ethereum address length is missing\"),\n });\n }\n\n if (parser.testMinimalLength(addressLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Ethereum address is missing\"),\n });\n }\n\n const result = parser.encodeToString(\n parser.extractFieldByLength(addressLength),\n );\n\n const address = `0x${result}`;\n\n if (isHexaString(address) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Ethereum address\"),\n });\n }\n\n let chainCode = undefined;\n if (this.args.returnChainCode) {\n if (parser.testMinimalLength(CHAIN_CODE_LENGTH) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Chaincode\"),\n });\n }\n\n chainCode = parser.encodeToHexaString(\n parser.extractFieldByLength(CHAIN_CODE_LENGTH),\n );\n }\n\n return CommandResultFactory({\n data: {\n publicKey,\n address,\n chainCode,\n },\n });\n }\n}\n"],
5
- "mappings": "AAAA,OAEE,eAAAA,EAEA,cAAAC,EAIA,wBAAAC,EACA,gBAAAC,EACA,6BAAAC,EACA,0BAAAC,EACA,gBAAAC,MACK,kCACP,OAAS,uBAAAC,MAA2B,yBAOpC,MAAMC,EAAoB,GAEnB,MAAMC,CAEb,CACE,KAEA,YAAYC,EAA6B,CACvC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAqC,CACzC,IAAK,IACL,IAAK,EACL,GAAI,KAAK,KAAK,cAAgB,EAAO,EACrC,GAAI,KAAK,KAAK,gBAAkB,EAAO,CACzC,EACMC,EAAU,IAAIZ,EAAYW,CAAiB,EAC3CE,EAAiB,KAAK,KAAK,eAE3BC,EAAOP,EAAoB,UAAUM,CAAc,EACzD,OAAAD,EAAQ,kBAAkBE,EAAK,MAAM,EACrCA,EAAK,QAASC,GAAY,CACxBH,EAAQ,mBAAmBG,CAAO,CACpC,CAAC,EAGDH,EAAQ,mBAAmB,CAAC,EAC5BA,EAAQ,mBAAmB,CAAC,EAErBA,EAAQ,MAAM,CACvB,CAEA,cACEI,EAC0C,CAC1C,MAAMC,EAAS,IAAIhB,EAAWe,CAAQ,EAGtC,GAAI,CAACb,EAAa,kBAAkBa,CAAQ,EAC1C,OAAOd,EAAqB,CAC1B,MAAOE,EAA0B,OAAOY,CAAQ,CAClD,CAAC,EAGH,MAAME,EAAkBD,EAAO,gBAAgB,EAC/C,GAAIC,IAAoB,OACtB,OAAOhB,EAAqB,CAC1B,MAAO,IAAIG,EAAuB,8BAA8B,CAClE,CAAC,EAGH,GAAIY,EAAO,kBAAkBC,CAAe,IAAM,GAChD,OAAOhB,EAAqB,CAC1B,MAAO,IAAIG,EAAuB,uBAAuB,CAC3D,CAAC,EAGH,MAAMc,EAAYF,EAAO,mBACvBA,EAAO,qBAAqBC,CAAe,CAC7C,EAEME,EAAgBH,EAAO,gBAAgB,EAC7C,GAAIG,IAAkB,OACpB,OAAOlB,EAAqB,CAC1B,MAAO,IAAIG,EAAuB,oCAAoC,CACxE,CAAC,EAGH,GAAIY,EAAO,kBAAkBG,CAAa,IAAM,GAC9C,OAAOlB,EAAqB,CAC1B,MAAO,IAAIG,EAAuB,6BAA6B,CACjE,CAAC,EAOH,MAAMgB,EAAU,KAJDJ,EAAO,eACpBA,EAAO,qBAAqBG,CAAa,CAC3C,CAE2B,GAE3B,GAAId,EAAae,CAAO,IAAM,GAC5B,OAAOnB,EAAqB,CAC1B,MAAO,IAAIG,EAAuB,0BAA0B,CAC9D,CAAC,EAGH,IAAIiB,EACJ,GAAI,KAAK,KAAK,gBAAiB,CAC7B,GAAIL,EAAO,kBAAkBT,CAAiB,IAAM,GAClD,OAAON,EAAqB,CAC1B,MAAO,IAAIG,EAAuB,mBAAmB,CACvD,CAAC,EAGHiB,EAAYL,EAAO,mBACjBA,EAAO,qBAAqBT,CAAiB,CAC/C,CACF,CAEA,OAAON,EAAqB,CAC1B,KAAM,CACJ,UAAAiB,EACA,QAAAE,EACA,UAAAC,CACF,CACF,CAAC,CACH,CACF",
6
- "names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "CommandUtils", "GlobalCommandErrorHandler", "InvalidStatusWordError", "isHexaString", "DerivationPathUtils", "CHAIN_CODE_LENGTH", "GetAddressCommand", "args", "getEthAddressArgs", "builder", "derivationPath", "path", "element", "response", "parser", "publicKeyLength", "publicKey", "addressLength", "address", "chainCode"]
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n isHexaString,\n} from \"@ledgerhq/device-management-kit\";\nimport {\n CommandErrorHelper,\n DerivationPathUtils,\n} from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type GetAddressCommandArgs,\n type GetAddressCommandResponse,\n} from \"@api/app-binder/GetAddressCommandTypes\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nconst CHAIN_CODE_LENGTH = 32;\n\nexport class GetAddressCommand\n implements\n Command<GetAddressCommandResponse, GetAddressCommandArgs, EthErrorCodes>\n{\n private readonly args: GetAddressCommandArgs;\n private readonly errorHelper = new CommandErrorHelper<\n GetAddressCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor(args: GetAddressCommandArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const getEthAddressArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x02,\n p1: this.args.checkOnDevice ? 0x01 : 0x00,\n p2: this.args.returnChainCode ? 0x01 : 0x00,\n };\n const builder = new ApduBuilder(getEthAddressArgs);\n const derivationPath = this.args.derivationPath;\n\n const path = DerivationPathUtils.splitPath(derivationPath);\n builder.add8BitUIntToData(path.length);\n path.forEach((element) => {\n builder.add32BitUIntToData(element);\n });\n\n // TODO: replace by 64\n builder.add32BitUIntToData(0);\n builder.add32BitUIntToData(1);\n\n return builder.build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetAddressCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n const publicKeyLength = parser.extract8BitUInt();\n if (publicKeyLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key length is missing\"),\n });\n }\n\n if (parser.testMinimalLength(publicKeyLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key is missing\"),\n });\n }\n\n const publicKey = parser.encodeToHexaString(\n parser.extractFieldByLength(publicKeyLength),\n );\n\n const addressLength = parser.extract8BitUInt();\n if (addressLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Ethereum address length is missing\",\n ),\n });\n }\n\n if (parser.testMinimalLength(addressLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Ethereum address is missing\"),\n });\n }\n\n const result = parser.encodeToString(\n parser.extractFieldByLength(addressLength),\n );\n\n const address = `0x${result}`;\n\n if (isHexaString(address) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Ethereum address\"),\n });\n }\n\n let chainCode = undefined;\n if (this.args.returnChainCode) {\n if (parser.testMinimalLength(CHAIN_CODE_LENGTH) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Chaincode\"),\n });\n }\n\n chainCode = parser.encodeToHexaString(\n parser.extractFieldByLength(CHAIN_CODE_LENGTH),\n );\n }\n\n return CommandResultFactory({\n data: {\n publicKey,\n address,\n chainCode,\n },\n });\n });\n }\n}\n"],
5
+ "mappings": "AAAA,OAEE,eAAAA,EAEA,cAAAC,EAIA,wBAAAC,EACA,0BAAAC,EACA,gBAAAC,MACK,kCACP,OACE,sBAAAC,EACA,uBAAAC,MACK,yBACP,OAAS,SAAAC,MAAa,YAOtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAEP,MAAMC,EAAoB,GAEnB,MAAMC,CAGb,CACmB,KACA,YAAc,IAAIN,EAGjCG,EAAgBC,CAAyB,EAE3C,YAAYG,EAA6B,CACvC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAqC,CACzC,IAAK,IACL,IAAK,EACL,GAAI,KAAK,KAAK,cAAgB,EAAO,EACrC,GAAI,KAAK,KAAK,gBAAkB,EAAO,CACzC,EACMC,EAAU,IAAId,EAAYa,CAAiB,EAC3CE,EAAiB,KAAK,KAAK,eAE3BC,EAAOV,EAAoB,UAAUS,CAAc,EACzD,OAAAD,EAAQ,kBAAkBE,EAAK,MAAM,EACrCA,EAAK,QAASC,GAAY,CACxBH,EAAQ,mBAAmBG,CAAO,CACpC,CAAC,EAGDH,EAAQ,mBAAmB,CAAC,EAC5BA,EAAQ,mBAAmB,CAAC,EAErBA,EAAQ,MAAM,CACvB,CAEA,cACEI,EACyD,CACzD,OAAOX,EAAM,aACX,KAAK,YAAY,SAASW,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAIlB,EAAWiB,CAAQ,EAEhCE,EAAkBD,EAAO,gBAAgB,EAC/C,GAAIC,IAAoB,OACtB,OAAOlB,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,8BAA8B,CAClE,CAAC,EAGH,GAAIgB,EAAO,kBAAkBC,CAAe,IAAM,GAChD,OAAOlB,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,uBAAuB,CAC3D,CAAC,EAGH,MAAMkB,EAAYF,EAAO,mBACvBA,EAAO,qBAAqBC,CAAe,CAC7C,EAEME,EAAgBH,EAAO,gBAAgB,EAC7C,GAAIG,IAAkB,OACpB,OAAOpB,EAAqB,CAC1B,MAAO,IAAIC,EACT,oCACF,CACF,CAAC,EAGH,GAAIgB,EAAO,kBAAkBG,CAAa,IAAM,GAC9C,OAAOpB,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,6BAA6B,CACjE,CAAC,EAOH,MAAMoB,EAAU,KAJDJ,EAAO,eACpBA,EAAO,qBAAqBG,CAAa,CAC3C,CAE2B,GAE3B,GAAIlB,EAAamB,CAAO,IAAM,GAC5B,OAAOrB,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,0BAA0B,CAC9D,CAAC,EAGH,IAAIqB,EACJ,GAAI,KAAK,KAAK,gBAAiB,CAC7B,GAAIL,EAAO,kBAAkBT,CAAiB,IAAM,GAClD,OAAOR,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,mBAAmB,CACvD,CAAC,EAGHqB,EAAYL,EAAO,mBACjBA,EAAO,qBAAqBT,CAAiB,CAC/C,CACF,CAEA,OAAOR,EAAqB,CAC1B,KAAM,CACJ,UAAAmB,EACA,QAAAE,EACA,UAAAC,CACF,CACF,CAAC,CACH,CAAC,CACH,CACF",
6
+ "names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "InvalidStatusWordError", "isHexaString", "CommandErrorHelper", "DerivationPathUtils", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "CHAIN_CODE_LENGTH", "GetAddressCommand", "args", "getEthAddressArgs", "builder", "derivationPath", "path", "element", "response", "parser", "publicKeyLength", "publicKey", "addressLength", "address", "chainCode"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ApduResponse as i,CommandResultFactory as o,InvalidStatusWordError as s,isSuccessCommandResult as t}from"@ledgerhq/device-management-kit";import{GetAddressCommand as d}from"./GetAddressCommand";const p=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),f=Uint8Array.from([224,2,1,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),l=Uint8Array.from([224,2,0,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),A=Uint8Array.from([224,2,1,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),b=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,1]),E=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51]),h=new i({statusCode:Uint8Array.from([144,0]),data:E}),u=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51,66,62,101,31,43,22,180,24,109,94,172,22,124,196,154,173,228,169,126,179,177,55,222,54,51,71,153,104,77,12,113,74]),c=new i({statusCode:Uint8Array.from([144,0]),data:u});describe("GetAddressCommand",()=>{let r;const a={derivationPath:"44'/60'/0'/0/0",checkOnDevice:!1,returnChainCode:!1};beforeEach(()=>{r=new d(a)}),describe("getApdu",()=>{it("should return the GetAddress apdu with default args",()=>{const x=r.getApdu();expect(x.getRawApdu()).toStrictEqual(p)}),it("should return the GetAddress apdu with checkOnDevice set to true",()=>{r=new d({...a,checkOnDevice:!0});const x=r.getApdu();expect(x.getRawApdu()).toStrictEqual(f)}),it("should return the GetAddress apdu with returnChainCode set to true",()=>{r=new d({...a,returnChainCode:!0});const x=r.getApdu();expect(x.getRawApdu()).toStrictEqual(l)}),it("should return the GetAddress apdu with checkOnDevice and returnChainCode set to true",()=>{r=new d({...a,checkOnDevice:!0,returnChainCode:!0});const x=r.getApdu();expect(x.getRawApdu()).toStrictEqual(A)}),it("should return the GetAddress apdu with a custom derivation path",()=>{const x="44'/60'/3'/2/1";r=new d({...a,derivationPath:x});const e=r.getApdu();expect(e.getRawApdu()).toStrictEqual(b)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const x=r.parseResponse(h);expect(x).toStrictEqual(o({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),it("should parse the response with chainCode",()=>{r.args.returnChainCode=!0;const x=r.parseResponse(c);expect(x).toStrictEqual(o({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a"}}))}),it("should not return chainCode if it is not requested",()=>{r.args.returnChainCode=!1;const x=r.parseResponse(c);expect(x).toStrictEqual(o({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),describe("should return an error",()=>{it("when the response is not successfull",()=>{const x=new i({statusCode:Uint8Array.from([109,0]),data:new Uint8Array(0)}),e=r.parseResponse(x);expect(t(e)).toBe(!1)}),it("when publicKeyLength is invalid",()=>{const x={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Public key length is missing")))}),it("when publicKey is invalid",()=>{const x={data:Uint8Array.from([1]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Public key is missing")))}),it("when addressLength is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2)]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Ethereum address length is missing")))}),it("when address is missing",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Ethereum address is missing")))}),it("when the address is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1,2]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Invalid Ethereum address")))}),it("when chainCode is invalid",()=>{const x={data:u.slice(0,-1),statusCode:Uint8Array.from([144,0])},n=new d({...a,returnChainCode:!0}).parseResponse(x);t(n)?fail("Expected an error"):(expect(n.error).toBeInstanceOf(s),expect(n.error.originalError).toEqual(new Error("Invalid Chaincode")))})})})});
1
+ import{ApduResponse as i,CommandResultFactory as o,InvalidStatusWordError as s,isSuccessCommandResult as t}from"@ledgerhq/device-management-kit";import{GetAddressCommand as d}from"./GetAddressCommand";const p=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),f=Uint8Array.from([224,2,1,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),l=Uint8Array.from([224,2,0,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),A=Uint8Array.from([224,2,1,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),b=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,1]),E=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51]),h=new i({statusCode:Uint8Array.from([144,0]),data:E}),u=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51,66,62,101,31,43,22,180,24,109,94,172,22,124,196,154,173,228,169,126,179,177,55,222,54,51,71,153,104,77,12,113,74]),c=new i({statusCode:Uint8Array.from([144,0]),data:u});describe("GetAddressCommand",()=>{let r;const a={derivationPath:"44'/60'/0'/0/0",checkOnDevice:!1,returnChainCode:!1};beforeEach(()=>{r=new d(a)}),describe("getApdu",()=>{it("should return the GetAddress apdu with default args",()=>{const x=r.getApdu();expect(x.getRawApdu()).toStrictEqual(p)}),it("should return the GetAddress apdu with checkOnDevice set to true",()=>{r=new d({...a,checkOnDevice:!0});const x=r.getApdu();expect(x.getRawApdu()).toStrictEqual(f)}),it("should return the GetAddress apdu with returnChainCode set to true",()=>{r=new d({...a,returnChainCode:!0});const x=r.getApdu();expect(x.getRawApdu()).toStrictEqual(l)}),it("should return the GetAddress apdu with checkOnDevice and returnChainCode set to true",()=>{r=new d({...a,checkOnDevice:!0,returnChainCode:!0});const x=r.getApdu();expect(x.getRawApdu()).toStrictEqual(A)}),it("should return the GetAddress apdu with a custom derivation path",()=>{const x="44'/60'/3'/2/1";r=new d({...a,derivationPath:x});const e=r.getApdu();expect(e.getRawApdu()).toStrictEqual(b)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const x=r.parseResponse(h);expect(x).toStrictEqual(o({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),it("should parse the response with chainCode",()=>{r.args.returnChainCode=!0;const x=r.parseResponse(c);expect(x).toStrictEqual(o({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a"}}))}),it("should not return chainCode if it is not requested",()=>{r.args.returnChainCode=!1;const x=r.parseResponse(c);expect(x).toStrictEqual(o({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),describe("should return an error",()=>{it("when the response is not successfull",()=>{const x=new i({statusCode:Uint8Array.from([109,0]),data:new Uint8Array(0)}),e=r.parseResponse(x);expect(t(e)).toBe(!1)}),it("when publicKeyLength is invalid",()=>{const x={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Public key length is missing")))}),it("when publicKey is invalid",()=>{const x={data:Uint8Array.from([1]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Public key is missing")))}),it("when addressLength is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2)]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Ethereum address length is missing")))}),it("when address is missing",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Ethereum address is missing")))}),it("when the address is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1,2]),statusCode:Uint8Array.from([144,0])},e=r.parseResponse(x);t(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(s),expect(e.error.originalError).toEqual(new Error("Invalid Ethereum address")))}),it("when chainCode is invalid",()=>{const x={data:u.slice(0,-1),statusCode:Uint8Array.from([144,0])},n=new d({...a,returnChainCode:!0}).parseResponse(x);t(n)?assert.fail("Expected an error"):(expect(n.error).toBeInstanceOf(s),expect(n.error.originalError).toEqual(new Error("Invalid Chaincode")))})})})});
2
2
  //# sourceMappingURL=GetAddressCommand.test.js.map