@ledgerhq/device-signer-kit-ethereum 0.0.0-signer-eth-20250122093657 → 0.0.0-transactionInspector-resolutionObj-20250916071327

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 (586) hide show
  1. package/README.md +80 -15
  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.js +1 -1
  5. package/lib/cjs/api/SignerEthBuilder.js.map +3 -3
  6. package/lib/cjs/api/SignerEthBuilder.test.js +1 -1
  7. package/lib/cjs/api/SignerEthBuilder.test.js.map +3 -3
  8. package/lib/cjs/api/app-binder/GetConfigCommandTypes.js +2 -0
  9. package/lib/cjs/api/app-binder/GetConfigCommandTypes.js.map +7 -0
  10. package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js +2 -0
  11. package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js.map +7 -0
  12. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js +1 -1
  13. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js.map +1 -1
  14. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  15. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +3 -3
  16. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  17. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +3 -3
  18. package/lib/cjs/api/index.js +1 -1
  19. package/lib/cjs/api/index.js.map +3 -3
  20. package/lib/cjs/api/model/AddressOptions.js +1 -1
  21. package/lib/cjs/api/model/AddressOptions.js.map +1 -1
  22. package/lib/cjs/api/model/ClearSigningType.js +2 -0
  23. package/lib/cjs/api/model/ClearSigningType.js.map +7 -0
  24. package/lib/cjs/api/model/MessageOptions.js +2 -0
  25. package/lib/cjs/api/model/MessageOptions.js.map +7 -0
  26. package/lib/cjs/api/model/TransactionOptions.js +1 -1
  27. package/lib/cjs/api/model/TransactionOptions.js.map +1 -1
  28. package/lib/cjs/api/model/TypedDataOptions.js +2 -0
  29. package/lib/cjs/api/model/TypedDataOptions.js.map +7 -0
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/internal/DefaultSignerEth.js +1 -1
  32. package/lib/cjs/internal/DefaultSignerEth.js.map +3 -3
  33. package/lib/cjs/internal/DefaultSignerEth.test.js +1 -1
  34. package/lib/cjs/internal/DefaultSignerEth.test.js.map +3 -3
  35. package/lib/cjs/internal/address/di/addressModule.js +1 -1
  36. package/lib/cjs/internal/address/di/addressModule.js.map +3 -3
  37. package/lib/cjs/internal/address/di/addressModule.test.js +1 -1
  38. package/lib/cjs/internal/address/di/addressModule.test.js.map +2 -2
  39. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js +1 -1
  40. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js.map +2 -2
  41. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  42. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  43. package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
  44. package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
  45. package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
  46. package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +3 -3
  47. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  48. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  49. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js +2 -0
  50. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js.map +7 -0
  51. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js +2 -0
  52. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +7 -0
  53. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  54. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  55. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  56. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  57. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  58. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  59. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  60. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  61. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js +2 -0
  62. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +7 -0
  63. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +2 -0
  64. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +7 -0
  65. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  66. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +2 -2
  67. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  68. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  69. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  70. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  71. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  72. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  73. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  74. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
  75. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  76. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +2 -2
  77. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js +2 -0
  78. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js.map +7 -0
  79. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js +2 -0
  80. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +7 -0
  81. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js +1 -1
  82. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js.map +2 -2
  83. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  84. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  85. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  86. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  87. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  88. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  89. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  90. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  91. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  92. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  93. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  94. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  95. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  96. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  97. package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
  98. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
  99. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  100. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  101. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  102. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  103. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.js +2 -0
  104. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.js.map +7 -0
  105. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.test.js +2 -0
  106. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.test.js.map +7 -0
  107. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  108. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
  109. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
  110. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
  111. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js +2 -0
  112. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js.map +7 -0
  113. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js +2 -0
  114. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js.map +7 -0
  115. package/lib/cjs/internal/app-binder/task/PreBuildContextTask.js +2 -0
  116. package/lib/cjs/internal/app-binder/task/PreBuildContextTask.js.map +7 -0
  117. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  118. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  119. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  120. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  121. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
  122. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
  123. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
  124. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +3 -3
  125. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
  126. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
  127. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  128. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  129. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  130. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  131. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  132. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  133. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  134. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  135. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
  136. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
  137. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  138. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  139. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  140. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  141. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
  142. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
  143. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
  144. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
  145. package/lib/cjs/internal/di.js +1 -1
  146. package/lib/cjs/internal/di.js.map +3 -3
  147. package/lib/cjs/internal/eip7702/di/eip7702Module.js +2 -0
  148. package/lib/cjs/internal/eip7702/di/eip7702Module.js.map +7 -0
  149. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js +2 -0
  150. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  151. package/lib/cjs/internal/eip7702/di/eip7702Types.js +2 -0
  152. package/lib/cjs/internal/eip7702/di/eip7702Types.js.map +7 -0
  153. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  154. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  155. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  156. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  157. package/lib/cjs/internal/message/di/messageModule.js +1 -1
  158. package/lib/cjs/internal/message/di/messageModule.js.map +3 -3
  159. package/lib/cjs/internal/message/di/messageModule.test.js +1 -1
  160. package/lib/cjs/internal/message/di/messageModule.test.js.map +2 -2
  161. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js +1 -1
  162. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js.map +3 -3
  163. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  164. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  165. package/lib/cjs/internal/shared/utils/ApplicationChecker.js +2 -0
  166. package/lib/cjs/internal/shared/utils/ApplicationChecker.js.map +7 -0
  167. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js +2 -0
  168. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js.map +7 -0
  169. package/lib/cjs/internal/transaction/di/transactionModule.js +1 -1
  170. package/lib/cjs/internal/transaction/di/transactionModule.js.map +3 -3
  171. package/lib/cjs/internal/transaction/di/transactionModule.test.js +1 -1
  172. package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +2 -2
  173. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  174. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  175. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  176. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  177. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
  178. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +3 -3
  179. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
  180. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  181. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  182. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  183. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
  184. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js.map +2 -2
  185. package/lib/cjs/internal/typed-data/di/typedDataModule.js +1 -1
  186. package/lib/cjs/internal/typed-data/di/typedDataModule.js.map +3 -3
  187. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js +1 -1
  188. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js.map +2 -2
  189. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
  190. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
  191. package/lib/cjs/internal/typed-data/service/TypedDataParser.js +1 -1
  192. package/lib/cjs/internal/typed-data/service/TypedDataParser.js.map +3 -3
  193. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js +1 -1
  194. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
  195. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
  196. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
  197. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  198. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  199. package/lib/cjs/package.json +17 -18
  200. package/lib/esm/api/SignerEthBuilder.js +1 -1
  201. package/lib/esm/api/SignerEthBuilder.js.map +3 -3
  202. package/lib/esm/api/SignerEthBuilder.test.js +1 -1
  203. package/lib/esm/api/SignerEthBuilder.test.js.map +3 -3
  204. package/lib/esm/api/app-binder/GetConfigCommandTypes.js +1 -0
  205. package/lib/esm/api/app-binder/SignDelegationAuthorizationTypes.js +1 -0
  206. package/lib/esm/api/app-binder/SignDelegationAuthorizationTypes.js.map +7 -0
  207. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -0
  208. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +4 -4
  209. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -0
  210. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js.map +4 -4
  211. package/lib/esm/api/index.js +1 -1
  212. package/lib/esm/api/index.js.map +3 -3
  213. package/lib/esm/api/model/ClearSigningType.js +2 -0
  214. package/lib/esm/api/model/ClearSigningType.js.map +7 -0
  215. package/lib/esm/api/model/MessageOptions.js +1 -0
  216. package/lib/esm/api/model/MessageOptions.js.map +7 -0
  217. package/lib/esm/api/model/TypedDataOptions.js +1 -0
  218. package/lib/esm/api/model/TypedDataOptions.js.map +7 -0
  219. package/lib/esm/internal/DefaultSignerEth.js +1 -1
  220. package/lib/esm/internal/DefaultSignerEth.js.map +3 -3
  221. package/lib/esm/internal/DefaultSignerEth.test.js +1 -1
  222. package/lib/esm/internal/DefaultSignerEth.test.js.map +3 -3
  223. package/lib/esm/internal/address/di/addressModule.js +1 -1
  224. package/lib/esm/internal/address/di/addressModule.js.map +3 -3
  225. package/lib/esm/internal/address/di/addressModule.test.js +1 -1
  226. package/lib/esm/internal/address/di/addressModule.test.js.map +2 -2
  227. package/lib/esm/internal/address/use-case/GetAddressUseCase.js +1 -1
  228. package/lib/esm/internal/address/use-case/GetAddressUseCase.js.map +2 -2
  229. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  230. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  231. package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
  232. package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
  233. package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
  234. package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +3 -3
  235. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  236. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  237. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js +2 -0
  238. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js.map +7 -0
  239. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js +2 -0
  240. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +7 -0
  241. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  242. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  243. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  244. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  245. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  246. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  247. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  248. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  249. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js +2 -0
  250. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +7 -0
  251. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +2 -0
  252. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +7 -0
  253. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  254. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +2 -2
  255. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  256. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  257. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  258. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  259. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  260. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  261. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  262. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
  263. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  264. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +2 -2
  265. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js +2 -0
  266. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js.map +7 -0
  267. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js +2 -0
  268. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +7 -0
  269. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js +1 -1
  270. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js.map +2 -2
  271. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  272. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  273. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  274. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  275. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  276. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  277. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  278. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  279. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  280. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  281. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  282. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  283. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  284. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  285. package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
  286. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
  287. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  288. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  289. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  290. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  291. package/lib/esm/internal/app-binder/task/BuildSubContextTask.js +2 -0
  292. package/lib/esm/internal/app-binder/task/BuildSubContextTask.js.map +7 -0
  293. package/lib/esm/internal/app-binder/task/BuildSubContextTask.test.js +2 -0
  294. package/lib/esm/internal/app-binder/task/BuildSubContextTask.test.js.map +7 -0
  295. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  296. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
  297. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
  298. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
  299. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js +2 -0
  300. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js.map +7 -0
  301. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js +2 -0
  302. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js.map +7 -0
  303. package/lib/esm/internal/app-binder/task/PreBuildContextTask.js +2 -0
  304. package/lib/esm/internal/app-binder/task/PreBuildContextTask.js.map +7 -0
  305. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  306. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  307. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  308. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  309. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
  310. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
  311. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
  312. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +3 -3
  313. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
  314. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
  315. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  316. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  317. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  318. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  319. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  320. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  321. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  322. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  323. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
  324. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
  325. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  326. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  327. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  328. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  329. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
  330. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
  331. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
  332. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
  333. package/lib/esm/internal/di.js +1 -1
  334. package/lib/esm/internal/di.js.map +3 -3
  335. package/lib/esm/internal/eip7702/di/eip7702Module.js +2 -0
  336. package/lib/esm/internal/eip7702/di/eip7702Module.js.map +7 -0
  337. package/lib/esm/internal/eip7702/di/eip7702Module.test.js +2 -0
  338. package/lib/esm/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  339. package/lib/esm/internal/eip7702/di/eip7702Types.js +2 -0
  340. package/lib/esm/internal/eip7702/di/eip7702Types.js.map +7 -0
  341. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  342. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  343. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  344. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  345. package/lib/esm/internal/message/di/messageModule.js +1 -1
  346. package/lib/esm/internal/message/di/messageModule.js.map +3 -3
  347. package/lib/esm/internal/message/di/messageModule.test.js +1 -1
  348. package/lib/esm/internal/message/di/messageModule.test.js.map +2 -2
  349. package/lib/esm/internal/message/use-case/SignMessageUseCase.js +1 -1
  350. package/lib/esm/internal/message/use-case/SignMessageUseCase.js.map +3 -3
  351. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  352. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  353. package/lib/esm/internal/shared/utils/ApplicationChecker.js +2 -0
  354. package/lib/esm/internal/shared/utils/ApplicationChecker.js.map +7 -0
  355. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js +2 -0
  356. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js.map +7 -0
  357. package/lib/esm/internal/transaction/di/transactionModule.js +1 -1
  358. package/lib/esm/internal/transaction/di/transactionModule.js.map +3 -3
  359. package/lib/esm/internal/transaction/di/transactionModule.test.js +1 -1
  360. package/lib/esm/internal/transaction/di/transactionModule.test.js.map +2 -2
  361. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  362. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  363. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  364. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  365. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +0 -1
  366. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +4 -4
  367. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
  368. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  369. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  370. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  371. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
  372. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js.map +2 -2
  373. package/lib/esm/internal/typed-data/di/typedDataModule.js +1 -1
  374. package/lib/esm/internal/typed-data/di/typedDataModule.js.map +3 -3
  375. package/lib/esm/internal/typed-data/di/typedDataModule.test.js +1 -1
  376. package/lib/esm/internal/typed-data/di/typedDataModule.test.js.map +2 -2
  377. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
  378. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
  379. package/lib/esm/internal/typed-data/service/TypedDataParser.js +1 -1
  380. package/lib/esm/internal/typed-data/service/TypedDataParser.js.map +3 -3
  381. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js +1 -1
  382. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
  383. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
  384. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
  385. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  386. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  387. package/lib/esm/package.json +17 -18
  388. package/lib/types/api/SignerEth.d.ts +8 -4
  389. package/lib/types/api/SignerEth.d.ts.map +1 -1
  390. package/lib/types/api/SignerEthBuilder.d.ts +4 -2
  391. package/lib/types/api/SignerEthBuilder.d.ts.map +1 -1
  392. package/lib/types/api/app-binder/GetConfigCommandTypes.d.ts +7 -0
  393. package/lib/types/api/app-binder/GetConfigCommandTypes.d.ts.map +1 -0
  394. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts +19 -0
  395. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts.map +1 -0
  396. package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +1 -10
  397. package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +1 -1
  398. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +24 -8
  399. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  400. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +20 -1
  401. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
  402. package/lib/types/api/index.d.ts +5 -4
  403. package/lib/types/api/index.d.ts.map +1 -1
  404. package/lib/types/api/model/AddressOptions.d.ts +1 -0
  405. package/lib/types/api/model/AddressOptions.d.ts.map +1 -1
  406. package/lib/types/api/model/ClearSigningType.d.ts +5 -0
  407. package/lib/types/api/model/ClearSigningType.d.ts.map +1 -0
  408. package/lib/types/api/model/MessageOptions.d.ts +4 -0
  409. package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
  410. package/lib/types/api/model/TransactionOptions.d.ts +1 -0
  411. package/lib/types/api/model/TransactionOptions.d.ts.map +1 -1
  412. package/lib/types/api/model/TypedDataOptions.d.ts +4 -0
  413. package/lib/types/api/model/TypedDataOptions.d.ts.map +1 -0
  414. package/lib/types/internal/DefaultSignerEth.d.ts +7 -3
  415. package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
  416. package/lib/types/internal/address/di/addressModule.d.ts.map +1 -1
  417. package/lib/types/internal/address/use-case/GetAddressUseCase.d.ts.map +1 -1
  418. package/lib/types/internal/app-binder/EthAppBinder.d.ts +13 -3
  419. package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
  420. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts +10 -0
  421. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts.map +1 -0
  422. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.test.d.ts +2 -0
  423. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.test.d.ts.map +1 -0
  424. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts +28 -0
  425. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts.map +1 -0
  426. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts +2 -0
  427. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts.map +1 -0
  428. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts +20 -0
  429. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts.map +1 -0
  430. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts +2 -0
  431. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts.map +1 -0
  432. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts +17 -0
  433. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts.map +1 -0
  434. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.test.d.ts +2 -0
  435. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.test.d.ts.map +1 -0
  436. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +8 -1
  437. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -1
  438. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts +29 -0
  439. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts.map +1 -0
  440. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts +2 -0
  441. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts.map +1 -0
  442. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts +15 -0
  443. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts.map +1 -0
  444. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.test.d.ts +2 -0
  445. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.test.d.ts.map +1 -0
  446. package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts.map +1 -1
  447. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +18 -30
  448. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
  449. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +8 -2
  450. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
  451. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  452. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  453. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  454. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  455. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  456. package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
  457. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts +10 -5
  458. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
  459. package/lib/types/internal/app-binder/task/BuildSubContextTask.d.ts +20 -0
  460. package/lib/types/internal/app-binder/task/BuildSubContextTask.d.ts.map +1 -0
  461. package/lib/types/internal/app-binder/task/BuildSubContextTask.test.d.ts +2 -0
  462. package/lib/types/internal/app-binder/task/BuildSubContextTask.test.d.ts.map +1 -0
  463. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +15 -14
  464. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -1
  465. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts +29 -0
  466. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts.map +1 -0
  467. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts +2 -0
  468. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts.map +1 -0
  469. package/lib/types/internal/app-binder/task/PreBuildContextTask.d.ts +17 -0
  470. package/lib/types/internal/app-binder/task/PreBuildContextTask.d.ts.map +1 -0
  471. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +7 -4
  472. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
  473. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +28 -21
  474. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +1 -1
  475. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +2 -2
  476. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -1
  477. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts +18 -0
  478. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts.map +1 -0
  479. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts +2 -0
  480. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts.map +1 -0
  481. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +2 -1
  482. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -1
  483. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts +12 -0
  484. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts.map +1 -0
  485. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts +2 -0
  486. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts.map +1 -0
  487. package/lib/types/internal/di.d.ts.map +1 -1
  488. package/lib/types/internal/eip7702/di/eip7702Module.d.ts +3 -0
  489. package/lib/types/internal/eip7702/di/eip7702Module.d.ts.map +1 -0
  490. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts +2 -0
  491. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts.map +1 -0
  492. package/lib/types/internal/eip7702/di/eip7702Types.d.ts +4 -0
  493. package/lib/types/internal/eip7702/di/eip7702Types.d.ts.map +1 -0
  494. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts +8 -0
  495. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts.map +1 -0
  496. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts +2 -0
  497. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts.map +1 -0
  498. package/lib/types/internal/message/di/messageModule.d.ts.map +1 -1
  499. package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts +2 -1
  500. package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts.map +1 -1
  501. package/lib/types/internal/shared/utils/ApplicationChecker.d.ts +13 -0
  502. package/lib/types/internal/shared/utils/ApplicationChecker.d.ts.map +1 -0
  503. package/lib/types/internal/shared/utils/ApplicationChecker.test.d.ts +2 -0
  504. package/lib/types/internal/shared/utils/ApplicationChecker.test.d.ts.map +1 -0
  505. package/lib/types/internal/transaction/di/transactionModule.d.ts.map +1 -1
  506. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts +8 -0
  507. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts.map +1 -0
  508. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts +2 -0
  509. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts.map +1 -0
  510. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts +4 -7
  511. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -1
  512. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts +2 -2
  513. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -1
  514. package/lib/types/internal/typed-data/di/typedDataModule.d.ts.map +1 -1
  515. package/lib/types/internal/typed-data/service/TypedDataParser.d.ts +4 -2
  516. package/lib/types/internal/typed-data/service/TypedDataParser.d.ts.map +1 -1
  517. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts +2 -1
  518. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts.map +1 -1
  519. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  520. package/package.json +24 -25
  521. package/lib/cjs/internal/app-binder/constant/plugins.js +0 -2
  522. package/lib/cjs/internal/app-binder/constant/plugins.js.map +0 -7
  523. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
  524. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
  525. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
  526. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
  527. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  528. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  529. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  530. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  531. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  532. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  533. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  534. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  535. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  536. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  537. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  538. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  539. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +0 -2
  540. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +0 -7
  541. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  542. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  543. package/lib/esm/internal/app-binder/constant/plugins.js +0 -2
  544. package/lib/esm/internal/app-binder/constant/plugins.js.map +0 -7
  545. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
  546. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
  547. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
  548. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
  549. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  550. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  551. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  552. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  553. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  554. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  555. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  556. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  557. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  558. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  559. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  560. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  561. package/lib/esm/internal/transaction/service/mapper/TransactionMapper.js +0 -1
  562. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  563. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  564. package/lib/types/internal/app-binder/constant/plugins.d.ts +0 -2
  565. package/lib/types/internal/app-binder/constant/plugins.d.ts.map +0 -1
  566. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +0 -18
  567. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +0 -1
  568. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts +0 -2
  569. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts.map +0 -1
  570. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +0 -73
  571. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +0 -1
  572. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts +0 -2
  573. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts.map +0 -1
  574. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +0 -26
  575. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +0 -1
  576. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts +0 -2
  577. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts.map +0 -1
  578. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts +0 -7
  579. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts.map +0 -1
  580. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts +0 -2
  581. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts.map +0 -1
  582. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -6
  583. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
  584. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts +0 -2
  585. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts.map +0 -1
  586. /package/lib/esm/{internal/transaction/service/mapper/TransactionMapper.js.map → api/app-binder/GetConfigCommandTypes.js.map} +0 -0
