@ledgerhq/device-signer-kit-ethereum 1.1.0 → 1.2.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 (487) 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/SignPersonalMessageDeviceActionTypes.js +1 -1
  9. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js.map +1 -1
  10. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  11. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +1 -1
  12. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  13. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +1 -1
  14. package/lib/cjs/api/index.js +1 -1
  15. package/lib/cjs/api/index.js.map +2 -2
  16. package/lib/cjs/api/model/TransactionType.js +2 -0
  17. package/lib/cjs/api/model/TransactionType.js.map +7 -0
  18. package/lib/cjs/internal/DefaultSignerEth.js +1 -1
  19. package/lib/cjs/internal/DefaultSignerEth.js.map +2 -2
  20. package/lib/cjs/internal/DefaultSignerEth.test.js +1 -1
  21. package/lib/cjs/internal/DefaultSignerEth.test.js.map +2 -2
  22. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  23. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  24. package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
  25. package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
  26. package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
  27. package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +3 -3
  28. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js +1 -1
  29. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js.map +3 -3
  30. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  31. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  32. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js +1 -1
  33. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js.map +3 -3
  34. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
  35. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
  36. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js +1 -1
  37. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js.map +3 -3
  38. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
  39. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
  40. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
  41. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js.map +3 -3
  42. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
  43. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js.map +3 -3
  44. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
  45. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +3 -3
  46. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
  47. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
  48. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
  49. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +3 -3
  50. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
  51. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
  52. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
  53. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js.map +3 -3
  54. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  55. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  56. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
  57. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +3 -3
  58. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
  59. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +2 -2
  60. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
  61. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +3 -3
  62. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
  63. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js.map +3 -3
  64. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
  65. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
  66. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js +1 -1
  67. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js.map +3 -3
  68. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js +2 -2
  69. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
  70. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js +1 -1
  71. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js.map +3 -3
  72. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js +1 -1
  73. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
  74. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
  75. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js.map +3 -3
  76. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js +1 -1
  77. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js.map +3 -3
  78. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  79. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
  80. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js +1 -1
  81. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js.map +3 -3
  82. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  83. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
  84. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js +1 -1
  85. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js.map +3 -3
  86. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
  87. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
  88. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.js +2 -0
  89. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.js.map +7 -0
  90. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js +2 -0
  91. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js.map +7 -0
  92. package/lib/cjs/internal/app-binder/constant/plugins.js +2 -0
  93. package/lib/cjs/internal/app-binder/constant/plugins.js.map +7 -0
  94. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  95. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  96. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  97. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  98. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  99. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  100. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  101. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  102. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  103. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  104. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  105. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  106. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  107. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  108. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  109. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  110. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  111. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  112. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  113. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
  114. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
  115. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
  116. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  117. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  118. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  119. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +2 -2
  120. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
  121. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +2 -2
  122. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
  123. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +2 -2
  124. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +1 -1
  125. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +3 -3
  126. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +1 -1
  127. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +3 -3
  128. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +1 -1
  129. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +3 -3
  130. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +1 -1
  131. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +3 -3
  132. package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js +1 -1
  133. package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js.map +2 -2
  134. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js +1 -1
  135. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js.map +2 -2
  136. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
  137. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
  138. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  139. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +2 -2
  140. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  141. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +2 -2
  142. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js +1 -1
  143. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js.map +2 -2
  144. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
  145. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
  146. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  147. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  148. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  149. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  150. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  151. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  152. package/lib/cjs/internal/transaction/di/transactionModule.js +1 -1
  153. package/lib/cjs/internal/transaction/di/transactionModule.js.map +3 -3
  154. package/lib/cjs/internal/transaction/di/transactionModule.test.js +1 -1
  155. package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +2 -2
  156. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js +2 -0
  157. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +7 -0
  158. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +2 -0
  159. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +7 -0
  160. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +1 -1
  161. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +1 -1
  162. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
  163. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +2 -2
  164. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +1 -1
  165. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +2 -2
  166. package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js +1 -1
  167. package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js.map +1 -1
  168. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
  169. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  170. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  171. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  172. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js +1 -1
  173. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js.map +2 -2
  174. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
  175. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js.map +3 -3
  176. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  177. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  178. package/lib/cjs/package.json +12 -12
  179. package/lib/esm/api/SignerEthBuilder.test.js +1 -1
  180. package/lib/esm/api/SignerEthBuilder.test.js.map +1 -1
  181. package/lib/esm/api/index.js +1 -1
  182. package/lib/esm/api/index.js.map +2 -2
  183. package/lib/esm/api/model/TransactionType.js +2 -0
  184. package/lib/esm/api/model/TransactionType.js.map +7 -0
  185. package/lib/esm/internal/DefaultSignerEth.js.map +2 -2
  186. package/lib/esm/internal/DefaultSignerEth.test.js +1 -1
  187. package/lib/esm/internal/DefaultSignerEth.test.js.map +2 -2
  188. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  189. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  190. package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
  191. package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
  192. package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
  193. package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +3 -3
  194. package/lib/esm/internal/app-binder/command/GetAddressCommand.js +1 -1
  195. package/lib/esm/internal/app-binder/command/GetAddressCommand.js.map +3 -3
  196. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  197. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  198. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js +1 -1
  199. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js.map +3 -3
  200. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
  201. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
  202. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js +1 -1
  203. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js.map +3 -3
  204. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
  205. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
  206. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
  207. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js.map +3 -3
  208. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
  209. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js.map +3 -3
  210. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
  211. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +3 -3
  212. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
  213. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
  214. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
  215. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +3 -3
  216. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
  217. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
  218. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
  219. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js.map +3 -3
  220. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  221. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  222. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
  223. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +3 -3
  224. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
  225. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +2 -2
  226. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
  227. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +3 -3
  228. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
  229. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js.map +3 -3
  230. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
  231. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
  232. package/lib/esm/internal/app-binder/command/SetPluginCommand.js +1 -1
  233. package/lib/esm/internal/app-binder/command/SetPluginCommand.js.map +3 -3
  234. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js +1 -1
  235. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
  236. package/lib/esm/internal/app-binder/command/SignEIP712Command.js +1 -1
  237. package/lib/esm/internal/app-binder/command/SignEIP712Command.js.map +3 -3
  238. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js +1 -1
  239. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
  240. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
  241. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js.map +3 -3
  242. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js +1 -1
  243. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js.map +3 -3
  244. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  245. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
  246. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js +1 -1
  247. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js.map +3 -3
  248. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  249. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
  250. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js +1 -1
  251. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js.map +3 -3
  252. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
  253. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
  254. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.js +2 -0
  255. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.js.map +7 -0
  256. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js +2 -0
  257. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js.map +7 -0
  258. package/lib/esm/internal/app-binder/constant/plugins.js +2 -0
  259. package/lib/esm/internal/app-binder/constant/plugins.js.map +7 -0
  260. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  261. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  262. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  263. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  264. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  265. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  266. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  267. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  268. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  269. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  270. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  271. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  272. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  273. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  274. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  275. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  276. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  277. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  278. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  279. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
  280. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
  281. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
  282. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  283. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  284. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  285. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +2 -2
  286. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
  287. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +2 -2
  288. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
  289. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +2 -2
  290. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +1 -1
  291. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +3 -3
  292. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +1 -1
  293. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +3 -3
  294. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +1 -1
  295. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +3 -3
  296. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +1 -1
  297. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +3 -3
  298. package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js +1 -1
  299. package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js.map +2 -2
  300. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js +1 -1
  301. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js.map +2 -2
  302. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
  303. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
  304. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  305. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +2 -2
  306. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  307. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +2 -2
  308. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js +1 -1
  309. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js.map +2 -2
  310. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
  311. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
  312. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  313. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  314. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  315. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +2 -2
  316. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  317. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  318. package/lib/esm/internal/transaction/di/transactionModule.js +1 -1
  319. package/lib/esm/internal/transaction/di/transactionModule.js.map +3 -3
  320. package/lib/esm/internal/transaction/di/transactionModule.test.js +1 -1
  321. package/lib/esm/internal/transaction/di/transactionModule.test.js.map +2 -2
  322. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js +2 -0
  323. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +7 -0
  324. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +2 -0
  325. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +7 -0
  326. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
  327. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +2 -2
  328. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +1 -1
  329. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +2 -2
  330. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
  331. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +2 -2
  332. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  333. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +2 -2
  334. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js +1 -1
  335. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js.map +2 -2
  336. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
  337. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js.map +3 -3
  338. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  339. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  340. package/lib/esm/package.json +12 -12
  341. package/lib/types/api/SignerEth.d.ts +1 -2
  342. package/lib/types/api/SignerEth.d.ts.map +1 -1
  343. package/lib/types/api/app-binder/GetAddressDeviceActionTypes.d.ts +3 -2
  344. package/lib/types/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +1 -1
  345. package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +3 -11
  346. package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +1 -1
  347. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +4 -4
  348. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  349. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +3 -2
  350. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
  351. package/lib/types/api/index.d.ts +2 -2
  352. package/lib/types/api/index.d.ts.map +1 -1
  353. package/lib/types/api/model/{Transaction.d.ts → TransactionType.d.ts} +1 -4
  354. package/lib/types/api/model/TransactionType.d.ts.map +1 -0
  355. package/lib/types/internal/DefaultSignerEth.d.ts +1 -2
  356. package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
  357. package/lib/types/internal/app-binder/EthAppBinder.d.ts +1 -2
  358. package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
  359. package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts +5 -3
  360. package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts.map +1 -1
  361. package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts +4 -2
  362. package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts.map +1 -1
  363. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts +4 -2
  364. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts.map +1 -1
  365. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +4 -3
  366. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +1 -1
  367. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +4 -2
  368. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +1 -1
  369. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts +4 -2
  370. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts.map +1 -1
  371. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts +4 -2
  372. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts.map +1 -1
  373. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts +4 -2
  374. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts.map +1 -1
  375. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +4 -2
  376. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -1
  377. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +4 -2
  378. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +1 -1
  379. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +4 -2
  380. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +1 -1
  381. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts +5 -7
  382. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +1 -1
  383. package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts +5 -7
  384. package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts.map +1 -1
  385. package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts +5 -3
  386. package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts.map +1 -1
  387. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts +5 -3
  388. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +1 -1
  389. package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts +5 -3
  390. package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts.map +1 -1
  391. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts +4 -2
  392. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts.map +1 -1
  393. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts +4 -2
  394. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts.map +1 -1
  395. package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts +8 -0
  396. package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts.map +1 -0
  397. package/lib/types/internal/app-binder/command/utils/ethAppErrors.test.d.ts +2 -0
  398. package/lib/types/internal/app-binder/command/utils/ethAppErrors.test.d.ts.map +1 -0
  399. package/lib/types/internal/app-binder/constant/plugins.d.ts +2 -0
  400. package/lib/types/internal/app-binder/constant/plugins.d.ts.map +1 -0
  401. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +9 -9
  402. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
  403. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +11 -3
  404. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
  405. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  406. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  407. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  408. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  409. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  410. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
  411. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +3 -3
  412. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -1
  413. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +12 -5
  414. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
  415. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +3 -6
  416. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +1 -1
  417. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +54 -12
  418. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +1 -1
  419. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +6 -6
  420. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +1 -1
  421. package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts +3 -2
  422. package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts.map +1 -1
  423. package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.d.ts +2 -1
  424. package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +1 -1
  425. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +2 -1
  426. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -1
  427. package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.d.ts +2 -1
  428. package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.d.ts.map +1 -1
  429. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +3 -2
  430. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -1
  431. package/lib/types/internal/transaction/di/transactionModule.d.ts.map +1 -1
  432. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts +7 -0
  433. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts.map +1 -0
  434. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts +2 -0
  435. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts.map +1 -0
  436. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +1 -2
  437. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +1 -1
  438. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts +1 -2
  439. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -1
  440. package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts +1 -1
  441. package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts.map +1 -1
  442. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -1
  443. package/lib/types/internal/transaction/use-case/SignTransactionUseCase.d.ts +1 -2
  444. package/lib/types/internal/transaction/use-case/SignTransactionUseCase.d.ts.map +1 -1
  445. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  446. package/package.json +14 -14
  447. package/lib/cjs/api/model/Transaction.js +0 -2
  448. package/lib/cjs/api/model/Transaction.js.map +0 -7
  449. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
  450. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
  451. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
  452. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
  453. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js +0 -2
  454. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +0 -7
  455. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +0 -2
  456. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +0 -7
  457. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js +0 -2
  458. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +0 -7
  459. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +0 -2
  460. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js.map +0 -7
  461. package/lib/esm/api/model/Transaction.js +0 -2
  462. package/lib/esm/api/model/Transaction.js.map +0 -7
  463. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
  464. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
  465. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
  466. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
  467. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js +0 -2
  468. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +0 -7
  469. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +0 -2
  470. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +0 -7
  471. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js +0 -2
  472. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +0 -7
  473. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +0 -2
  474. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js.map +0 -7
  475. package/lib/types/api/model/Transaction.d.ts.map +0 -1
  476. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +0 -17
  477. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +0 -1
  478. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts +0 -2
  479. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts.map +0 -1
  480. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts +0 -10
  481. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts.map +0 -1
  482. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts +0 -2
  483. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts.map +0 -1
  484. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts +0 -9
  485. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts.map +0 -1
  486. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.test.d.ts +0 -2
  487. 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.2.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
- "@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",
38
+ "@ledgerhq/signer-utils": "1.0.3",
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
56
  "rxjs": "^7.8.1",
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
  }
@@ -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()},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 };\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": "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",
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