@@ -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 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 = 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,IAAAA,EAA6B,qCAC7BC,EAA6B,qCAC7BC,EAAiC,6CACjCC,EAA+B,0CAE/BC,EAAiC,8BAEjC,SAAS,mBAAoB,IAAM,CACjC,IAAIC,EACJ,MAAMC,EAAkB,CACtB,IAAK,KAAK,GAAIC,IAAgB,CAC5B,QAAS,KAAK,GAAG,IACXA,IAAO,mBAAiB,uBACnB,qBACEA,IAAO,eAAa,mBACtB,iBACEA,IAAO,iBAAe,qBACxB,oBACEA,IAAO,eAAa,kBACtB,iBAGF,kBACR,CACH,EAAE,CACJ,EAEA,WAAW,IAAM,CACf,KAAK,cAAc,EAEnB,MAAMC,EAAM,CAAC,EACPC,EAAY,GACZC,EAAgB,CAAC,EACvBL,EAAS,IAAI,mBAAiB,CAAE,IAAAG,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,qBACf,mBAAiB,sBACnB,CACF,CAAC,CACH,CAAC,EAED,SAAS,cAAe,IAAM,CAC5B,GAAG,wBAAyB,SAAY,CAMtC,MAAMO,EAAS,MAAMR,EAAO,YAJL,iBACP,SAG+C,EAG/D,OAAOQ,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,gBAAgB,EACpC,OAAOP,EAAK,GAAG,EAAE,qBAAqB,eAAa,kBAAkB,CACvE,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,yBAA0B,SAAY,CAEvC,MAAMK,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,qBACf,iBAAe,oBACjB,CACF,CAAC,CACH,CAAC,EAED,SAAS,aAAc,IAAM,CAC3B,GAAG,wBAAyB,SAAY,CAKtC,MAAMO,EAAS,MAAMR,EAAO,WAHL,gBAG8B,EAGrD,OAAOQ,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,gBAAgB,EACpC,OAAOP,EAAK,GAAG,EAAE,qBAAqB,eAAa,iBAAiB,CACtE,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["import_addressTypes", "import_messageTypes", "import_transactionTypes", "import_typedDataTypes", "import_DefaultSignerEth", "signer", "mock", "id", "dmk", "sessionId", "contextModule", "derivationPath", "transaction", "result", "typedData"]
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 { eip7702Types } from \"./eip7702/di/eip7702Types\";\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 === eip7702Types.SignDelegationAuthorizationUseCase) {\n return \"delegation-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(\"signDelegationAuthorization\", () => {\n it(\"should sign a delegation authorization\", async () => {\n // GIVEN\n const derivationPath = \"derivationPath\";\n const chainId = 2;\n const nonce = 42;\n const address = \"0xaddress\";\n\n // WHEN\n const result = await signer.signDelegationAuthorization(\n derivationPath,\n chainId,\n address,\n nonce,\n );\n\n // THEN\n expect(result).toBeDefined();\n expect(result).toBe(\"delegation-result\");\n expect(mock.get).toHaveBeenCalledWith(\n eip7702Types.SignDelegationAuthorizationUseCase,\n );\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,IAAAA,EAA6B,qCAC7BC,EAA6B,qCAC7BC,EAA6B,qCAC7BC,EAAiC,6CACjCC,EAA+B,0CAE/BC,EAAiC,8BAEjC,SAAS,mBAAoB,IAAM,CACjC,IAAIC,EACJ,MAAMC,EAAkB,CACtB,IAAK,GAAG,GAAIC,IAAgB,CAC1B,QAAS,GAAG,GAAG,IACTA,IAAO,mBAAiB,uBACnB,qBACEA,IAAO,eAAa,mCACtB,oBACEA,IAAO,eAAa,mBACtB,iBACEA,IAAO,iBAAe,qBACxB,oBACEA,IAAO,eAAa,kBACtB,iBAGF,kBACR,CACH,EAAE,CACJ,EAEA,WAAW,IAAM,CACf,GAAG,cAAc,EAEjB,MAAMC,EAAM,CAAC,EACPC,EAAY,GACZC,EAAgB,CAAC,EACvBL,EAAS,IAAI,mBAAiB,CAAE,IAAAG,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,qBACf,mBAAiB,sBACnB,CACF,CAAC,CACH,CAAC,EAED,SAAS,cAAe,IAAM,CAC5B,GAAG,wBAAyB,SAAY,CAMtC,MAAMO,EAAS,MAAMR,EAAO,YAJL,iBACP,SAG+C,EAG/D,OAAOQ,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,gBAAgB,EACpC,OAAOP,EAAK,GAAG,EAAE,qBAAqB,eAAa,kBAAkB,CACvE,CAAC,CACH,CAAC,EAED,SAAS,8BAA+B,IAAM,CAC5C,GAAG,yCAA0C,SAAY,CAQvD,MAAMO,EAAS,MAAMR,EAAO,4BANL,iBAQrB,EALc,YAOd,EACF,EAGA,OAAOQ,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,mBAAmB,EACvC,OAAOP,EAAK,GAAG,EAAE,qBACf,eAAa,kCACf,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,yBAA0B,SAAY,CAEvC,MAAMK,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,qBACf,iBAAe,oBACjB,CACF,CAAC,CACH,CAAC,EAED,SAAS,aAAc,IAAM,CAC3B,GAAG,wBAAyB,SAAY,CAKtC,MAAMO,EAAS,MAAMR,EAAO,WAHL,gBAG8B,EAGrD,OAAOQ,CAAM,EAAE,YAAY,EAC3B,OAAOA,CAAM,EAAE,KAAK,gBAAgB,EACpC,OAAOP,EAAK,GAAG,EAAE,qBAAqB,eAAa,iBAAiB,CACtE,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_addressTypes", "import_eip7702Types", "import_messageTypes", "import_transactionTypes", "import_typedDataTypes", "import_DefaultSignerEth", "signer", "mock", "id", "dmk", "sessionId", "contextModule", "derivationPath", "transaction", "result", "typedData"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var r=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var p=(o,e)=>{for(var n in e)r(o,n,{get:e[n],enumerable:!0})},u=(o,e,n,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of _(e))!c.call(o,s)&&s!==n&&r(o,s,{get:()=>e[s],enumerable:!(d=m(e,s))||d.enumerable});return o};var A=o=>u(r({},"__esModule",{value:!0}),o);var f={};p(f,{addressModuleFactory:()=>b});module.exports=A(f);var t=require("inversify"),i=require("../../address/di/addressTypes"),a=require("../../address/use-case/GetAddressUseCase");const b=()=>new t.ContainerModule((o,e,n,d,s,y,C)=>{o(i.addressTypes.GetAddressUseCase).to(a.GetAddressUseCase)});0&&(module.exports={addressModuleFactory});
1
+ "use strict";var d=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var C=(e,s)=>{for(var r in s)d(e,r,{get:s[r],enumerable:!0})},c=(e,s,r,t)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of n(s))!f.call(e,o)&&o!==r&&d(e,o,{get:()=>s[o],enumerable:!(t=i(s,o))||t.enumerable});return e};var l=e=>c(d({},"__esModule",{value:!0}),e);var y={};C(y,{addressModuleFactory:()=>u});module.exports=l(y);var a=require("inversify"),m=require("../../address/di/addressTypes"),p=require("../../address/use-case/GetAddressUseCase");const u=()=>new a.ContainerModule(({bind:e})=>{e(m.addressTypes.GetAddressUseCase).to(p.GetAddressUseCase)});0&&(module.exports={addressModuleFactory});
2
2
  //# sourceMappingURL=addressModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/address/di/addressModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { addressTypes } from \"@internal/address/di/addressTypes\";\nimport { GetAddressUseCase } from \"@internal/address/use-case/GetAddressUseCase\";\n\nexport const addressModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(addressTypes.GetAddressUseCase).to(GetAddressUseCase);\n },\n );\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6B,6CAC7BC,EAAkC,wDAE3B,MAAMJ,EAAuB,IAClC,IAAI,kBACF,CACEK,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAK,eAAa,iBAAiB,EAAE,GAAG,mBAAiB,CAC3D,CACF",
6
- "names": ["addressModule_exports", "__export", "addressModuleFactory", "__toCommonJS", "import_inversify", "import_addressTypes", "import_GetAddressUseCase", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { addressTypes } from \"@internal/address/di/addressTypes\";\nimport { GetAddressUseCase } from \"@internal/address/use-case/GetAddressUseCase\";\n\nexport const addressModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(addressTypes.GetAddressUseCase).to(GetAddressUseCase);\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6B,6CAC7BC,EAAkC,wDAE3B,MAAMJ,EAAuB,IAClC,IAAI,kBAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAK,eAAa,iBAAiB,EAAE,GAAG,mBAAiB,CAC3D,CAAC",
6
+ "names": ["addressModule_exports", "__export", "addressModuleFactory", "__toCommonJS", "import_inversify", "import_addressTypes", "import_GetAddressUseCase", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var r=require("inversify"),d=require("./addressModule");describe("addressModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=(0,d.addressModuleFactory)(),o=new r.Container,o.load(e)}),it("should return the address module",()=>{expect(e).toBeDefined()})})});
1
+ "use strict";var r=require("inversify"),d=require("./addressModule");describe("addressModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=(0,d.addressModuleFactory)(),o=new r.Container,o.loadSync(e)}),it("should return the address module",()=>{expect(e).toBeDefined()})})});
2
2
  //# sourceMappingURL=addressModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/address/di/addressModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { addressModuleFactory } from \"./addressModule\";\n\ndescribe(\"addressModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof addressModuleFactory>;\n beforeEach(() => {\n mod = addressModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the address module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAqC,2BAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,wBAAqB,EAC3BD,EAAY,IAAI,YAChBA,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { addressModuleFactory } from \"./addressModule\";\n\ndescribe(\"addressModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof addressModuleFactory>;\n beforeEach(() => {\n mod = addressModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the address module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAqC,2BAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,wBAAqB,EAC3BD,EAAY,IAAI,YAChBA,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_inversify", "import_addressModule", "container", "mod"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var f=(e,r)=>{for(var p in r)o(e,p,{get:r[p],enumerable:!0})},D=(e,r,p,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of a(r))!s.call(e,i)&&i!==p&&o(e,i,{get:()=>r[i],enumerable:!(t=h(r,i))||t.enumerable});return e};var O=e=>D(o({},"__esModule",{value:!0}),e),A=(e,r,p,t)=>{for(var i=t>1?void 0:t?h(r,p):r,c=e.length-1,m;c>=0;c--)(m=e[c])&&(i=(t?m(r,p,i):m(i))||i);return t&&i&&o(r,p,i),i},B=(e,r)=>(p,t)=>r(p,t,e);var g={};f(g,{GetAddressUseCase:()=>n});module.exports=O(g);var d=require("inversify"),u=require("../../app-binder/di/appBinderTypes");let n=class{_appBinder;constructor(r){this._appBinder=r}execute(r,p){return this._appBinder.getAddress({derivationPath:r,checkOnDevice:p?.checkOnDevice,returnChainCode:p?.returnChainCode})}};n=A([(0,d.injectable)(),B(0,(0,d.inject)(u.appBinderTypes.AppBinding))],n);0&&(module.exports={GetAddressUseCase});
1
+ "use strict";var d=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var u=(r,p)=>{for(var e in p)d(r,e,{get:p[e],enumerable:!0})},O=(r,p,e,n)=>{if(p&&typeof p=="object"||typeof p=="function")for(let i of f(p))!B.call(r,i)&&i!==e&&d(r,i,{get:()=>p[i],enumerable:!(n=s(p,i))||n.enumerable});return r};var l=r=>O(d({},"__esModule",{value:!0}),r),A=(r,p,e,n)=>{for(var i=n>1?void 0:n?s(p,e):p,c=r.length-1,m;c>=0;c--)(m=r[c])&&(i=(n?m(p,e,i):m(i))||i);return n&&i&&d(p,e,i),i},a=(r,p)=>(e,n)=>p(e,n,r);var k={};u(k,{GetAddressUseCase:()=>t});module.exports=l(k);var o=require("inversify"),h=require("../../app-binder/di/appBinderTypes");let t=class{_appBinder;constructor(p){this._appBinder=p}execute(p,e){return this._appBinder.getAddress({derivationPath:p,checkOnDevice:e?.checkOnDevice??!1,returnChainCode:e?.returnChainCode??!1,skipOpenApp:e?.skipOpenApp??!1})}};t=A([(0,o.injectable)(),a(0,(0,o.inject)(h.appBinderTypes.AppBinding))],t);0&&(module.exports={GetAddressUseCase});
2
2
  //# sourceMappingURL=GetAddressUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/address/use-case/GetAddressUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { AddressOptions } from \"@api/model/AddressOptions\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\n@injectable()\nexport class GetAddressUseCase {\n private _appBinder: EthAppBinder;\n\n constructor(@inject(appBinderTypes.AppBinding) appBinder: EthAppBinder) {\n this._appBinder = appBinder;\n }\n\n execute(\n derivationPath: string,\n options?: AddressOptions,\n ): GetAddressDAReturnType {\n return this._appBinder.getAddress({\n derivationPath,\n checkOnDevice: options?.checkOnDevice,\n returnChainCode: options?.returnChainCode,\n });\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAInCC,EAA+B,kDAIxB,IAAMC,EAAN,KAAwB,CACrB,WAER,YAA+CC,EAAyB,CACtE,KAAK,WAAaA,CACpB,CAEA,QACEC,EACAC,EACwB,CACxB,OAAO,KAAK,WAAW,WAAW,CAChC,eAAAD,EACA,cAAeC,GAAS,cACxB,gBAAiBA,GAAS,eAC5B,CAAC,CACH,CACF,EAjBaH,EAANI,EAAA,IADN,cAAW,EAIGC,EAAA,eAAO,iBAAe,UAAU,IAHlCL",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { GetAddressDAReturnType } from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport { AddressOptions } from \"@api/model/AddressOptions\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\n@injectable()\nexport class GetAddressUseCase {\n private _appBinder: EthAppBinder;\n\n constructor(@inject(appBinderTypes.AppBinding) appBinder: EthAppBinder) {\n this._appBinder = appBinder;\n }\n\n execute(\n derivationPath: string,\n options?: AddressOptions,\n ): GetAddressDAReturnType {\n return this._appBinder.getAddress({\n derivationPath,\n checkOnDevice: options?.checkOnDevice ?? false,\n returnChainCode: options?.returnChainCode ?? false,\n skipOpenApp: options?.skipOpenApp ?? false,\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAInCC,EAA+B,kDAIxB,IAAMC,EAAN,KAAwB,CACrB,WAER,YAA+CC,EAAyB,CACtE,KAAK,WAAaA,CACpB,CAEA,QACEC,EACAC,EACwB,CACxB,OAAO,KAAK,WAAW,WAAW,CAChC,eAAAD,EACA,cAAeC,GAAS,eAAiB,GACzC,gBAAiBA,GAAS,iBAAmB,GAC7C,YAAaA,GAAS,aAAe,EACvC,CAAC,CACH,CACF,EAlBaH,EAANI,EAAA,IADN,cAAW,EAIGC,EAAA,eAAO,iBAAe,UAAU,IAHlCL",
6
6
  "names": ["GetAddressUseCase_exports", "__export", "GetAddressUseCase", "__toCommonJS", "import_inversify", "import_appBinderTypes", "GetAddressUseCase", "appBinder", "derivationPath", "options", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=require("./GetAddressUseCase");describe("GetAddressUseCase",()=>{it("should call getAddress on appBinder with the correct arguments",()=>{const e="m/44'/60'/0'/0/0",n={checkOnDevice:!0,returnChainCode:!0},t=jest.fn(),r={getAddress:t};new s.GetAddressUseCase(r).execute(e,n),expect(t).toHaveBeenCalledWith({derivationPath:e,checkOnDevice:!0,returnChainCode:!0})})});
1
+ "use strict";var t=require("./GetAddressUseCase");describe("GetAddressUseCase",()=>{it("should call getAddress on appBinder with the correct arguments",()=>{const e="m/44'/60'/0'/0/0",n={checkOnDevice:!0,returnChainCode:!0},s=vi.fn(),r={getAddress:s};new t.GetAddressUseCase(r).execute(e,n),expect(s).toHaveBeenCalledWith({derivationPath:e,checkOnDevice:!0,returnChainCode:!0,skipOpenApp:!1})})});
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,IAAAA,EAAkC,+BAElC,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,IAAI,oBAC5BC,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 skipOpenApp: false,\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAAkC,+BAElC,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,IAAI,oBAC5BC,CACF,EAGkB,QAAQH,EAAgBC,CAAO,EAGjD,OAAOC,CAAU,EAAE,qBAAqB,CACtC,eAAAF,EACA,iBACA,mBACA,YAAa,EACf,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_GetAddressUseCase", "derivationPath", "options", "getAddress", "appBinder"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var M=(i,e)=>{for(var r in e)c(i,r,{get:e[r],enumerable:!0})},I=(i,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of P(e))!l.call(i,t)&&t!==r&&c(i,t,{get:()=>e[t],enumerable:!(n=D(e,t))||n.enumerable});return i};var x=i=>I(c({},"__esModule",{value:!0}),i),T=(i,e,r,n)=>{for(var t=n>1?void 0:n?D(e,r):e,p=i.length-1,d;p>=0;p--)(d=i[p])&&(t=(n?d(e,r,t):d(t))||t);return n&&t&&c(e,r,t),t},a=(i,e)=>(r,n)=>e(r,n,i);var R={};M(R,{EthAppBinder:()=>s});module.exports=x(R);var y=require("@ledgerhq/device-management-kit"),v=require("@ledgerhq/device-management-kit"),o=require("inversify"),A=require("../app-binder/device-action/SignTypedData/SignTypedDataDeviceAction"),m=require("../externalTypes"),u=require("../transaction/di/transactionTypes"),h=require("./command/GetAddressCommand"),f=require("./constant/plugins"),S=require("./device-action/SignPersonalMessage/SignPersonalMessageDeviceAction"),g=require("./device-action/SignTransaction/SignTransactionDeviceAction");let s=class{constructor(e,r,n,t,p){this.dmk=e;this.contextModule=r;this.mapper=n;this.parser=t;this.sessionId=p}getAddress(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new y.SendCommandInAppDeviceAction({input:{command:new h.GetAddressCommand(e),appName:"Ethereum",compatibleAppNames:f.ETHEREUM_PLUGINS,requiredUserInteraction:e.checkOnDevice?v.UserInteractionRequired.VerifyAddress:v.UserInteractionRequired.None}})})}signPersonalMessage(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new S.SignPersonalMessageDeviceAction({input:{derivationPath:e.derivationPath,message:e.message}})})}signTransaction(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new g.SignTransactionDeviceAction({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 A.SignTypedDataDeviceAction({input:{derivationPath:e.derivationPath,data:e.data,parser:e.parser,contextModule:this.contextModule}})})}};s=T([(0,o.injectable)(),a(0,(0,o.inject)(m.externalTypes.Dmk)),a(1,(0,o.inject)(m.externalTypes.ContextModule)),a(2,(0,o.inject)(u.transactionTypes.TransactionMapperService)),a(3,(0,o.inject)(u.transactionTypes.TransactionParserService)),a(4,(0,o.inject)(m.externalTypes.SessionId))],s);0&&(module.exports={EthAppBinder});
1
+ "use strict";var m=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var I=(n,e)=>{for(var t in e)m(n,t,{get:e[t],enumerable:!0})},P=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of f(e))!k.call(n,i)&&i!==t&&m(n,i,{get:()=>e[i],enumerable:!(r=D(e,i))||r.enumerable});return n};var M=n=>P(m({},"__esModule",{value:!0}),n),y=(n,e,t,r)=>{for(var i=r>1?void 0:r?D(e,t):e,d=n.length-1,A;d>=0;d--)(A=n[d])&&(i=(r?A(e,t,i):A(i))||i);return r&&i&&m(e,t,i),i},a=(n,e)=>(t,r)=>e(t,r,n);var x={};I(x,{EthAppBinder:()=>p});module.exports=M(x);var c=require("@ledgerhq/device-management-kit"),s=require("@ledgerhq/device-management-kit"),o=require("inversify"),T=require("../app-binder/device-action/SignTypedData/SignTypedDataDeviceAction"),h=require("../app-binder/task/SendSignPersonalMessageTask"),u=require("../externalTypes"),v=require("../transaction/di/transactionTypes"),g=require("./command/GetAddressCommand"),l=require("./device-action/SignTransaction/SignTransactionDeviceAction"),S=require("./task/SendSignAuthorizationDelegationTask");let p=class{constructor(e,t,r,i,d){this.dmk=e;this.contextModule=t;this.mapper=r;this.parser=i;this.sessionId=d}getAddress(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new c.SendCommandInAppDeviceAction({input:{command:new g.GetAddressCommand(e),appName:"Ethereum",requiredUserInteraction:e.checkOnDevice?s.UserInteractionRequired.VerifyAddress:s.UserInteractionRequired.None,skipOpenApp:e.skipOpenApp}})})}signPersonalMessage(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new c.CallTaskInAppDeviceAction({input:{task:async t=>new h.SendSignPersonalMessageTask(t,e).run(),appName:"Ethereum",requiredUserInteraction:s.UserInteractionRequired.SignPersonalMessage,skipOpenApp:e.skipOpenApp}})})}signTransaction(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new l.SignTransactionDeviceAction({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 T.SignTypedDataDeviceAction({input:{derivationPath:e.derivationPath,data:e.data,parser:e.parser,contextModule:this.contextModule,skipOpenApp:e.skipOpenApp}})})}signDelegationAuthorization(e){return this.dmk.executeDeviceAction({sessionId:this.sessionId,deviceAction:new c.CallTaskInAppDeviceAction({input:{task:async t=>new S.SendSignAuthorizationDelegationTask(t,e).run(),appName:"Ethereum",requiredUserInteraction:s.UserInteractionRequired.SignDelegationAuthorization,skipOpenApp:!1}})})}};p=y([(0,o.injectable)(),a(0,(0,o.inject)(u.externalTypes.Dmk)),a(1,(0,o.inject)(u.externalTypes.ContextModule)),a(2,(0,o.inject)(v.transactionTypes.TransactionMapperService)),a(3,(0,o.inject)(v.transactionTypes.TransactionParserService)),a(4,(0,o.inject)(u.externalTypes.SessionId))],p);0&&(module.exports={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 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 { ETHEREUM_PLUGINS } from \"./constant/plugins\";\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 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 SignPersonalMessageDeviceAction({\n input: {\n derivationPath: args.derivationPath,\n message: args.message,\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": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,IAAA,eAAAC,EAAAH,GAKA,IAAAI,EAA6C,2CAC7CA,EAAwC,2CACxCC,EAAmC,qBAQnCC,EAA0C,sFAC1CC,EAA8B,mCAC9BC,EAAiC,qDAKjCC,EAAkC,uCAClCC,EAAiC,8BACjCC,EAAgD,+EAChDC,EAA4C,uEAGrC,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,IAAI,+BAA6B,CAC7C,MAAO,CACL,QAAS,IAAI,oBAAkBA,CAAI,EACnC,QAAS,WACT,mBAAoB,mBACpB,wBAAyBA,EAAK,cAC1B,0BAAwB,cACxB,0BAAwB,IAC9B,CACF,CAAC,CACH,CAAC,CACH,CAEA,oBAAoBA,EAGgB,CAClC,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAI,kCAAgC,CAChD,MAAO,CACL,eAAgBA,EAAK,eACrB,QAASA,EAAK,OAChB,CACF,CAAC,CACH,CAAC,CACH,CAEA,gBAAgBA,EAIgB,CAC9B,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAI,8BAA4B,CAC5C,MAAO,CACL,eAAgBA,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,IAAI,4BAA0B,CAC1C,MAAO,CACL,eAAgBA,EAAK,eACrB,KAAMA,EAAK,KACX,OAAQA,EAAK,OACb,cAAe,KAAK,aACtB,CACF,CAAC,CACH,CAAC,CACH,CACF,EAnFaN,EAANO,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,gBAAc,GAAG,GACxBA,EAAA,eAAO,gBAAc,aAAa,GAClCA,EAAA,eAAO,mBAAiB,wBAAwB,GAEhDA,EAAA,eAAO,mBAAiB,wBAAwB,GAEhDA,EAAA,eAAO,gBAAc,SAAS,IARtBR",
6
- "names": ["EthAppBinder_exports", "__export", "EthAppBinder", "__toCommonJS", "import_device_management_kit", "import_inversify", "import_SignTypedDataDeviceAction", "import_externalTypes", "import_transactionTypes", "import_GetAddressCommand", "import_plugins", "import_SignPersonalMessageDeviceAction", "import_SignTransactionDeviceAction", "EthAppBinder", "dmk", "contextModule", "mapper", "parser", "sessionId", "args", "__decorateClass", "__decorateParam"]
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 { SignDelegationAuthorizationDAReturnType } from \"@api/app-binder/SignDelegationAuthorizationTypes\";\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 { type 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 { SignTransactionDeviceAction } from \"./device-action/SignTransaction/SignTransactionDeviceAction\";\nimport { SendSignAuthorizationDelegationTask } from \"./task/SendSignAuthorizationDelegationTask\";\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 skipOpenApp: 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 skipOpenApp: args.skipOpenApp,\n },\n }),\n });\n }\n\n signPersonalMessage(args: {\n derivationPath: string;\n message: string | Uint8Array;\n skipOpenApp: boolean;\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 requiredUserInteraction: UserInteractionRequired.SignPersonalMessage,\n skipOpenApp: args.skipOpenApp,\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 skipOpenApp: boolean;\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 skipOpenApp: args.skipOpenApp,\n },\n }),\n });\n }\n\n signDelegationAuthorization(args: {\n derivationPath: string;\n chainId: number;\n address: string;\n nonce: number;\n }): SignDelegationAuthorizationDAReturnType {\n return this.dmk.executeDeviceAction({\n sessionId: this.sessionId,\n deviceAction: new CallTaskInAppDeviceAction({\n input: {\n task: async (internalApi) =>\n new SendSignAuthorizationDelegationTask(internalApi, args).run(),\n appName: \"Ethereum\",\n requiredUserInteraction:\n UserInteractionRequired.SignDelegationAuthorization,\n skipOpenApp: false,\n },\n }),\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,IAAA,eAAAC,EAAAH,GAKA,IAAAI,EAGO,2CACPA,EAAwC,2CACxCC,EAAmC,qBASnCC,EAA0C,sFAC1CC,EAA4C,iEAC5CC,EAA8B,mCAC9BC,EAAiC,qDAKjCC,EAAkC,uCAClCC,EAA4C,uEAC5CC,EAAoD,sDAG7C,IAAMC,EAAN,KAAmB,CACxB,YACqCC,EACUC,EAErCC,EAEAC,EACiCC,EACzC,CAPmC,SAAAJ,EACU,mBAAAC,EAErC,YAAAC,EAEA,YAAAC,EACiC,eAAAC,CACxC,CAEH,WAAWC,EAKgB,CACzB,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAI,+BAA6B,CAC7C,MAAO,CACL,QAAS,IAAI,oBAAkBA,CAAI,EACnC,QAAS,WACT,wBAAyBA,EAAK,cAC1B,0BAAwB,cACxB,0BAAwB,KAC5B,YAAaA,EAAK,WACpB,CACF,CAAC,CACH,CAAC,CACH,CAEA,oBAAoBA,EAIgB,CAClC,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAI,4BAA0B,CAC1C,MAAO,CACL,KAAM,MAAOC,GACX,IAAI,8BAA4BA,EAAaD,CAAI,EAAE,IAAI,EACzD,QAAS,WACT,wBAAyB,0BAAwB,oBACjD,YAAaA,EAAK,WACpB,CACF,CAAC,CACH,CAAC,CACH,CAEA,gBAAgBA,EAIgB,CAC9B,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAI,8BAA4B,CAC5C,MAAO,CACL,eAAgBA,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,EAKgB,CAC5B,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAI,4BAA0B,CAC1C,MAAO,CACL,eAAgBA,EAAK,eACrB,KAAMA,EAAK,KACX,OAAQA,EAAK,OACb,cAAe,KAAK,cACpB,YAAaA,EAAK,WACpB,CACF,CAAC,CACH,CAAC,CACH,CAEA,4BAA4BA,EAKgB,CAC1C,OAAO,KAAK,IAAI,oBAAoB,CAClC,UAAW,KAAK,UAChB,aAAc,IAAI,4BAA0B,CAC1C,MAAO,CACL,KAAM,MAAOC,GACX,IAAI,sCAAoCA,EAAaD,CAAI,EAAE,IAAI,EACjE,QAAS,WACT,wBACE,0BAAwB,4BAC1B,YAAa,EACf,CACF,CAAC,CACH,CAAC,CACH,CACF,EA/GaN,EAANQ,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,gBAAc,GAAG,GACxBA,EAAA,eAAO,gBAAc,aAAa,GAClCA,EAAA,eAAO,mBAAiB,wBAAwB,GAEhDA,EAAA,eAAO,mBAAiB,wBAAwB,GAEhDA,EAAA,eAAO,gBAAc,SAAS,IARtBT",
6
+ "names": ["EthAppBinder_exports", "__export", "EthAppBinder", "__toCommonJS", "import_device_management_kit", "import_inversify", "import_SignTypedDataDeviceAction", "import_SendSignPersonalMessageTask", "import_externalTypes", "import_transactionTypes", "import_GetAddressCommand", "import_SignTransactionDeviceAction", "import_SendSignAuthorizationDelegationTask", "EthAppBinder", "dmk", "contextModule", "mapper", "parser", "sessionId", "args", "internalApi", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var A=require("@ledgerhq/device-management-kit"),o=require("@ledgerhq/device-management-kit"),g=require("@ledgerhq/device-management-kit"),v=require("@ledgerhq/device-management-kit"),S=require("ethers"),l=require("rxjs"),y=require("./command/GetAddressCommand"),h=require("./constant/plugins"),u=require("./EthAppBinder");describe("EthAppBinder",()=>{const r={sendCommand:jest.fn(),executeDeviceAction:jest.fn()},d={getContext:jest.fn(),getContexts:jest.fn(),getTypedDataFilters:jest.fn()},m={mapTransactionToSubset:jest.fn()},D={extractValue:jest.fn()};beforeEach(()=>{jest.clearAllMocks()}),describe("getAddress",()=>{it("should return the address, publicKey, and chainCode",e=>{const s="0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",a="04e3785ca";jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,l.from)([{status:o.DeviceActionStatus.Completed,output:{address:s,publicKey:a,chainCode:void 0}}]),cancel:jest.fn()});const p=new u.EthAppBinder(r,d,m,D,"sessionId"),{observable:i}=p.getAddress({derivationPath:"44'/60'/3'/2/1"}),t=[];i.subscribe({next:n=>{t.push(n)},error:n=>{e(n)},complete:()=>{try{expect(t).toEqual([{status:o.DeviceActionStatus.Completed,output:{address:s,publicKey:a,chainCode:void 0}}]),e()}catch(n){e(n)}}})}),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 a={...e,checkOnDevice:!0};new u.EthAppBinder(r,d,m,D,"sessionId").getAddress(a),expect(r.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new g.SendCommandInAppDeviceAction({input:{command:new y.GetAddressCommand(a),appName:"Ethereum",requiredUserInteraction:v.UserInteractionRequired.VerifyAddress,compatibleAppNames:h.ETHEREUM_PLUGINS}})})}),test("when checkOnDevice is false: UserInteractionRequired.None",()=>{const a={...e,checkOnDevice:!1};new u.EthAppBinder(r,d,m,D,"sessionId").getAddress(a),expect(r.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new g.SendCommandInAppDeviceAction({input:{command:new y.GetAddressCommand(a),appName:"Ethereum",requiredUserInteraction:v.UserInteractionRequired.None,compatibleAppNames:h.ETHEREUM_PLUGINS}})})})})}),describe("signTransaction",()=>{it("should return the signature",e=>{const s={r:"0xDEAD",s:"0xBEEF",v:0},a=(0,A.hexaStringToBuffer)(S.Transaction.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized),c={};jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,l.from)([{status:o.DeviceActionStatus.Completed,output:s}]),cancel:jest.fn()});const p=new u.EthAppBinder(r,d,m,D,"sessionId"),{observable:i}=p.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:a,options:c}),t=[];i.subscribe({next:n=>{t.push(n)},error:n=>{e(n)},complete:()=>{try{expect(t).toEqual([{status:o.DeviceActionStatus.Completed,output:s}]),e()}catch(n){e(n)}}})}),it("should return the signature without options",e=>{const s={r:"0xDEAD",s:"0xBEEF",v:0},a=(0,A.hexaStringToBuffer)(S.Transaction.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized);jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,l.from)([{status:o.DeviceActionStatus.Completed,output:s}]),cancel:jest.fn()});const c=new u.EthAppBinder(r,d,m,D,"sessionId"),{observable:p}=c.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:a,options:void 0}),i=[];p.subscribe({next:t=>{i.push(t)},error:t=>{e(t)},complete:()=>{try{expect(i).toEqual([{status:o.DeviceActionStatus.Completed,output:s}]),e()}catch(t){e(t)}}})})}),describe("signMessage",()=>{it("should return the signature",e=>{const s={r:"0xDEAD",s:"0xBEEF",v:0},a="Hello, World!";jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,l.from)([{status:o.DeviceActionStatus.Completed,output:s}]),cancel:jest.fn()});const c=new u.EthAppBinder(r,d,m,D,"sessionId"),{observable:p}=c.signPersonalMessage({derivationPath:"44'/60'/3'/2/1",message:a}),i=[];p.subscribe({next:t=>{i.push(t)},error:t=>{e(t)},complete:()=>{try{expect(i).toEqual([{status:o.DeviceActionStatus.Completed,output:s}]),e()}catch(t){e(t)}}})})}),describe("signTypedData",()=>{it("should return the signature",e=>{const s={r:"0xDEAD",s:"0xBEEF",v:0},a={domain:{},types:{},primaryType:"test",message:{}},c={parse:jest.fn()};jest.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,l.from)([{status:o.DeviceActionStatus.Completed,output:s}]),cancel:jest.fn()});const p=new u.EthAppBinder(r,d,m,D,"sessionId"),{observable:i}=p.signTypedData({derivationPath:"44'/60'/3'/2/1",parser:c,data:a}),t=[];i.subscribe({next:n=>{t.push(n)},error:n=>{e(n)},complete:()=>{try{expect(t).toEqual([{status:o.DeviceActionStatus.Completed,output:s}]),e()}catch(n){e(n)}}})})})});
1
+ "use strict";var v=require("@ledgerhq/device-management-kit"),c=require("@ledgerhq/device-management-kit"),S=require("@ledgerhq/device-management-kit"),h=require("@ledgerhq/device-management-kit"),y=require("ethers"),m=require("rxjs"),f=require("./command/GetAddressCommand"),d=require("./EthAppBinder");describe("EthAppBinder",()=>{const r={sendCommand:vi.fn(),executeDeviceAction:vi.fn()},D={getContext:vi.fn(),getContexts:vi.fn(),getTypedDataFilters:vi.fn(),getWeb3Checks:vi.fn(),getSolanaContext:vi.fn()},l={mapTransactionToSubset:vi.fn()},A={extractValue:vi.fn()};beforeEach(()=>{vi.clearAllMocks()}),describe("getAddress",()=>{it("should return the address, publicKey, and chainCode",()=>new Promise((i,a)=>{const e="0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",s="04e3785ca";vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:{address:e,publicKey:s,chainCode:void 0}}]),cancel:vi.fn()});const p=new d.EthAppBinder(r,D,l,A,"sessionId"),{observable:o}=p.getAddress({derivationPath:"44'/60'/3'/2/1",checkOnDevice:!1,returnChainCode:!1,skipOpenApp:!1}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{a(n)},complete:()=>{try{expect(t).toEqual([{status:c.DeviceActionStatus.Completed,output:{address:e,publicKey:s,chainCode:void 0}}]),i()}catch(n){a(n)}}})})),describe("calls of executeDeviceAction with the correct params",()=>{const i={derivationPath:"44'/60'/3'/2/1",checkOnDevice:!1,returnChainCode:!1,skipOpenApp:!1};test("when checkOnDevice is true: UserInteractionRequired.VerifyAddress",()=>{const e={...i,checkOnDevice:!0};new d.EthAppBinder(r,D,l,A,"sessionId").getAddress(e),expect(r.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new S.SendCommandInAppDeviceAction({input:{command:new f.GetAddressCommand(e),appName:"Ethereum",requiredUserInteraction:h.UserInteractionRequired.VerifyAddress,skipOpenApp:!1}})})}),test("when checkOnDevice is false: UserInteractionRequired.None",()=>{const e={...i,checkOnDevice:!1};new d.EthAppBinder(r,D,l,A,"sessionId").getAddress(e),expect(r.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new S.SendCommandInAppDeviceAction({input:{command:new f.GetAddressCommand(e),appName:"Ethereum",requiredUserInteraction:h.UserInteractionRequired.None,skipOpenApp:!1}})})})})}),describe("signTransaction",()=>{it("should return the signature",()=>new Promise((i,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},s=(0,v.hexaStringToBuffer)(y.Transaction.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized),u={};vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const p=new d.EthAppBinder(r,D,l,A,"sessionId"),{observable:o}=p.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:s,options:u}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{a(n)},complete:()=>{try{expect(t).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),i()}catch(n){a(n)}}})})),it("should return the signature without options",()=>new Promise((i,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},s=(0,v.hexaStringToBuffer)(y.Transaction.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized);vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const u=new d.EthAppBinder(r,D,l,A,"sessionId"),{observable:p}=u.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:s,options:void 0}),o=[];p.subscribe({next:t=>{o.push(t)},error:t=>{a(t)},complete:()=>{try{expect(o).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),i()}catch(t){a(t)}}})}))}),describe("signMessage",()=>{it("should return the signature",()=>new Promise((i,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},s="Hello, World!";vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const u=new d.EthAppBinder(r,D,l,A,"sessionId"),{observable:p}=u.signPersonalMessage({derivationPath:"44'/60'/3'/2/1",message:s,skipOpenApp:!1}),o=[];p.subscribe({next:t=>{o.push(t)},error:t=>{a(t)},complete:()=>{try{expect(o).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),i()}catch(t){a(t)}}})}))}),describe("signDelegationAuthorization",()=>{it("should return the signature",()=>new Promise((i,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},s=2,u=42,p="0xaddress";vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const o=new d.EthAppBinder(r,D,l,A,"sessionId"),{observable:t}=o.signDelegationAuthorization({derivationPath:"44'/60'/3'/2/1",chainId:s,address:p,nonce:u}),n=[];t.subscribe({next:g=>{n.push(g)},error:g=>{a(g)},complete:()=>{try{expect(n).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),i()}catch(g){a(g)}}})}))}),describe("signTypedData",()=>{it("should return the signature",()=>new Promise((i,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},s={domain:{},types:{},primaryType:"test",message:{}},u={parse:vi.fn()};vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const p=new d.EthAppBinder(r,D,l,A,"sessionId"),{observable:o}=p.signTypedData({derivationPath:"44'/60'/3'/2/1",parser:u,data:s,skipOpenApp:!1}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{a(n)},complete:()=>{try{expect(t).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),i()}catch(n){a(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 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: 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 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\", (done) => {\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 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: Uint8Array = hexaStringToBuffer(\n Transaction.from({\n to: \"0x1234567890123456789012345678901234567890\",\n value: 0n,\n }).unsignedSerialized,\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.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": ["import_device_management_kit", "import_ethers", "import_rxjs", "import_GetAddressCommand", "import_plugins", "import_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 SignDelegationAuthorizationDAError,\n type SignDelegationAuthorizationDAIntermediateValue,\n type SignDelegationAuthorizationDAOutput,\n} from \"@api/app-binder/SignDelegationAuthorizationTypes\";\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: vi.fn(),\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n const mockedContextModule: ContextModule = {\n getContext: vi.fn(),\n getContexts: vi.fn(),\n getTypedDataFilters: vi.fn(),\n getWeb3Checks: vi.fn(),\n getSolanaContext: 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 checkOnDevice: false,\n returnChainCode: false,\n skipOpenApp: false,\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 checkOnDevice: false,\n returnChainCode: false,\n skipOpenApp: 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 skipOpenApp: false,\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 skipOpenApp: false,\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 skipOpenApp: false,\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(\"signDelegationAuthorization\", () => {\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 chainId = 2;\n const nonce = 42;\n const address = \"0xaddress\";\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignDelegationAuthorizationDAOutput,\n SignDelegationAuthorizationDAError,\n SignDelegationAuthorizationDAIntermediateValue\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.signDelegationAuthorization({\n derivationPath: \"44'/60'/3'/2/1\",\n chainId,\n address,\n nonce,\n });\n\n // THEN\n const states: DeviceActionState<\n SignDelegationAuthorizationDAOutput,\n SignDelegationAuthorizationDAError,\n SignDelegationAuthorizationDAIntermediateValue\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 skipOpenApp: false,\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": ["import_device_management_kit", "import_ethers", "import_rxjs", "import_GetAddressCommand", "import_EthAppBinder", "mockedDmk", "mockedContextModule", "mockedMapper", "mockedParser", "resolve", "reject", "address", "publicKey", "appBinder", "observable", "states", "state", "err", "baseParams", "params", "signature", "transaction", "options", "message", "chainId", "nonce", "typedData", "parser"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var r=require("@ledgerhq/device-management-kit"),a=require("./GetAddressCommand");const i=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]),c=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]),u=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]),p=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]),f=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]),l=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]),A=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:l}),o=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]),n=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:o});describe("GetAddressCommand",()=>{let t;const s={derivationPath:"44'/60'/0'/0/0",checkOnDevice:!1,returnChainCode:!1};beforeEach(()=>{t=new a.GetAddressCommand(s)}),describe("getApdu",()=>{it("should return the GetAddress apdu with default args",()=>{const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(i)}),it("should return the GetAddress apdu with checkOnDevice set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(c)}),it("should return the GetAddress apdu with returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(u)}),it("should return the GetAddress apdu with checkOnDevice and returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(p)}),it("should return the GetAddress apdu with a custom derivation path",()=>{const x="44'/60'/3'/2/1";t=new a.GetAddressCommand({...s,derivationPath:x});const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(f)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const x=t.parseResponse(A);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),it("should parse the response with chainCode",()=>{t.args.returnChainCode=!0;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a"}}))}),it("should not return chainCode if it is not requested",()=>{t.args.returnChainCode=!1;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),describe("should return an error",()=>{it("when the response is not successfull",()=>{const x=new r.ApduResponse({statusCode:Uint8Array.from([109,0]),data:new Uint8Array(0)}),e=t.parseResponse(x);expect((0,r.isSuccessCommandResult)(e)).toBe(!1)}),it("when publicKeyLength is invalid",()=>{const x={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),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=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),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=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),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=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),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=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Invalid Ethereum address")))}),it("when chainCode is invalid",()=>{const x={data:o.slice(0,-1),statusCode:Uint8Array.from([144,0])},d=new a.GetAddressCommand({...s,returnChainCode:!0}).parseResponse(x);(0,r.isSuccessCommandResult)(d)?fail("Expected an error"):(expect(d.error).toBeInstanceOf(r.InvalidStatusWordError),expect(d.error.originalError).toEqual(new Error("Invalid Chaincode")))})})})});
1
+ "use strict";var r=require("@ledgerhq/device-management-kit"),a=require("./GetAddressCommand");const i=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]),c=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]),u=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]),p=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]),f=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]),l=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]),A=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:l}),o=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]),n=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:o});describe("GetAddressCommand",()=>{let t;const s={derivationPath:"44'/60'/0'/0/0",checkOnDevice:!1,returnChainCode:!1};beforeEach(()=>{t=new a.GetAddressCommand(s)}),describe("getApdu",()=>{it("should return the GetAddress apdu with default args",()=>{const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(i)}),it("should return the GetAddress apdu with checkOnDevice set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(c)}),it("should return the GetAddress apdu with returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(u)}),it("should return the GetAddress apdu with checkOnDevice and returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(p)}),it("should return the GetAddress apdu with a custom derivation path",()=>{const x="44'/60'/3'/2/1";t=new a.GetAddressCommand({...s,derivationPath:x});const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(f)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const x=t.parseResponse(A);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),it("should parse the response with chainCode",()=>{t.args.returnChainCode=!0;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a"}}))}),it("should not return chainCode if it is not requested",()=>{t.args.returnChainCode=!1;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),describe("should return an error",()=>{it("when the response is not successfull",()=>{const x=new r.ApduResponse({statusCode:Uint8Array.from([109,0]),data:new Uint8Array(0)}),e=t.parseResponse(x);expect((0,r.isSuccessCommandResult)(e)).toBe(!1)}),it("when publicKeyLength is invalid",()=>{const x={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),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=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),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=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),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=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),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=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Invalid Ethereum address")))}),it("when chainCode is invalid",()=>{const x={data:o.slice(0,-1),statusCode:Uint8Array.from([144,0])},d=new a.GetAddressCommand({...s,returnChainCode:!0}).parseResponse(x);(0,r.isSuccessCommandResult)(d)?assert.fail("Expected an error"):(expect(d.error).toBeInstanceOf(r.InvalidStatusWordError),expect(d.error.originalError).toEqual(new Error("Invalid Chaincode")))})})})});
2
2
  //# sourceMappingURL=GetAddressCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/GetAddressCommand.test.ts"],
4
- "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { GetAddressCommand } from \"./GetAddressCommand\";\n\nconst GET_ADDRESS_APDU = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE = Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE =\n Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00,\n 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n ]);\n\nconst GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([\n 0x41, 0x04, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x01, 0x0b, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0x0b, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33,\n]);\n\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n});\n\nconst LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE = Uint8Array.from([\n 0x41, 0x4, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x1, 0xb, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0xb, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33, 0x42, 0x3e, 0x65, 0x1f, 0x2b, 0x16, 0xb4, 0x18, 0x6d, 0x5e,\n 0xac, 0x16, 0x7c, 0xc4, 0x9a, 0xad, 0xe4, 0xa9, 0x7e, 0xb3, 0xb1, 0x37, 0xde,\n 0x36, 0x33, 0x47, 0x99, 0x68, 0x4d, 0xc, 0x71, 0x4a,\n]);\n\nconst LNX_RESPONSE_GOOD_WITH_CHAIN_CODE = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE,\n});\n\ndescribe(\"GetAddressCommand\", () => {\n let command: GetAddressCommand;\n const defaultArgs = {\n derivationPath: \"44'/60'/0'/0/0\",\n checkOnDevice: false,\n returnChainCode: false,\n };\n\n beforeEach(() => {\n command = new GetAddressCommand(defaultArgs);\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAddress apdu with default args\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_ADDRESS_APDU);\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice set to true\", () => {\n command = new GetAddressCommand({ ...defaultArgs, checkOnDevice: true });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE,\n );\n });\n\n it(\"should return the GetAddress apdu with returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice and returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n checkOnDevice: true,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with a custom derivation path\", () => {\n const customDerivationPath = \"44'/60'/3'/2/1\";\n command = new GetAddressCommand({\n ...defaultArgs,\n derivationPath: customDerivationPath,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n it(\"should parse the response with chainCode\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = true;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode:\n \"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a\",\n },\n }),\n );\n });\n\n it(\"should not return chainCode if it is not requested\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = false;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n describe(\"should return an error\", () => {\n it(\"when the response is not successfull\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6d, 0x00]),\n data: new Uint8Array(0),\n });\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"when publicKeyLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]), // Invalid public key length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key length is missing\"),\n );\n }\n });\n\n it(\"when publicKey is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x01]), // Invalid public key\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key is missing\"),\n );\n }\n });\n\n it(\"when addressLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02)]), // Invalid address length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address length is missing\"),\n );\n }\n });\n\n it(\"when address is missing\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02), 0x01]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address is missing\"),\n );\n }\n });\n\n it(\"when the address is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x20,\n ...Array<number>(32).fill(0x02),\n 0x01,\n 0x02,\n ]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Ethereum address\"),\n );\n }\n });\n\n it(\"when chainCode is invalid\", () => {\n // GIVEN\n const response = {\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE.slice(0, -1), // Invalid chainCode\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const commandWithChainCode = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const result = commandWithChainCode.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Chaincode\"),\n );\n }\n });\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { GetAddressCommand } from \"./GetAddressCommand\";\n\nconst GET_ADDRESS_APDU = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE = Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE =\n Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00,\n 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n ]);\n\nconst GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([\n 0x41, 0x04, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x01, 0x0b, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0x0b, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33,\n]);\n\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n});\n\nconst LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE = Uint8Array.from([\n 0x41, 0x4, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x1, 0xb, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0xb, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33, 0x42, 0x3e, 0x65, 0x1f, 0x2b, 0x16, 0xb4, 0x18, 0x6d, 0x5e,\n 0xac, 0x16, 0x7c, 0xc4, 0x9a, 0xad, 0xe4, 0xa9, 0x7e, 0xb3, 0xb1, 0x37, 0xde,\n 0x36, 0x33, 0x47, 0x99, 0x68, 0x4d, 0xc, 0x71, 0x4a,\n]);\n\nconst LNX_RESPONSE_GOOD_WITH_CHAIN_CODE = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE,\n});\n\ndescribe(\"GetAddressCommand\", () => {\n let command: GetAddressCommand;\n const defaultArgs = {\n derivationPath: \"44'/60'/0'/0/0\",\n checkOnDevice: false,\n returnChainCode: false,\n };\n\n beforeEach(() => {\n command = new GetAddressCommand(defaultArgs);\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAddress apdu with default args\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_ADDRESS_APDU);\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice set to true\", () => {\n command = new GetAddressCommand({ ...defaultArgs, checkOnDevice: true });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE,\n );\n });\n\n it(\"should return the GetAddress apdu with returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice and returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n checkOnDevice: true,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with a custom derivation path\", () => {\n const customDerivationPath = \"44'/60'/3'/2/1\";\n command = new GetAddressCommand({\n ...defaultArgs,\n derivationPath: customDerivationPath,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n it(\"should parse the response with chainCode\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = true;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode:\n \"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a\",\n },\n }),\n );\n });\n\n it(\"should not return chainCode if it is not requested\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = false;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n describe(\"should return an error\", () => {\n it(\"when the response is not successfull\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6d, 0x00]),\n data: new Uint8Array(0),\n });\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"when publicKeyLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]), // Invalid public key length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key length is missing\"),\n );\n }\n });\n\n it(\"when publicKey is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x01]), // Invalid public key\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key is missing\"),\n );\n }\n });\n\n it(\"when addressLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02)]), // Invalid address length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address length is missing\"),\n );\n }\n });\n\n it(\"when address is missing\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02), 0x01]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address is missing\"),\n );\n }\n });\n\n it(\"when the address is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x20,\n ...Array<number>(32).fill(0x02),\n 0x01,\n 0x02,\n ]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Ethereum address\"),\n );\n }\n });\n\n it(\"when chainCode is invalid\", () => {\n // GIVEN\n const response = {\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE.slice(0, -1), // Invalid chainCode\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const commandWithChainCode = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const result = commandWithChainCode.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Chaincode\"),\n );\n }\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_device_management_kit", "import_GetAddressCommand", "GET_ADDRESS_APDU", "GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE", "GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE", "GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE", "GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH", "LNX_RESPONSE_DATA_GOOD", "LNX_RESPONSE_GOOD", "LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE", "LNX_RESPONSE_GOOD_WITH_CHAIN_CODE", "command", "defaultArgs", "apdu", "customDerivationPath", "parsed", "response", "result"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var R=(t,e)=>{for(var o in e)a(t,o,{get:e[o],enumerable:!0})},x=(t,e,o,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of A(e))!E.call(t,n)&&n!==o&&a(t,n,{get:()=>e[n],enumerable:!(p=g(e,n))||p.enumerable});return t};var y=t=>x(a({},"__esModule",{value:!0}),t);var h={};R(h,{GetAppConfiguration:()=>b});module.exports=y(h);var r=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils"),u=require("purify-ts"),s=require("./utils/ethAppErrors");class b{errorHelper=new m.CommandErrorHelper(s.ETH_APP_ERRORS,s.EthAppCommandErrorFactory);constructor(){}getApdu(){const e={cla:224,ins:6,p1:0,p2:0};return new r.ApduBuilder(e).build()}parseResponse(e){return u.Maybe.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const o=new r.ApduParser(e),p=o.extract8BitUInt();if(p===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Cannot extract config flags")});const n=o.extract8BitUInt(),i=o.extract8BitUInt(),d=o.extract8BitUInt();if(n===void 0||i===void 0||d===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Cannot extract version")});const C=!!(p&1),c=!!(p&16),l=!!(p&32),f={blindSigningEnabled:C,web3ChecksEnabled:c,web3ChecksOptIn:l,version:`${n}.${i}.${d}`};return(0,r.CommandResultFactory)({data:f})})}}0&&(module.exports={GetAppConfiguration});
2
+ //# sourceMappingURL=GetAppConfigurationCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/GetAppConfigurationCommand.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 InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport { type GetConfigCommandResponse as GetAppConfigurationCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport class GetAppConfiguration\n implements Command<GetAppConfigurationCommandResponse, void, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<\n GetAppConfigurationCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor() {}\n\n getApdu(): Apdu {\n const getEthConfigArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x06,\n p1: 0x00,\n p2: 0x00,\n };\n const builder = new ApduBuilder(getEthConfigArgs);\n return builder.build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetAppConfigurationCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n const configFlags = parser.extract8BitUInt();\n if (configFlags === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot extract config flags\"),\n });\n }\n\n const major = parser.extract8BitUInt();\n const minor = parser.extract8BitUInt();\n const patch = parser.extract8BitUInt();\n\n if (major === undefined || minor === undefined || patch === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot extract version\"),\n });\n }\n\n const blindSigningEnabled = !!(configFlags & 0x00000001);\n const web3ChecksEnabled = !!(configFlags & 0x00000010);\n const web3ChecksOptIn = !!(configFlags & 0x00000020);\n\n const data: GetAppConfigurationCommandResponse = {\n blindSigningEnabled,\n web3ChecksEnabled,\n web3ChecksOptIn,\n version: `${major}.${minor}.${patch}`,\n };\n\n return CommandResultFactory({\n data,\n });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAUO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAItBC,EAIO,gCAEA,MAAML,CAEb,CACmB,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAE3C,aAAc,CAAC,CAEf,SAAgB,CACd,MAAMM,EAAoC,CACxC,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EAEA,OADgB,IAAI,cAAYA,CAAgB,EACjC,MAAM,CACvB,CAEA,cACEC,EACkE,CAClE,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEhCE,EAAcD,EAAO,gBAAgB,EAC3C,GAAIC,IAAgB,OAClB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,6BAA6B,CACjE,CAAC,EAGH,MAAMC,EAAQF,EAAO,gBAAgB,EAC/BG,EAAQH,EAAO,gBAAgB,EAC/BI,EAAQJ,EAAO,gBAAgB,EAErC,GAAIE,IAAU,QAAaC,IAAU,QAAaC,IAAU,OAC1D,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,wBAAwB,CAC5D,CAAC,EAGH,MAAMC,EAAsB,CAAC,EAAEJ,EAAc,GACvCK,EAAoB,CAAC,EAAEL,EAAc,IACrCM,EAAkB,CAAC,EAAEN,EAAc,IAEnCO,EAA2C,CAC/C,oBAAAH,EACA,kBAAAC,EACA,gBAAAC,EACA,QAAS,GAAGL,CAAK,IAAIC,CAAK,IAAIC,CAAK,EACrC,EAEA,SAAO,wBAAqB,CAC1B,KAAAI,CACF,CAAC,CACH,CAAC,CACH,CACF",
6
+ "names": ["GetAppConfigurationCommand_exports", "__export", "GetAppConfiguration", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "getEthConfigArgs", "response", "parser", "configFlags", "major", "minor", "patch", "blindSigningEnabled", "web3ChecksEnabled", "web3ChecksOptIn", "data"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("@ledgerhq/device-management-kit"),a=require("./GetAppConfigurationCommand");describe("GetConfigCommand",()=>{let s;beforeEach(()=>{s=new a.GetAppConfiguration}),describe("getApdu",()=>{it("should return the raw APDU",()=>{const r=s.getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,6,0,0,0]))})}),describe("parseResponse",()=>{it("should return the app configuration",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([49,1,2,3])},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?expect(e.data).toEqual({blindSigningEnabled:!0,web3ChecksEnabled:!0,web3ChecksOptIn:!0,version:"1.2.3"}):assert.fail("Expected a success")}),it("should return the app configuration with flags disabled",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([0,1,2,3])},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?expect(e.data).toEqual({blindSigningEnabled:!1,web3ChecksEnabled:!1,web3ChecksOptIn:!1,version:"1.2.3"}):assert.fail("Expected a success")}),it("should return an error if the device is locked",()=>{const r={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"5515",message:"Device is locked."}))}),it("should return an error if data is invalid",()=>{const r={statusCode:Uint8Array.from([106,128]),data:new Uint8Array},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"6a80",message:"Invalid data"}))}),it("should return an error if no flags are extracted",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(t.InvalidStatusWordError),expect(e.error).toEqual(expect.objectContaining({originalError:new Error("Cannot extract config flags")})))}),it("should return an error if no version is extracted",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([1])},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(t.InvalidStatusWordError),expect(e.error).toEqual(expect.objectContaining({originalError:new Error("Cannot extract version")})))})})});
2
+ //# sourceMappingURL=GetAppConfigurationCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/GetAppConfigurationCommand.test.ts"],
4
+ "sourcesContent": ["import {\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { GetAppConfiguration } from \"./GetAppConfigurationCommand\";\n\ndescribe(\"GetConfigCommand\", () => {\n let command: GetAppConfiguration;\n\n beforeEach(() => {\n command = new GetAppConfiguration();\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x06, 0x00, 0x00, 0x00]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return the app configuration\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x31, 0x01, 0x02, 0x03]),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual({\n blindSigningEnabled: true,\n web3ChecksEnabled: true,\n web3ChecksOptIn: true,\n version: \"1.2.3\",\n });\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return the app configuration with flags disabled\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x00, 0x01, 0x02, 0x03]),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual({\n blindSigningEnabled: false,\n web3ChecksEnabled: false,\n web3ChecksOptIn: false,\n version: \"1.2.3\",\n });\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return an error if the device is locked\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"5515\",\n message: \"Device is locked.\",\n }),\n );\n }\n });\n\n it(\"should return an error if data is invalid\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x6a, 0x80]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"6a80\",\n message: \"Invalid data\",\n }),\n );\n }\n });\n\n it(\"should return an error if no flags are extracted\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error).toEqual(\n expect.objectContaining({\n originalError: new Error(\"Cannot extract config flags\"),\n }),\n );\n }\n });\n\n it(\"should return an error if no version is extracted\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x01]),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error).toEqual(\n expect.objectContaining({\n originalError: new Error(\"Cannot extract version\"),\n }),\n );\n }\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAGO,2CAEPC,EAAoC,wCAEpC,SAAS,mBAAoB,IAAM,CACjC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAI,qBAChB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAErC,MAAMC,EAAOD,EAAQ,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAChD,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,sCAAuC,IAAM,CAE9C,MAAMC,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,GAAM,EAAM,EAAM,CAAI,CAAC,CAC/C,EAGMC,EAASH,EAAQ,cAAcE,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,QAAQ,CAC1B,oBAAqB,GACrB,kBAAmB,GACnB,gBAAiB,GACjB,QAAS,OACX,CAAC,EAED,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,0DAA2D,IAAM,CAElE,MAAMD,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,CAC/C,EAGMC,EAASH,EAAQ,cAAcE,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,QAAQ,CAC1B,oBAAqB,GACrB,kBAAmB,GACnB,gBAAiB,GACjB,QAAS,OACX,CAAC,EAED,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMD,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAASH,EAAQ,cAAcE,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,OAAO,KAAK,mBAAmB,EAE/B,OAAOA,EAAO,KAAK,EAAE,QACnB,OAAO,iBAAiB,CACtB,UAAW,OACX,QAAS,mBACX,CAAC,CACH,CAEJ,CAAC,EAED,GAAG,4CAA6C,IAAM,CAEpD,MAAMD,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAASH,EAAQ,cAAcE,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,OAAO,KAAK,mBAAmB,EAE/B,OAAOA,EAAO,KAAK,EAAE,QACnB,OAAO,iBAAiB,CACtB,UAAW,OACX,QAAS,cACX,CAAC,CACH,CAEJ,CAAC,EAED,GAAG,mDAAoD,IAAM,CAE3D,MAAMD,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAASH,EAAQ,cAAcE,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,OAAO,KAAK,mBAAmB,GAE/B,OAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,EAC1D,OAAOA,EAAO,KAAK,EAAE,QACnB,OAAO,iBAAiB,CACtB,cAAe,IAAI,MAAM,6BAA6B,CACxD,CAAC,CACH,EAEJ,CAAC,EAED,GAAG,oDAAqD,IAAM,CAE5D,MAAMD,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAI,CAAC,CAC7B,EAGMC,EAASH,EAAQ,cAAcE,CAAQ,KAGzC,0BAAuBC,CAAM,EAC/B,OAAO,KAAK,mBAAmB,GAE/B,OAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,EAC1D,OAAOA,EAAO,KAAK,EAAE,QACnB,OAAO,iBAAiB,CACtB,cAAe,IAAI,MAAM,wBAAwB,CACnD,CAAC,CACH,EAEJ,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_GetAppConfigurationCommand", "command", "apdu", "response", "result"]
7
+ }