@ledgerhq/device-signer-kit-ethereum 0.0.0-signer-eth-plugin-fix-20250331141239 → 0.0.0-transaction-unfunded-20250917151052

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 (470) hide show
  1. package/README.md +53 -0
  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/SignDelegationAuthorizationTypes.js +2 -0
  9. package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js.map +7 -0
  10. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  11. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
  12. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  13. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
  14. package/lib/cjs/api/index.js +1 -1
  15. package/lib/cjs/api/index.js.map +3 -3
  16. package/lib/cjs/api/model/AddressOptions.js +1 -1
  17. package/lib/cjs/api/model/AddressOptions.js.map +1 -1
  18. package/lib/cjs/api/model/ClearSigningType.js +2 -0
  19. package/lib/cjs/api/model/ClearSigningType.js.map +7 -0
  20. package/lib/cjs/api/model/MessageOptions.js +2 -0
  21. package/lib/cjs/api/model/MessageOptions.js.map +7 -0
  22. package/lib/cjs/api/model/TransactionOptions.js +1 -1
  23. package/lib/cjs/api/model/TransactionOptions.js.map +1 -1
  24. package/lib/cjs/api/model/TypedDataOptions.js +2 -0
  25. package/lib/cjs/api/model/TypedDataOptions.js.map +7 -0
  26. package/lib/cjs/internal/DefaultSignerEth.js +1 -1
  27. package/lib/cjs/internal/DefaultSignerEth.js.map +3 -3
  28. package/lib/cjs/internal/DefaultSignerEth.test.js +1 -1
  29. package/lib/cjs/internal/DefaultSignerEth.test.js.map +3 -3
  30. package/lib/cjs/internal/address/di/addressModule.js +1 -1
  31. package/lib/cjs/internal/address/di/addressModule.js.map +3 -3
  32. package/lib/cjs/internal/address/di/addressModule.test.js +1 -1
  33. package/lib/cjs/internal/address/di/addressModule.test.js.map +2 -2
  34. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js +1 -1
  35. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js.map +2 -2
  36. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  37. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  38. package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
  39. package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
  40. package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
  41. package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +3 -3
  42. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  43. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  44. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  45. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  46. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  47. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  48. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  49. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  50. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  51. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  52. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  53. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  54. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  55. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  56. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  57. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  58. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  59. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  60. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  61. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +2 -2
  62. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  63. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  64. package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
  65. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
  66. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  67. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  68. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  69. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +2 -2
  70. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.js +2 -0
  71. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.js.map +7 -0
  72. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.test.js +2 -0
  73. package/lib/cjs/internal/app-binder/task/BuildSubContextTask.test.js.map +7 -0
  74. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  75. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
  76. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
  77. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
  78. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js +1 -1
  79. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js.map +3 -3
  80. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js +1 -1
  81. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js.map +3 -3
  82. package/lib/cjs/internal/app-binder/task/PreBuildContextTask.js +2 -0
  83. package/lib/cjs/internal/app-binder/task/PreBuildContextTask.js.map +7 -0
  84. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +2 -2
  85. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  86. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +2 -2
  87. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
  88. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
  89. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
  90. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +3 -3
  91. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  92. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  93. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  94. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  95. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  96. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  97. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  98. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  99. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  100. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  101. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  102. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  103. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
  104. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
  105. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
  106. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
  107. package/lib/cjs/internal/di.js +1 -1
  108. package/lib/cjs/internal/di.js.map +3 -3
  109. package/lib/cjs/internal/eip7702/di/eip7702Module.js +2 -0
  110. package/lib/cjs/internal/eip7702/di/eip7702Module.js.map +7 -0
  111. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js +2 -0
  112. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  113. package/lib/cjs/internal/eip7702/di/eip7702Types.js +2 -0
  114. package/lib/cjs/internal/eip7702/di/eip7702Types.js.map +7 -0
  115. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  116. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  117. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  118. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  119. package/lib/cjs/internal/message/di/messageModule.js +1 -1
  120. package/lib/cjs/internal/message/di/messageModule.js.map +3 -3
  121. package/lib/cjs/internal/message/di/messageModule.test.js +1 -1
  122. package/lib/cjs/internal/message/di/messageModule.test.js.map +2 -2
  123. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js +1 -1
  124. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js.map +3 -3
  125. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  126. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  127. package/lib/cjs/internal/shared/utils/ApplicationChecker.js +1 -1
  128. package/lib/cjs/internal/shared/utils/ApplicationChecker.js.map +3 -3
  129. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js +1 -1
  130. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js.map +2 -2
  131. package/lib/cjs/internal/transaction/di/transactionModule.js +1 -1
  132. package/lib/cjs/internal/transaction/di/transactionModule.js.map +3 -3
  133. package/lib/cjs/internal/transaction/di/transactionModule.test.js +1 -1
  134. package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +2 -2
  135. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  136. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  137. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  138. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  139. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
  140. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +3 -3
  141. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
  142. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  143. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  144. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  145. package/lib/cjs/internal/typed-data/di/typedDataModule.js +1 -1
  146. package/lib/cjs/internal/typed-data/di/typedDataModule.js.map +3 -3
  147. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js +1 -1
  148. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js.map +2 -2
  149. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
  150. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
  151. package/lib/cjs/internal/typed-data/service/TypedDataParser.js +1 -1
  152. package/lib/cjs/internal/typed-data/service/TypedDataParser.js.map +3 -3
  153. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js +1 -1
  154. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
  155. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
  156. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
  157. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  158. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  159. package/lib/cjs/package.json +13 -14
  160. package/lib/esm/api/SignerEthBuilder.js +1 -1
  161. package/lib/esm/api/SignerEthBuilder.js.map +3 -3
  162. package/lib/esm/api/SignerEthBuilder.test.js +1 -1
  163. package/lib/esm/api/SignerEthBuilder.test.js.map +3 -3
  164. package/lib/esm/api/app-binder/SignDelegationAuthorizationTypes.js +1 -0
  165. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  166. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
  167. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  168. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
  169. package/lib/esm/api/index.js +1 -1
  170. package/lib/esm/api/index.js.map +2 -2
  171. package/lib/esm/api/model/ClearSigningType.js +2 -0
  172. package/lib/esm/api/model/ClearSigningType.js.map +7 -0
  173. package/lib/esm/api/model/MessageOptions.js +1 -0
  174. package/lib/esm/api/model/MessageOptions.js.map +7 -0
  175. package/lib/esm/api/model/TypedDataOptions.js +1 -0
  176. package/lib/esm/api/model/TypedDataOptions.js.map +7 -0
  177. package/lib/esm/internal/DefaultSignerEth.js +1 -1
  178. package/lib/esm/internal/DefaultSignerEth.js.map +3 -3
  179. package/lib/esm/internal/DefaultSignerEth.test.js +1 -1
  180. package/lib/esm/internal/DefaultSignerEth.test.js.map +3 -3
  181. package/lib/esm/internal/address/di/addressModule.js +1 -1
  182. package/lib/esm/internal/address/di/addressModule.js.map +3 -3
  183. package/lib/esm/internal/address/di/addressModule.test.js +1 -1
  184. package/lib/esm/internal/address/di/addressModule.test.js.map +2 -2
  185. package/lib/esm/internal/address/use-case/GetAddressUseCase.js +1 -1
  186. package/lib/esm/internal/address/use-case/GetAddressUseCase.js.map +2 -2
  187. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  188. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  189. package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
  190. package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
  191. package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
  192. package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +3 -3
  193. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  194. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  195. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  196. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  197. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  198. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  199. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  200. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  201. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  202. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  203. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  204. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  205. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  206. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  207. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  208. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  209. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  210. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  211. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  212. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +2 -2
  213. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  214. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  215. package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
  216. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
  217. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  218. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  219. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  220. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +2 -2
  221. package/lib/esm/internal/app-binder/task/BuildSubContextTask.js +2 -0
  222. package/lib/esm/internal/app-binder/task/BuildSubContextTask.js.map +7 -0
  223. package/lib/esm/internal/app-binder/task/BuildSubContextTask.test.js +2 -0
  224. package/lib/esm/internal/app-binder/task/BuildSubContextTask.test.js.map +7 -0
  225. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +1 -1
  226. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +3 -3
  227. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +1 -1
  228. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +3 -3
  229. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js +1 -1
  230. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js.map +3 -3
  231. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js +1 -1
  232. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js.map +3 -3
  233. package/lib/esm/internal/app-binder/task/PreBuildContextTask.js +2 -0
  234. package/lib/esm/internal/app-binder/task/PreBuildContextTask.js.map +7 -0
  235. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +2 -2
  236. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  237. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +2 -2
  238. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +1 -1
  239. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +3 -3
  240. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +1 -1
  241. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +3 -3
  242. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  243. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  244. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  245. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  246. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  247. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  248. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  249. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  250. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  251. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  252. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  253. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  254. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
  255. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
  256. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
  257. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
  258. package/lib/esm/internal/di.js +1 -1
  259. package/lib/esm/internal/di.js.map +3 -3
  260. package/lib/esm/internal/eip7702/di/eip7702Module.js +2 -0
  261. package/lib/esm/internal/eip7702/di/eip7702Module.js.map +7 -0
  262. package/lib/esm/internal/eip7702/di/eip7702Module.test.js +2 -0
  263. package/lib/esm/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  264. package/lib/esm/internal/eip7702/di/eip7702Types.js +2 -0
  265. package/lib/esm/internal/eip7702/di/eip7702Types.js.map +7 -0
  266. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  267. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  268. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  269. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  270. package/lib/esm/internal/message/di/messageModule.js +1 -1
  271. package/lib/esm/internal/message/di/messageModule.js.map +3 -3
  272. package/lib/esm/internal/message/di/messageModule.test.js +1 -1
  273. package/lib/esm/internal/message/di/messageModule.test.js.map +2 -2
  274. package/lib/esm/internal/message/use-case/SignMessageUseCase.js +1 -1
  275. package/lib/esm/internal/message/use-case/SignMessageUseCase.js.map +3 -3
  276. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  277. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  278. package/lib/esm/internal/shared/utils/ApplicationChecker.js +1 -1
  279. package/lib/esm/internal/shared/utils/ApplicationChecker.js.map +3 -3
  280. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js +1 -1
  281. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js.map +2 -2
  282. package/lib/esm/internal/transaction/di/transactionModule.js +1 -1
  283. package/lib/esm/internal/transaction/di/transactionModule.js.map +3 -3
  284. package/lib/esm/internal/transaction/di/transactionModule.test.js +1 -1
  285. package/lib/esm/internal/transaction/di/transactionModule.test.js.map +2 -2
  286. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  287. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  288. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  289. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  290. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +0 -1
  291. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +4 -4
  292. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
  293. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  294. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  295. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  296. package/lib/esm/internal/typed-data/di/typedDataModule.js +1 -1
  297. package/lib/esm/internal/typed-data/di/typedDataModule.js.map +3 -3
  298. package/lib/esm/internal/typed-data/di/typedDataModule.test.js +1 -1
  299. package/lib/esm/internal/typed-data/di/typedDataModule.test.js.map +2 -2
  300. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
  301. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
  302. package/lib/esm/internal/typed-data/service/TypedDataParser.js +1 -1
  303. package/lib/esm/internal/typed-data/service/TypedDataParser.js.map +3 -3
  304. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js +1 -1
  305. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
  306. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
  307. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
  308. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  309. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  310. package/lib/esm/package.json +13 -14
  311. package/lib/types/api/SignerEth.d.ts +8 -4
  312. package/lib/types/api/SignerEth.d.ts.map +1 -1
  313. package/lib/types/api/SignerEthBuilder.d.ts +4 -2
  314. package/lib/types/api/SignerEthBuilder.d.ts.map +1 -1
  315. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts +19 -0
  316. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts.map +1 -0
  317. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +14 -10
  318. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  319. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +7 -1
  320. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
  321. package/lib/types/api/index.d.ts +5 -4
  322. package/lib/types/api/index.d.ts.map +1 -1
  323. package/lib/types/api/model/AddressOptions.d.ts +1 -0
  324. package/lib/types/api/model/AddressOptions.d.ts.map +1 -1
  325. package/lib/types/api/model/ClearSigningType.d.ts +5 -0
  326. package/lib/types/api/model/ClearSigningType.d.ts.map +1 -0
  327. package/lib/types/api/model/MessageOptions.d.ts +4 -0
  328. package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
  329. package/lib/types/api/model/TransactionOptions.d.ts +1 -0
  330. package/lib/types/api/model/TransactionOptions.d.ts.map +1 -1
  331. package/lib/types/api/model/TypedDataOptions.d.ts +4 -0
  332. package/lib/types/api/model/TypedDataOptions.d.ts.map +1 -0
  333. package/lib/types/internal/DefaultSignerEth.d.ts +7 -3
  334. package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
  335. package/lib/types/internal/address/di/addressModule.d.ts.map +1 -1
  336. package/lib/types/internal/address/use-case/GetAddressUseCase.d.ts.map +1 -1
  337. package/lib/types/internal/app-binder/EthAppBinder.d.ts +13 -3
  338. package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
  339. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts +28 -0
  340. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts.map +1 -0
  341. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts +2 -0
  342. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts.map +1 -0
  343. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts +20 -0
  344. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts.map +1 -0
  345. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts +2 -0
  346. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts.map +1 -0
  347. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts +29 -0
  348. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts.map +1 -0
  349. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts +2 -0
  350. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts.map +1 -0
  351. package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts.map +1 -1
  352. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +14 -31
  353. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
  354. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +1 -2
  355. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
  356. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  357. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  358. package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
  359. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
  360. package/lib/types/internal/app-binder/task/BuildSubContextTask.d.ts +20 -0
  361. package/lib/types/internal/app-binder/task/BuildSubContextTask.d.ts.map +1 -0
  362. package/lib/types/internal/app-binder/task/BuildSubContextTask.test.d.ts +2 -0
  363. package/lib/types/internal/app-binder/task/BuildSubContextTask.test.d.ts.map +1 -0
  364. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +10 -14
  365. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -1
  366. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts +2 -3
  367. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts.map +1 -1
  368. package/lib/types/internal/app-binder/task/PreBuildContextTask.d.ts +17 -0
  369. package/lib/types/internal/app-binder/task/PreBuildContextTask.d.ts.map +1 -0
  370. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +0 -2
  371. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
  372. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +28 -22
  373. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +1 -1
  374. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +2 -2
  375. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -1
  376. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts +18 -0
  377. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts.map +1 -0
  378. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts +2 -0
  379. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts.map +1 -0
  380. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +2 -1
  381. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -1
  382. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts +12 -0
  383. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts.map +1 -0
  384. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts +2 -0
  385. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts.map +1 -0
  386. package/lib/types/internal/di.d.ts.map +1 -1
  387. package/lib/types/internal/eip7702/di/eip7702Module.d.ts +3 -0
  388. package/lib/types/internal/eip7702/di/eip7702Module.d.ts.map +1 -0
  389. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts +2 -0
  390. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts.map +1 -0
  391. package/lib/types/internal/eip7702/di/eip7702Types.d.ts +4 -0
  392. package/lib/types/internal/eip7702/di/eip7702Types.d.ts.map +1 -0
  393. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts +8 -0
  394. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts.map +1 -0
  395. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts +2 -0
  396. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts.map +1 -0
  397. package/lib/types/internal/message/di/messageModule.d.ts.map +1 -1
  398. package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts +2 -1
  399. package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts.map +1 -1
  400. package/lib/types/internal/shared/utils/ApplicationChecker.d.ts.map +1 -1
  401. package/lib/types/internal/transaction/di/transactionModule.d.ts.map +1 -1
  402. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts +8 -0
  403. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts.map +1 -0
  404. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts +2 -0
  405. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts.map +1 -0
  406. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts +4 -7
  407. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -1
  408. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts +2 -2
  409. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -1
  410. package/lib/types/internal/typed-data/di/typedDataModule.d.ts.map +1 -1
  411. package/lib/types/internal/typed-data/service/TypedDataParser.d.ts +4 -2
  412. package/lib/types/internal/typed-data/service/TypedDataParser.d.ts.map +1 -1
  413. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts +2 -1
  414. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts.map +1 -1
  415. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  416. package/package.json +19 -20
  417. package/lib/cjs/internal/app-binder/constant/plugins.js +0 -2
  418. package/lib/cjs/internal/app-binder/constant/plugins.js.map +0 -7
  419. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  420. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  421. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  422. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  423. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  424. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  425. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  426. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  427. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  428. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  429. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  430. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  431. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +0 -2
  432. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +0 -7
  433. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  434. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  435. package/lib/esm/internal/app-binder/constant/plugins.js +0 -2
  436. package/lib/esm/internal/app-binder/constant/plugins.js.map +0 -7
  437. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  438. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  439. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  440. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  441. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  442. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  443. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  444. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  445. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  446. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  447. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  448. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  449. package/lib/esm/internal/transaction/service/mapper/TransactionMapper.js +0 -1
  450. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  451. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  452. package/lib/types/internal/app-binder/constant/plugins.d.ts +0 -2
  453. package/lib/types/internal/app-binder/constant/plugins.d.ts.map +0 -1
  454. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +0 -80
  455. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +0 -1
  456. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts +0 -2
  457. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts.map +0 -1
  458. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +0 -28
  459. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +0 -1
  460. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts +0 -2
  461. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts.map +0 -1
  462. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts +0 -7
  463. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts.map +0 -1
  464. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts +0 -2
  465. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts.map +0 -1
  466. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -6
  467. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
  468. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts +0 -2
  469. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts.map +0 -1
  470. /package/lib/esm/{internal/transaction/service/mapper/TransactionMapper.js.map → api/app-binder/SignDelegationAuthorizationTypes.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SignTypedDataLegacyTask.ts"],
4
+ "sourcesContent": ["import type {\n CommandResult,\n InternalApi,\n} from \"@ledgerhq/device-management-kit\";\nimport type { TypedDataField } from \"ethers\";\nimport { TypedDataEncoder } from \"ethers\";\nimport { Just } from \"purify-ts\";\n\nimport type { Signature } from \"@api/model/Signature\";\nimport type { TypedData } from \"@api/model/TypedData\";\nimport { SignEIP712Command } from \"@internal/app-binder/command/SignEIP712Command\";\nimport type { EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport class SignTypedDataLegacyTask {\n constructor(\n private readonly api: InternalApi,\n private readonly data: TypedData,\n private readonly derivationPath: string,\n ) {}\n\n async run(): Promise<CommandResult<Signature, EthErrorCodes>> {\n // Compute domain hash and message hash on client side\n const domainHash = TypedDataEncoder.hashDomain(this.data.domain);\n\n if (!this.data.types[this.data.primaryType]) {\n throw new Error(\n `Primary type \"${this.data.primaryType}\" is not defined in the types.`,\n );\n }\n\n const typesRecord: Record<string, TypedDataField[]> = this.data.types;\n const { EIP712Domain, ...rest } = typesRecord;\n const messageHash = TypedDataEncoder.hashStruct(\n this.data.primaryType,\n rest,\n this.data.message,\n );\n\n // Blind sign the hash\n return await this.api.sendCommand(\n new SignEIP712Command({\n derivationPath: this.derivationPath,\n legacyArgs: Just({\n domainHash,\n messageHash,\n }),\n }),\n );\n }\n}\n"],
5
+ "mappings": "AAKA,OAAS,oBAAAA,MAAwB,SACjC,OAAS,QAAAC,MAAY,YAIrB,OAAS,qBAAAC,MAAyB,iDAG3B,MAAMC,CAAwB,CACnC,YACmBC,EACAC,EACAC,EACjB,CAHiB,SAAAF,EACA,UAAAC,EACA,oBAAAC,CAChB,CAEH,MAAM,KAAwD,CAE5D,MAAMC,EAAaP,EAAiB,WAAW,KAAK,KAAK,MAAM,EAE/D,GAAI,CAAC,KAAK,KAAK,MAAM,KAAK,KAAK,WAAW,EACxC,MAAM,IAAI,MACR,iBAAiB,KAAK,KAAK,WAAW,gCACxC,EAGF,MAAMQ,EAAgD,KAAK,KAAK,MAC1D,CAAE,aAAAC,EAAc,GAAGC,CAAK,EAAIF,EAC5BG,EAAcX,EAAiB,WACnC,KAAK,KAAK,YACVU,EACA,KAAK,KAAK,OACZ,EAGA,OAAO,MAAM,KAAK,IAAI,YACpB,IAAIR,EAAkB,CACpB,eAAgB,KAAK,eACrB,WAAYD,EAAK,CACf,WAAAM,EACA,YAAAI,CACF,CAAC,CACH,CAAC,CACH,CACF,CACF",
6
+ "names": ["TypedDataEncoder", "Just", "SignEIP712Command", "SignTypedDataLegacyTask", "api", "data", "derivationPath", "domainHash", "typesRecord", "EIP712Domain", "rest", "messageHash"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{CommandResultFactory as n}from"@ledgerhq/device-management-kit";import{Just as s}from"purify-ts";import{SignEIP712Command as o}from"../../app-binder/command/SignEIP712Command";import{makeDeviceActionInternalApiMock as c}from"../../app-binder/device-action/__test-utils__/makeInternalApi";import{SignTypedDataLegacyTask as r}from"./SignTypedDataLegacyTask";describe("SignTypedDataLegacyTask",()=>{const e=c(),i={domain:{name:"Permit2",chainId:137,verifyingContract:"0x000000000022d473030f116ddee9f6b43ac78ba3"},primaryType:"PermitSingle",message:{details:{token:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",amount:"69420000000000000000",expiration:"1718184249",nonce:"0"},spender:"0xec7be89e9d109e7e3fec59c222cf297125fefda2",sigDeadline:"1715594049"},types:{PermitSingle:[{name:"details",type:"PermitDetails"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:[{name:"token",type:"address"},{name:"amount",type:"uint"},{name:"expiration",type:"uint"},{name:"nonce",type:"uint"}]}};beforeEach(()=>{vi.resetAllMocks()}),it("Successful legagy signing",async()=>{const t=new r(e,i,"44'/60'/0'/0/0");e.sendCommand.mockResolvedValue(n({data:{r:"0x24",s:"0x42",v:0}}));const a=await t.run();expect(e.sendCommand).toHaveBeenCalledWith(new o({derivationPath:"44'/60'/0'/0/0",legacyArgs:s({domainHash:"0xf033048cb2764f596bc4d98e089fa38bb84b4be3d5da2e77f9bfac0e4d6c68ca",messageHash:"0x1087495b5e10337738059920fe1de8216235299745e8c97e21b409009a4c362a"})})),expect(a).toStrictEqual(n({data:{r:"0x24",s:"0x42",v:0}}))}),it("Should throw error if no primary type",async()=>{const t=new r(e,{...i,primaryType:"Wat?"},"44'/60'/0'/0/0");e.sendCommand.mockResolvedValue(n({data:{r:"0x24",s:"0x42",v:0}}));try{await t.run()}catch(a){expect(a).toBeInstanceOf(Error),expect(a.message).toBe('Primary type "Wat?" is not defined in the types.')}})});
2
+ //# sourceMappingURL=SignTypedDataLegacyTask.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SignTypedDataLegacyTask.test.ts"],
4
+ "sourcesContent": ["import { CommandResultFactory } from \"@ledgerhq/device-management-kit\";\nimport { Just } from \"purify-ts\";\n\nimport { SignEIP712Command } from \"@internal/app-binder/command/SignEIP712Command\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport { SignTypedDataLegacyTask } from \"./SignTypedDataLegacyTask\";\n\ndescribe(\"SignTypedDataLegacyTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n const TEST_DATA = {\n domain: {\n name: \"Permit2\",\n chainId: 137,\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n },\n primaryType: \"PermitSingle\",\n message: {\n details: {\n token: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n amount: \"69420000000000000000\",\n expiration: \"1718184249\",\n nonce: \"0\",\n },\n spender: \"0xec7be89e9d109e7e3fec59c222cf297125fefda2\",\n sigDeadline: \"1715594049\",\n },\n types: {\n PermitSingle: [\n {\n name: \"details\",\n type: \"PermitDetails\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"sigDeadline\",\n type: \"uint256\",\n },\n ],\n PermitDetails: [\n { name: \"token\", type: \"address\" },\n { name: \"amount\", type: \"uint\" },\n { name: \"expiration\", type: \"uint\" },\n { name: \"nonce\", type: \"uint\" },\n ],\n },\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Successful legagy signing\", async () => {\n // GIVEN\n const task = new SignTypedDataLegacyTask(\n apiMock,\n TEST_DATA,\n \"44'/60'/0'/0/0\",\n );\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({\n data: {\n r: \"0x24\",\n s: \"0x42\",\n v: 0,\n },\n }),\n );\n // WHEN\n const signature = await task.run();\n // THEN\n expect(apiMock.sendCommand).toHaveBeenCalledWith(\n new SignEIP712Command({\n derivationPath: \"44'/60'/0'/0/0\",\n legacyArgs: Just({\n domainHash:\n \"0xf033048cb2764f596bc4d98e089fa38bb84b4be3d5da2e77f9bfac0e4d6c68ca\",\n messageHash:\n \"0x1087495b5e10337738059920fe1de8216235299745e8c97e21b409009a4c362a\",\n }),\n }),\n );\n expect(signature).toStrictEqual(\n CommandResultFactory({\n data: {\n r: \"0x24\",\n s: \"0x42\",\n v: 0,\n },\n }),\n );\n });\n\n it(\"Should throw error if no primary type\", async () => {\n // GIVEN\n const task = new SignTypedDataLegacyTask(\n apiMock,\n {\n ...TEST_DATA,\n primaryType: \"Wat?\",\n },\n \"44'/60'/0'/0/0\",\n );\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({\n data: {\n r: \"0x24\",\n s: \"0x42\",\n v: 0,\n },\n }),\n );\n // WHEN\n try {\n await task.run();\n } catch (e) {\n // THEN\n expect(e).toBeInstanceOf(Error);\n // @ts-expect-error\n expect(e.message).toBe(\n 'Primary type \"Wat?\" is not defined in the types.',\n );\n }\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,wBAAAA,MAA4B,kCACrC,OAAS,QAAAC,MAAY,YAErB,OAAS,qBAAAC,MAAyB,iDAClC,OAAS,mCAAAC,MAAuC,oEAEhD,OAAS,2BAAAC,MAA+B,4BAExC,SAAS,0BAA2B,IAAM,CACxC,MAAMC,EAAUF,EAAgC,EAE1CG,EAAY,CAChB,OAAQ,CACN,KAAM,UACN,QAAS,IACT,kBAAmB,4CACrB,EACA,YAAa,eACb,QAAS,CACP,QAAS,CACP,MAAO,6CACP,OAAQ,uBACR,WAAY,aACZ,MAAO,GACT,EACA,QAAS,6CACT,YAAa,YACf,EACA,MAAO,CACL,aAAc,CACZ,CACE,KAAM,UACN,KAAM,eACR,EACA,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,cACN,KAAM,SACR,CACF,EACA,cAAe,CACb,CAAE,KAAM,QAAS,KAAM,SAAU,EACjC,CAAE,KAAM,SAAU,KAAM,MAAO,EAC/B,CAAE,KAAM,aAAc,KAAM,MAAO,EACnC,CAAE,KAAM,QAAS,KAAM,MAAO,CAChC,CACF,CACF,EAEA,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,4BAA6B,SAAY,CAE1C,MAAMC,EAAO,IAAIH,EACfC,EACAC,EACA,gBACF,EACAD,EAAQ,YAAY,kBAClBL,EAAqB,CACnB,KAAM,CACJ,EAAG,OACH,EAAG,OACH,EAAG,CACL,CACF,CAAC,CACH,EAEA,MAAMQ,EAAY,MAAMD,EAAK,IAAI,EAEjC,OAAOF,EAAQ,WAAW,EAAE,qBAC1B,IAAIH,EAAkB,CACpB,eAAgB,iBAChB,WAAYD,EAAK,CACf,WACE,qEACF,YACE,oEACJ,CAAC,CACH,CAAC,CACH,EACA,OAAOO,CAAS,EAAE,cAChBR,EAAqB,CACnB,KAAM,CACJ,EAAG,OACH,EAAG,OACH,EAAG,CACL,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,wCAAyC,SAAY,CAEtD,MAAMO,EAAO,IAAIH,EACfC,EACA,CACE,GAAGC,EACH,YAAa,MACf,EACA,gBACF,EACAD,EAAQ,YAAY,kBAClBL,EAAqB,CACnB,KAAM,CACJ,EAAG,OACH,EAAG,OACH,EAAG,CACL,CACF,CAAC,CACH,EAEA,GAAI,CACF,MAAMO,EAAK,IAAI,CACjB,OAASE,EAAG,CAEV,OAAOA,CAAC,EAAE,eAAe,KAAK,EAE9B,OAAOA,EAAE,OAAO,EAAE,KAChB,kDACF,CACF,CACF,CAAC,CACH,CAAC",
6
+ "names": ["CommandResultFactory", "Just", "SignEIP712Command", "makeDeviceActionInternalApiMock", "SignTypedDataLegacyTask", "apiMock", "TEST_DATA", "task", "signature", "e"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{Container as a}from"inversify";import{addressModuleFactory as i}from"./address/di/addressModule";import{appBindingModuleFactory as m}from"./app-binder/di/appBinderModule";import{externalTypes as o}from"./externalTypes";import{messageModuleFactory as d}from"./message/di/messageModule";import{transactionModuleFactory as s}from"./transaction/di/transactionModule";import{typedDataModuleFactory as p}from"./typed-data/di/typedDataModule";const x=({dmk:t,sessionId:n,contextModule:r})=>{const e=new a;return e.bind(o.Dmk).toConstantValue(t),e.bind(o.ContextModule).toConstantValue(r),e.bind(o.SessionId).toConstantValue(n),e.load(i(),m(),d(),s(),p()),e};export{x as makeContainer};
1
+ import{Container as i}from"inversify";import{addressModuleFactory as a}from"./address/di/addressModule";import{appBindingModuleFactory as m}from"./app-binder/di/appBinderModule";import{eip7702ModuleFactory as d}from"./eip7702/di/eip7702Module";import{externalTypes as o}from"./externalTypes";import{messageModuleFactory as s}from"./message/di/messageModule";import{transactionModuleFactory as p}from"./transaction/di/transactionModule";import{typedDataModuleFactory as c}from"./typed-data/di/typedDataModule";const v=({dmk:t,sessionId:n,contextModule:r})=>{const e=new i;return e.bind(o.Dmk).toConstantValue(t),e.bind(o.ContextModule).toConstantValue(r),e.bind(o.SessionId).toConstantValue(n),e.loadSync(a(),m(),d(),s(),p(),c()),e};export{v as makeContainer};
2
2
  //# sourceMappingURL=di.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/internal/di.ts"],
4
- "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\n// import { makeLoggerMiddleware } from \"inversify-logger-middleware\";\nimport { addressModuleFactory } from \"@internal/address/di/addressModule\";\nimport { appBindingModuleFactory } from \"@internal/app-binder/di/appBinderModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { messageModuleFactory } from \"@internal/message/di/messageModule\";\nimport { transactionModuleFactory } from \"@internal/transaction/di/transactionModule\";\nimport { typedDataModuleFactory } from \"@internal/typed-data/di/typedDataModule\";\n\n// Uncomment this line to enable the logger middleware\n// const logger = makeLoggerMiddleware();\n\nexport type MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n contextModule: ContextModule;\n};\n\nexport const makeContainer = ({\n dmk,\n sessionId,\n contextModule,\n}: MakeContainerProps) => {\n const container = new Container();\n\n // Uncomment this line to enable the logger middleware\n // container.applyMiddleware(logger);\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<ContextModule>(externalTypes.ContextModule)\n .toConstantValue(contextModule);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container.load(\n addressModuleFactory(),\n appBindingModuleFactory(),\n messageModuleFactory(),\n transactionModuleFactory(),\n typedDataModuleFactory(),\n );\n\n return container;\n};\n"],
5
- "mappings": "AAKA,OAAS,aAAAA,MAAiB,YAG1B,OAAS,wBAAAC,MAA4B,qCACrC,OAAS,2BAAAC,MAA+B,0CACxC,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,wBAAAC,MAA4B,qCACrC,OAAS,4BAAAC,MAAgC,6CACzC,OAAS,0BAAAC,MAA8B,0CAWhC,MAAMC,EAAgB,CAAC,CAC5B,IAAAC,EACA,UAAAC,EACA,cAAAC,CACF,IAA0B,CACxB,MAAMC,EAAY,IAAIX,EAKtB,OAAAW,EAAU,KAA0BR,EAAc,GAAG,EAAE,gBAAgBK,CAAG,EAC1EG,EACG,KAAoBR,EAAc,aAAa,EAC/C,gBAAgBO,CAAa,EAChCC,EACG,KAAsBR,EAAc,SAAS,EAC7C,gBAAgBM,CAAS,EAE5BE,EAAU,KACRV,EAAqB,EACrBC,EAAwB,EACxBE,EAAqB,EACrBC,EAAyB,EACzBC,EAAuB,CACzB,EAEOK,CACT",
6
- "names": ["Container", "addressModuleFactory", "appBindingModuleFactory", "externalTypes", "messageModuleFactory", "transactionModuleFactory", "typedDataModuleFactory", "makeContainer", "dmk", "sessionId", "contextModule", "container"]
4
+ "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { addressModuleFactory } from \"@internal/address/di/addressModule\";\nimport { appBindingModuleFactory } from \"@internal/app-binder/di/appBinderModule\";\nimport { eip7702ModuleFactory } from \"@internal/eip7702/di/eip7702Module\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { messageModuleFactory } from \"@internal/message/di/messageModule\";\nimport { transactionModuleFactory } from \"@internal/transaction/di/transactionModule\";\nimport { typedDataModuleFactory } from \"@internal/typed-data/di/typedDataModule\";\n\nexport type MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n contextModule: ContextModule;\n};\n\nexport const makeContainer = ({\n dmk,\n sessionId,\n contextModule,\n}: MakeContainerProps) => {\n const container = new Container();\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<ContextModule>(externalTypes.ContextModule)\n .toConstantValue(contextModule);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container.loadSync(\n addressModuleFactory(),\n appBindingModuleFactory(),\n eip7702ModuleFactory(),\n messageModuleFactory(),\n transactionModuleFactory(),\n typedDataModuleFactory(),\n );\n\n return container;\n};\n"],
5
+ "mappings": "AAKA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,wBAAAC,MAA4B,qCACrC,OAAS,2BAAAC,MAA+B,0CACxC,OAAS,wBAAAC,MAA4B,qCACrC,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,wBAAAC,MAA4B,qCACrC,OAAS,4BAAAC,MAAgC,6CACzC,OAAS,0BAAAC,MAA8B,0CAQhC,MAAMC,EAAgB,CAAC,CAC5B,IAAAC,EACA,UAAAC,EACA,cAAAC,CACF,IAA0B,CACxB,MAAMC,EAAY,IAAIZ,EAEtB,OAAAY,EAAU,KAA0BR,EAAc,GAAG,EAAE,gBAAgBK,CAAG,EAC1EG,EACG,KAAoBR,EAAc,aAAa,EAC/C,gBAAgBO,CAAa,EAChCC,EACG,KAAsBR,EAAc,SAAS,EAC7C,gBAAgBM,CAAS,EAE5BE,EAAU,SACRX,EAAqB,EACrBC,EAAwB,EACxBC,EAAqB,EACrBE,EAAqB,EACrBC,EAAyB,EACzBC,EAAuB,CACzB,EAEOK,CACT",
6
+ "names": ["Container", "addressModuleFactory", "appBindingModuleFactory", "eip7702ModuleFactory", "externalTypes", "messageModuleFactory", "transactionModuleFactory", "typedDataModuleFactory", "makeContainer", "dmk", "sessionId", "contextModule", "container"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{ContainerModule as e}from"inversify";import{eip7702Types as i}from"../../eip7702/di/eip7702Types";import{SignDelegationAuthorizationUseCase as t}from"../../eip7702/use-case/SignDelegationAuthorizationUseCase";const p=()=>new e(({bind:o})=>{o(i.SignDelegationAuthorizationUseCase).to(t)});export{p as eip7702ModuleFactory};
2
+ //# sourceMappingURL=eip7702Module.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/di/eip7702Module.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { eip7702Types } from \"@internal/eip7702/di/eip7702Types\";\nimport { SignDelegationAuthorizationUseCase } from \"@internal/eip7702/use-case/SignDelegationAuthorizationUseCase\";\n\nexport const eip7702ModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(eip7702Types.SignDelegationAuthorizationUseCase).to(\n SignDelegationAuthorizationUseCase,\n );\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,gBAAAC,MAAoB,oCAC7B,OAAS,sCAAAC,MAA0C,gEAE5C,MAAMC,EAAuB,IAClC,IAAIH,EAAgB,CAAC,CAAE,KAAAI,CAAK,IAAM,CAChCA,EAAKH,EAAa,kCAAkC,EAAE,GACpDC,CACF,CACF,CAAC",
6
+ "names": ["ContainerModule", "eip7702Types", "SignDelegationAuthorizationUseCase", "eip7702ModuleFactory", "bind"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{Container as t}from"inversify";import{eip7702ModuleFactory as r}from"./eip7702Module";describe("eip7702ModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=r(),o=new t,o.load(e)}),it("should return the eip7702 module",()=>{expect(e).toBeDefined()})})});
2
+ //# sourceMappingURL=eip7702Module.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/di/eip7702Module.test.ts"],
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { eip7702ModuleFactory } from \"./eip7702Module\";\n\ndescribe(\"eip7702ModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof eip7702ModuleFactory>;\n beforeEach(() => {\n mod = eip7702ModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the eip7702 module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,wBAAAC,MAA4B,kBAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMF,EAAqB,EAC3BC,EAAY,IAAIF,EAChBE,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["Container", "eip7702ModuleFactory", "container", "mod"]
7
+ }
@@ -0,0 +1,2 @@
1
+ const e={SignDelegationAuthorizationUseCase:Symbol.for("SignDelegationAuthorizationUseCase")};export{e as eip7702Types};
2
+ //# sourceMappingURL=eip7702Types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/di/eip7702Types.ts"],
4
+ "sourcesContent": ["export const eip7702Types = {\n SignDelegationAuthorizationUseCase: Symbol.for(\n \"SignDelegationAuthorizationUseCase\",\n ),\n};\n"],
5
+ "mappings": "AAAO,MAAMA,EAAe,CAC1B,mCAAoC,OAAO,IACzC,oCACF,CACF",
6
+ "names": ["eip7702Types"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=(n,r,i,t)=>{for(var p=t>1?void 0:t?c(r,i):r,o=n.length-1,m;o>=0;o--)(m=n[o])&&(p=(t?m(r,i,p):m(p))||p);return t&&p&&u(r,i,p),p},B=(n,r)=>(i,t)=>r(i,t,n);import{inject as A,injectable as h}from"inversify";import{appBinderTypes as a}from"../../app-binder/di/appBinderTypes";let e=class{_appBinder;constructor(r){this._appBinder=r}execute(r,i,t,p){return this._appBinder.signDelegationAuthorization({derivationPath:r,nonce:i,address:t,chainId:p})}};e=d([h(),B(0,A(a.AppBinding))],e);export{e as SignDelegationAuthorizationUseCase};
2
+ //# sourceMappingURL=SignDelegationAuthorizationUseCase.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.ts"],
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignDelegationAuthorizationDAReturnType } from \"@api/app-binder/SignDelegationAuthorizationTypes\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\n@injectable()\nexport class SignDelegationAuthorizationUseCase {\n private _appBinder: EthAppBinder;\n\n constructor(\n @inject(appBinderTypes.AppBinding)\n appBinding: EthAppBinder,\n ) {\n this._appBinder = appBinding;\n }\n\n execute(\n derivationPath: string,\n nonce: number,\n address: string,\n chainId: number,\n ): SignDelegationAuthorizationDAReturnType {\n return this._appBinder.signDelegationAuthorization({\n derivationPath,\n nonce,\n address,\n chainId,\n });\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAGnC,OAAS,kBAAAC,MAAsB,yCAIxB,IAAMC,EAAN,KAAyC,CACtC,WAER,YAEEC,EACA,CACA,KAAK,WAAaA,CACpB,CAEA,QACEC,EACAC,EACAC,EACAC,EACyC,CACzC,OAAO,KAAK,WAAW,4BAA4B,CACjD,eAAAH,EACA,MAAAC,EACA,QAAAC,EACA,QAAAC,CACF,CAAC,CACH,CACF,EAvBaL,EAANM,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAe,UAAU,IAJxBV",
6
+ "names": ["inject", "injectable", "appBinderTypes", "SignDelegationAuthorizationUseCase", "appBinding", "derivationPath", "nonce", "address", "chainId", "__decorateClass", "injectable", "__decorateParam", "inject", "appBinderTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{SignDelegationAuthorizationUseCase as s}from"./SignDelegationAuthorizationUseCase";describe("SignDelegationAuthorizationUseCase",()=>{it("should call signPersonalMessage on appBinder with the correct arguments",()=>{const e="44'/501'/0'/0'",n="address",i={signDelegationAuthorization:vi.fn()};new s(i).execute(e,42,n,2),expect(i.signDelegationAuthorization).toHaveBeenCalledWith({derivationPath:e,nonce:42,address:n,chainId:2})})});
2
+ //# sourceMappingURL=SignDelegationAuthorizationUseCase.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.ts"],
4
+ "sourcesContent": ["import { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\nimport { SignDelegationAuthorizationUseCase } from \"./SignDelegationAuthorizationUseCase\";\n\ndescribe(\"SignDelegationAuthorizationUseCase\", () => {\n it(\"should call signPersonalMessage on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"44'/501'/0'/0'\";\n const chainId = 2;\n const nonce = 42;\n const address = \"address\";\n const appBinder = {\n signDelegationAuthorization: vi.fn(),\n };\n const signMessageUseCase = new SignDelegationAuthorizationUseCase(\n appBinder as unknown as EthAppBinder,\n );\n\n // When\n signMessageUseCase.execute(derivationPath, nonce, address, chainId);\n\n // Then\n expect(appBinder.signDelegationAuthorization).toHaveBeenCalledWith({\n derivationPath,\n nonce,\n address,\n chainId,\n });\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,sCAAAA,MAA0C,uCAEnD,SAAS,qCAAsC,IAAM,CACnD,GAAG,0EAA2E,IAAM,CAElF,MAAMC,EAAiB,iBAGjBC,EAAU,UACVC,EAAY,CAChB,4BAA6B,GAAG,GAAG,CACrC,EAC2B,IAAIH,EAC7BG,CACF,EAGmB,QAAQF,EAAgB,GAAOC,EAAS,CAAO,EAGlE,OAAOC,EAAU,2BAA2B,EAAE,qBAAqB,CACjE,eAAAF,EACA,SACA,QAAAC,EACA,SACF,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["SignDelegationAuthorizationUseCase", "derivationPath", "address", "appBinder"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as o}from"inversify";import{messageTypes as n}from"../../message/di/messageTypes";import{SignMessageUseCase as s}from"../../message/use-case/SignMessageUseCase";const p=()=>new o((e,i,t,a,r,m,d)=>{e(n.SignMessageUseCase).to(s)});export{p as messageModuleFactory};
1
+ import{ContainerModule as s}from"inversify";import{messageTypes as o}from"../../message/di/messageTypes";import{SignMessageUseCase as r}from"../../message/use-case/SignMessageUseCase";const g=()=>new s(({bind:e})=>{e(o.SignMessageUseCase).to(r)});export{g as messageModuleFactory};
2
2
  //# sourceMappingURL=messageModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/di/messageModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\n\nexport const messageModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(messageTypes.SignMessageUseCase).to(SignMessageUseCase);\n },\n );\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,gBAAAC,MAAoB,oCAC7B,OAAS,sBAAAC,MAA0B,gDAE5B,MAAMC,EAAuB,IAClC,IAAIH,EACF,CACEI,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAKH,EAAa,kBAAkB,EAAE,GAAGC,CAAkB,CAC7D,CACF",
6
- "names": ["ContainerModule", "messageTypes", "SignMessageUseCase", "messageModuleFactory", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\n\nexport const messageModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(messageTypes.SignMessageUseCase).to(SignMessageUseCase);\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,gBAAAC,MAAoB,oCAC7B,OAAS,sBAAAC,MAA0B,gDAE5B,MAAMC,EAAuB,IAClC,IAAIH,EAAgB,CAAC,CAAE,KAAAI,CAAK,IAAM,CAChCA,EAAKH,EAAa,kBAAkB,EAAE,GAAGC,CAAkB,CAC7D,CAAC",
6
+ "names": ["ContainerModule", "messageTypes", "SignMessageUseCase", "messageModuleFactory", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as t}from"inversify";import{messageModuleFactory as r}from"./messageModule";describe("messageModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=r(),o=new t,o.load(e)}),it("should return the message module",()=>{expect(e).toBeDefined()})})});
1
+ import{Container as t}from"inversify";import{messageModuleFactory as r}from"./messageModule";describe("messageModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=r(),o=new t,o.loadSync(e)}),it("should return the message module",()=>{expect(e).toBeDefined()})})});
2
2
  //# sourceMappingURL=messageModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/di/messageModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { messageModuleFactory } from \"./messageModule\";\n\ndescribe(\"messageModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof messageModuleFactory>;\n beforeEach(() => {\n mod = messageModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the message module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,wBAAAC,MAA4B,kBAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMF,EAAqB,EAC3BC,EAAY,IAAIF,EAChBE,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 { messageModuleFactory } from \"./messageModule\";\n\ndescribe(\"messageModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof messageModuleFactory>;\n beforeEach(() => {\n mod = messageModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the message module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,wBAAAC,MAA4B,kBAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMF,EAAqB,EAC3BC,EAAY,IAAIF,EAChBE,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["Container", "messageModuleFactory", "container", "mod"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var B=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var d=(n,r,p,i)=>{for(var t=i>1?void 0:i?A(r,p):r,o=n.length-1,a;o>=0;o--)(a=n[o])&&(t=(i?a(r,p,t):a(t))||t);return i&&t&&B(r,p,t),t},m=(n,r)=>(p,i)=>r(p,i,n);import{inject as c,injectable as s}from"inversify";import{appBinderTypes as h}from"../../app-binder/di/appBinderTypes";let e=class{_appBinder;constructor(r){this._appBinder=r}execute(r,p){return this._appBinder.signPersonalMessage({derivationPath:r,message:p})}};e=d([s(),m(0,c(h.AppBinding))],e);export{e as SignMessageUseCase};
1
+ var A=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var a=(n,p,i,r)=>{for(var e=r>1?void 0:r?d(p,i):p,o=n.length-1,s;o>=0;o--)(s=n[o])&&(e=(r?s(p,i,e):s(e))||e);return r&&e&&A(p,i,e),e},m=(n,p)=>(i,r)=>p(i,r,n);import{inject as B,injectable as c}from"inversify";import{appBinderTypes as f}from"../../app-binder/di/appBinderTypes";let t=class{_appBinder;constructor(p){this._appBinder=p}execute(p,i,r){return this._appBinder.signPersonalMessage({derivationPath:p,message:i,skipOpenApp:r?.skipOpenApp??!1})}};t=a([c(),m(0,B(f.AppBinding))],t);export{t as SignMessageUseCase};
2
2
  //# sourceMappingURL=SignMessageUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/use-case/SignMessageUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\n@injectable()\nexport class SignMessageUseCase {\n private _appBinder: EthAppBinder;\n\n constructor(\n @inject(appBinderTypes.AppBinding)\n appBinding: EthAppBinder,\n ) {\n this._appBinder = appBinding;\n }\n\n execute(\n derivationPath: string,\n message: string | Uint8Array,\n ): SignPersonalMessageDAReturnType {\n // 1- Sign the transaction using the app binding\n return this._appBinder.signPersonalMessage({\n derivationPath,\n message,\n });\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAGnC,OAAS,kBAAAC,MAAsB,yCAIxB,IAAMC,EAAN,KAAyB,CACtB,WAER,YAEEC,EACA,CACA,KAAK,WAAaA,CACpB,CAEA,QACEC,EACAC,EACiC,CAEjC,OAAO,KAAK,WAAW,oBAAoB,CACzC,eAAAD,EACA,QAAAC,CACF,CAAC,CACH,CACF,EApBaH,EAANI,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAe,UAAU,IAJxBR",
6
- "names": ["inject", "injectable", "appBinderTypes", "SignMessageUseCase", "appBinding", "derivationPath", "message", "__decorateClass", "injectable", "__decorateParam", "inject", "appBinderTypes"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { MessageOptions } from \"@api/model/MessageOptions\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\n@injectable()\nexport class SignMessageUseCase {\n private _appBinder: EthAppBinder;\n\n constructor(\n @inject(appBinderTypes.AppBinding)\n appBinding: EthAppBinder,\n ) {\n this._appBinder = appBinding;\n }\n\n execute(\n derivationPath: string,\n message: string | Uint8Array,\n options?: MessageOptions,\n ): SignPersonalMessageDAReturnType {\n // 1- Sign the transaction using the app binding\n return this._appBinder.signPersonalMessage({\n derivationPath,\n message,\n skipOpenApp: options?.skipOpenApp ?? false,\n });\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAInC,OAAS,kBAAAC,MAAsB,yCAIxB,IAAMC,EAAN,KAAyB,CACtB,WAER,YAEEC,EACA,CACA,KAAK,WAAaA,CACpB,CAEA,QACEC,EACAC,EACAC,EACiC,CAEjC,OAAO,KAAK,WAAW,oBAAoB,CACzC,eAAAF,EACA,QAAAC,EACA,YAAaC,GAAS,aAAe,EACvC,CAAC,CACH,CACF,EAtBaJ,EAANK,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAe,UAAU,IAJxBT",
6
+ "names": ["inject", "injectable", "appBinderTypes", "SignMessageUseCase", "appBinding", "derivationPath", "message", "options", "__decorateClass", "injectable", "__decorateParam", "inject", "appBinderTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{SignMessageUseCase as a}from"./SignMessageUseCase";describe("SignMessageUseCase",()=>{it("should call signPersonalMessage on appBinder with the correct arguments",()=>{const e="44'/501'/0'/0'",s="Hello world",n={signPersonalMessage:vi.fn()};new a(n).execute(e,s),expect(n.signPersonalMessage).toHaveBeenCalledWith({derivationPath:e,message:s})})});
1
+ import{SignMessageUseCase as a}from"./SignMessageUseCase";describe("SignMessageUseCase",()=>{it("should call signPersonalMessage on appBinder with the correct arguments",()=>{const e="44'/501'/0'/0'",s="Hello world",n={signPersonalMessage:vi.fn()};new a(n).execute(e,s),expect(n.signPersonalMessage).toHaveBeenCalledWith({derivationPath:e,message:s,skipOpenApp:!1})})});
2
2
  //# sourceMappingURL=SignMessageUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/use-case/SignMessageUseCase.test.ts"],
4
- "sourcesContent": ["import { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\nimport { SignMessageUseCase } from \"./SignMessageUseCase\";\n\ndescribe(\"SignMessageUseCase\", () => {\n it(\"should call signPersonalMessage on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"44'/501'/0'/0'\";\n const message = \"Hello world\";\n const appBinder = {\n signPersonalMessage: vi.fn(),\n };\n const signMessageUseCase = new SignMessageUseCase(\n appBinder as unknown as EthAppBinder,\n );\n\n // When\n signMessageUseCase.execute(derivationPath, message);\n\n // Then\n expect(appBinder.signPersonalMessage).toHaveBeenCalledWith({\n derivationPath,\n message,\n });\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,sBAAAA,MAA0B,uBAEnC,SAAS,qBAAsB,IAAM,CACnC,GAAG,0EAA2E,IAAM,CAElF,MAAMC,EAAiB,iBACjBC,EAAU,cACVC,EAAY,CAChB,oBAAqB,GAAG,GAAG,CAC7B,EAC2B,IAAIH,EAC7BG,CACF,EAGmB,QAAQF,EAAgBC,CAAO,EAGlD,OAAOC,EAAU,mBAAmB,EAAE,qBAAqB,CACzD,eAAAF,EACA,QAAAC,CACF,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\nimport { SignMessageUseCase } from \"./SignMessageUseCase\";\n\ndescribe(\"SignMessageUseCase\", () => {\n it(\"should call signPersonalMessage on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"44'/501'/0'/0'\";\n const message = \"Hello world\";\n const appBinder = {\n signPersonalMessage: vi.fn(),\n };\n const signMessageUseCase = new SignMessageUseCase(\n appBinder as unknown as EthAppBinder,\n );\n\n // When\n signMessageUseCase.execute(derivationPath, message);\n\n // Then\n expect(appBinder.signPersonalMessage).toHaveBeenCalledWith({\n derivationPath,\n message,\n skipOpenApp: false,\n });\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,sBAAAA,MAA0B,uBAEnC,SAAS,qBAAsB,IAAM,CACnC,GAAG,0EAA2E,IAAM,CAElF,MAAMC,EAAiB,iBACjBC,EAAU,cACVC,EAAY,CAChB,oBAAqB,GAAG,GAAG,CAC7B,EAC2B,IAAIH,EAC7BG,CACF,EAGmB,QAAQF,EAAgBC,CAAO,EAGlD,OAAOC,EAAU,mBAAmB,EAAE,qBAAqB,CACzD,eAAAF,EACA,QAAAC,EACA,YAAa,EACf,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["SignMessageUseCase", "derivationPath", "message", "appBinder"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DeviceSessionStateType as t}from"@ledgerhq/device-management-kit";import{gt as s,gte as o}from"semver";import{ETHEREUM_PLUGINS as r}from"../../app-binder/constant/plugins";class a{isCompatible=!0;version="0.0.1";modelId;constructor(e,i){if(this.modelId=e.deviceModelId,e.sessionStateType===t.Connected){this.isCompatible=!1;return}if(e.currentApp.name!=="Ethereum"&&!r.includes(e.currentApp.name)){this.isCompatible=!1;return}e.currentApp.name==="Ethereum"?this.version=e.currentApp.version:this.version=i.version}withMinVersionInclusive(e){return o(this.version,e)||(this.isCompatible=!1),this}withMinVersionExclusive(e){return s(this.version,e)||(this.isCompatible=!1),this}excludeDeviceModel(e){return this.modelId===e&&(this.isCompatible=!1),this}check(){return this.isCompatible}}export{a as ApplicationChecker};
1
+ import{DeviceSessionStateType as s}from"@ledgerhq/device-management-kit";import{gt as t,gte as o}from"semver";class l{isCompatible=!0;version="0.0.1";modelId;constructor(e,i){if(this.modelId=e.deviceModelId,e.sessionStateType===s.Connected){this.isCompatible=!1;return}if(e.currentApp.name==="Exchange"){this.isCompatible=!1;return}else e.currentApp.name==="Ethereum"?this.version=e.currentApp.version:this.version=i.version}withMinVersionInclusive(e){return o(this.version,e)||(this.isCompatible=!1),this}withMinVersionExclusive(e){return t(this.version,e)||(this.isCompatible=!1),this}excludeDeviceModel(e){return this.modelId===e&&(this.isCompatible=!1),this}check(){return this.isCompatible}}export{l as ApplicationChecker};
2
2
  //# sourceMappingURL=ApplicationChecker.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/shared/utils/ApplicationChecker.ts"],
4
- "sourcesContent": ["import {\n type DeviceModelId,\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@ledgerhq/device-management-kit\";\nimport { gt, gte } from \"semver\";\n\nimport { type GetConfigCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\nimport { ETHEREUM_PLUGINS } from \"@internal/app-binder/constant/plugins\";\n\nexport class ApplicationChecker {\n private isCompatible: boolean = true;\n private version: string = \"0.0.1\";\n private modelId: DeviceModelId;\n\n constructor(\n deviceState: DeviceSessionState,\n appConfig: GetConfigCommandResponse,\n ) {\n this.modelId = deviceState.deviceModelId;\n\n // If device is not ready or app is unexpected, checker cannot be successful\n if (deviceState.sessionStateType === DeviceSessionStateType.Connected) {\n this.isCompatible = false;\n return;\n }\n if (\n deviceState.currentApp.name !== \"Ethereum\" &&\n !ETHEREUM_PLUGINS.includes(deviceState.currentApp.name)\n ) {\n this.isCompatible = false;\n return;\n }\n if (deviceState.currentApp.name === \"Ethereum\") {\n this.version = deviceState.currentApp.version;\n } else {\n // Fallback on appConfig version if a plugin is running.\n // It won't contain release candidate suffix but it should be enough for that edge case.\n this.version = appConfig.version;\n }\n }\n\n withMinVersionInclusive(version: string): ApplicationChecker {\n if (!gte(this.version, version)) {\n this.isCompatible = false;\n }\n return this;\n }\n\n withMinVersionExclusive(version: string): ApplicationChecker {\n if (!gt(this.version, version)) {\n this.isCompatible = false;\n }\n return this;\n }\n\n excludeDeviceModel(modelId: DeviceModelId): ApplicationChecker {\n if (this.modelId === modelId) {\n this.isCompatible = false;\n }\n return this;\n }\n\n check(): boolean {\n return this.isCompatible;\n }\n}\n"],
5
- "mappings": "AAAA,OAGE,0BAAAA,MACK,kCACP,OAAS,MAAAC,EAAI,OAAAC,MAAW,SAGxB,OAAS,oBAAAC,MAAwB,wCAE1B,MAAMC,CAAmB,CACtB,aAAwB,GACxB,QAAkB,QAClB,QAER,YACEC,EACAC,EACA,CAIA,GAHA,KAAK,QAAUD,EAAY,cAGvBA,EAAY,mBAAqBL,EAAuB,UAAW,CACrE,KAAK,aAAe,GACpB,MACF,CACA,GACEK,EAAY,WAAW,OAAS,YAChC,CAACF,EAAiB,SAASE,EAAY,WAAW,IAAI,EACtD,CACA,KAAK,aAAe,GACpB,MACF,CACIA,EAAY,WAAW,OAAS,WAClC,KAAK,QAAUA,EAAY,WAAW,QAItC,KAAK,QAAUC,EAAU,OAE7B,CAEA,wBAAwBC,EAAqC,CAC3D,OAAKL,EAAI,KAAK,QAASK,CAAO,IAC5B,KAAK,aAAe,IAEf,IACT,CAEA,wBAAwBA,EAAqC,CAC3D,OAAKN,EAAG,KAAK,QAASM,CAAO,IAC3B,KAAK,aAAe,IAEf,IACT,CAEA,mBAAmBC,EAA4C,CAC7D,OAAI,KAAK,UAAYA,IACnB,KAAK,aAAe,IAEf,IACT,CAEA,OAAiB,CACf,OAAO,KAAK,YACd,CACF",
6
- "names": ["DeviceSessionStateType", "gt", "gte", "ETHEREUM_PLUGINS", "ApplicationChecker", "deviceState", "appConfig", "version", "modelId"]
4
+ "sourcesContent": ["import {\n type DeviceModelId,\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@ledgerhq/device-management-kit\";\nimport { gt, gte } from \"semver\";\n\nimport { type GetConfigCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\n\nexport class ApplicationChecker {\n private isCompatible: boolean = true;\n private version: string = \"0.0.1\";\n private modelId: DeviceModelId;\n\n constructor(\n deviceState: DeviceSessionState,\n appConfig: GetConfigCommandResponse,\n ) {\n this.modelId = deviceState.deviceModelId;\n\n // If device is not ready or app is unexpected, checker cannot be successful\n if (deviceState.sessionStateType === DeviceSessionStateType.Connected) {\n this.isCompatible = false;\n return;\n }\n if (deviceState.currentApp.name === \"Exchange\") {\n // Advanced clear signing is not supported in exchange flows, only basic loaders\n // such as token should be provided.\n this.isCompatible = false;\n return;\n } else if (deviceState.currentApp.name === \"Ethereum\") {\n this.version = deviceState.currentApp.version;\n } else {\n // Fallback on appConfig version if a plugin is running.\n // It won't contain release candidate suffix but it should be enough for that edge case.\n // We have the garantee that currentApp is a compatible ethereum plugin since AppConfig\n // was successfully retrieved.\n this.version = appConfig.version;\n }\n }\n\n withMinVersionInclusive(version: string): ApplicationChecker {\n if (!gte(this.version, version)) {\n this.isCompatible = false;\n }\n return this;\n }\n\n withMinVersionExclusive(version: string): ApplicationChecker {\n if (!gt(this.version, version)) {\n this.isCompatible = false;\n }\n return this;\n }\n\n excludeDeviceModel(modelId: DeviceModelId): ApplicationChecker {\n if (this.modelId === modelId) {\n this.isCompatible = false;\n }\n return this;\n }\n\n check(): boolean {\n return this.isCompatible;\n }\n}\n"],
5
+ "mappings": "AAAA,OAGE,0BAAAA,MACK,kCACP,OAAS,MAAAC,EAAI,OAAAC,MAAW,SAIjB,MAAMC,CAAmB,CACtB,aAAwB,GACxB,QAAkB,QAClB,QAER,YACEC,EACAC,EACA,CAIA,GAHA,KAAK,QAAUD,EAAY,cAGvBA,EAAY,mBAAqBJ,EAAuB,UAAW,CACrE,KAAK,aAAe,GACpB,MACF,CACA,GAAII,EAAY,WAAW,OAAS,WAAY,CAG9C,KAAK,aAAe,GACpB,MACF,MAAWA,EAAY,WAAW,OAAS,WACzC,KAAK,QAAUA,EAAY,WAAW,QAMtC,KAAK,QAAUC,EAAU,OAE7B,CAEA,wBAAwBC,EAAqC,CAC3D,OAAKJ,EAAI,KAAK,QAASI,CAAO,IAC5B,KAAK,aAAe,IAEf,IACT,CAEA,wBAAwBA,EAAqC,CAC3D,OAAKL,EAAG,KAAK,QAASK,CAAO,IAC3B,KAAK,aAAe,IAEf,IACT,CAEA,mBAAmBC,EAA4C,CAC7D,OAAI,KAAK,UAAYA,IACnB,KAAK,aAAe,IAEf,IACT,CAEA,OAAiB,CACf,OAAO,KAAK,YACd,CACF",
6
+ "names": ["DeviceSessionStateType", "gt", "gte", "ApplicationChecker", "deviceState", "appConfig", "version", "modelId"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DeviceModelId as c,DeviceSessionStateType as i,DeviceStatus as o}from"@ledgerhq/device-management-kit";import{ApplicationChecker as l}from"./ApplicationChecker";describe("ApplicationChecker",()=>{function s(e){return{blindSigningEnabled:!1,web3ChecksEnabled:!1,web3ChecksOptIn:!1,version:e}}it("should pass the check for exclusive version",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.13.0-rc"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.13.0"),n=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!0)}),it("should reject the check for exclusive version",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.12.0"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.12.0"),n=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!1)}),it("should pass the check for inclusive version",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.12.0"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.10.0"),n=new l(e,t).withMinVersionInclusive("1.12.0").check();expect(n).toStrictEqual(!0)}),it("should reject the check for inclusive version",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.11.0"),n=new l(e,t).withMinVersionInclusive("1.12.0").check();expect(n).toStrictEqual(!1)}),it("should pass the check for excluded device",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.11.0"),n=new l(e,t).excludeDeviceModel(c.NANO_S).check();expect(n).toStrictEqual(!0)}),it("should reject the check for excluded device",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.11.0"),n=new l(e,t).excludeDeviceModel(c.FLEX).check();expect(n).toStrictEqual(!1)}),it("should pass the check for chained condition",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.11.0"),n=new l(e,t).withMinVersionInclusive("1.11.0").excludeDeviceModel(c.NANO_S).check();expect(n).toStrictEqual(!0)}),it("should reject the check for chained condition",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.10.0"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.10.0"),n=new l(e,t).withMinVersionInclusive("1.11.0").excludeDeviceModel(c.NANO_S).check();expect(n).toStrictEqual(!1)}),it("should pass the check in plugins",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"1inch",version:"1.11.0-rc"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.13.0"),n=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!0)}),it("should reject the check in unknexpected app",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Bitcoin",version:"1.13.0-rc"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.13.0"),n=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!1)}),it("should reject the check in unknexpected state",()=>{const e={sessionStateType:i.Connected,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Bitcoin",version:"1.13.0-rc"},deviceModelId:c.FLEX,isSecureConnectionAllowed:!1},t=s("1.13.0"),n=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!1)})});
1
+ import{DeviceModelId as n,DeviceSessionStateType as i,DeviceStatus as o}from"@ledgerhq/device-management-kit";import{ApplicationChecker as l}from"./ApplicationChecker";describe("ApplicationChecker",()=>{function s(e){return{blindSigningEnabled:!1,web3ChecksEnabled:!1,web3ChecksOptIn:!1,version:e}}it("should pass the check for exclusive version",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.13.0-rc"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.13.0"),c=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(c).toStrictEqual(!0)}),it("should reject the check for exchange flows",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Exchange",version:"1.13.0-rc"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.13.0"),c=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(c).toStrictEqual(!1)}),it("should reject the check for exclusive version",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.12.0"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.12.0"),c=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(c).toStrictEqual(!1)}),it("should pass the check for inclusive version",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.12.0"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.10.0"),c=new l(e,t).withMinVersionInclusive("1.12.0").check();expect(c).toStrictEqual(!0)}),it("should reject the check for inclusive version",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.11.0"),c=new l(e,t).withMinVersionInclusive("1.12.0").check();expect(c).toStrictEqual(!1)}),it("should pass the check for excluded device",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.11.0"),c=new l(e,t).excludeDeviceModel(n.NANO_S).check();expect(c).toStrictEqual(!0)}),it("should reject the check for excluded device",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.11.0"),c=new l(e,t).excludeDeviceModel(n.FLEX).check();expect(c).toStrictEqual(!1)}),it("should pass the check for chained condition",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.11.0"),c=new l(e,t).withMinVersionInclusive("1.11.0").excludeDeviceModel(n.NANO_S).check();expect(c).toStrictEqual(!0)}),it("should reject the check for chained condition",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.10.0"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.10.0"),c=new l(e,t).withMinVersionInclusive("1.11.0").excludeDeviceModel(n.NANO_S).check();expect(c).toStrictEqual(!1)}),it("should pass the check in plugins",()=>{const e={sessionStateType:i.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"1inch",version:"1.11.0-rc"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.13.0"),c=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(c).toStrictEqual(!0)}),it("should reject the check in unknexpected state",()=>{const e={sessionStateType:i.Connected,deviceStatus:o.CONNECTED,installedApps:[],currentApp:{name:"Bitcoin",version:"1.13.0-rc"},deviceModelId:n.FLEX,isSecureConnectionAllowed:!1},t=s("1.13.0"),c=new l(e,t).withMinVersionExclusive("1.12.0").check();expect(c).toStrictEqual(!1)})});
2
2
  //# sourceMappingURL=ApplicationChecker.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/shared/utils/ApplicationChecker.test.ts"],
4
- "sourcesContent": ["import {\n DeviceModelId,\n DeviceSessionStateType,\n DeviceStatus,\n} from \"@ledgerhq/device-management-kit\";\n\nimport type { GetConfigCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\n\nimport { ApplicationChecker } from \"./ApplicationChecker\";\n\ndescribe(\"ApplicationChecker\", () => {\n function createAppConfig(version: string): GetConfigCommandResponse {\n return {\n blindSigningEnabled: false,\n web3ChecksEnabled: false,\n web3ChecksOptIn: false,\n version,\n };\n }\n\n it(\"should pass the check for exclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.13.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for exclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.12.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.12.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check for inclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.12.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.10.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for inclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check for excluded device\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .excludeDeviceModel(DeviceModelId.NANO_S)\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for excluded device\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .excludeDeviceModel(DeviceModelId.FLEX)\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check for chained condition\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.11.0\")\n .excludeDeviceModel(DeviceModelId.NANO_S)\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for chained condition\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.10.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.10.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.11.0\")\n .excludeDeviceModel(DeviceModelId.NANO_S)\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check in plugins\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"1inch\", version: \"1.11.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check in unknexpected app\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Bitcoin\", version: \"1.13.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should reject the check in unknexpected state\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Bitcoin\", version: \"1.13.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n DeviceModelId,\n DeviceSessionStateType,\n DeviceStatus,\n} from \"@ledgerhq/device-management-kit\";\n\nimport type { GetConfigCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\n\nimport { ApplicationChecker } from \"./ApplicationChecker\";\n\ndescribe(\"ApplicationChecker\", () => {\n function createAppConfig(version: string): GetConfigCommandResponse {\n return {\n blindSigningEnabled: false,\n web3ChecksEnabled: false,\n web3ChecksOptIn: false,\n version,\n };\n }\n\n it(\"should pass the check for exclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.13.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for exchange flows\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Exchange\", version: \"1.13.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should reject the check for exclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.12.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.12.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check for inclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.12.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.10.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for inclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check for excluded device\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .excludeDeviceModel(DeviceModelId.NANO_S)\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for excluded device\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .excludeDeviceModel(DeviceModelId.FLEX)\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check for chained condition\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.11.0\")\n .excludeDeviceModel(DeviceModelId.NANO_S)\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for chained condition\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.10.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.10.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.11.0\")\n .excludeDeviceModel(DeviceModelId.NANO_S)\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check in plugins\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"1inch\", version: \"1.11.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check in unknexpected state\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Bitcoin\", version: \"1.13.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["DeviceModelId", "DeviceSessionStateType", "DeviceStatus", "ApplicationChecker", "createAppConfig", "version", "state", "config", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as a}from"inversify";import{transactionTypes as o}from"../../transaction/di/transactionTypes";import{EthersRawTransactionMapper as n}from"../../transaction/service/mapper/EthersRawTransactionMapper";import{TransactionMapperService as t}from"../../transaction/service/mapper/TransactionMapperService";import{TransactionParserService as i}from"../../transaction/service/parser/TransactionParserService";import{SignTransactionUseCase as e}from"../../transaction/use-case/SignTransactionUseCase";const y=()=>new a((r,s,c,p,m,T,f)=>{r(o.SignTransactionUseCase).to(e),r(o.TransactionMapperService).to(t),r(o.TransactionParserService).to(i),r(o.TransactionMappers).to(n)});export{y as transactionModuleFactory};
1
+ import{ContainerModule as a}from"inversify";import{transactionTypes as o}from"../../transaction/di/transactionTypes";import{EthersTransactionMapperService as e}from"../../transaction/service/mapper/EthersTransactionMapperService";import{TransactionParserService as t}from"../../transaction/service/parser/TransactionParserService";import{SignTransactionUseCase as n}from"../../transaction/use-case/SignTransactionUseCase";const T=()=>new a(({bind:r})=>{r(o.SignTransactionUseCase).to(n),r(o.TransactionMapperService).to(e),r(o.TransactionParserService).to(t)});export{T as transactionModuleFactory};
2
2
  //# sourceMappingURL=transactionModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/transaction/di/transactionModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { EthersRawTransactionMapper } from \"@internal/transaction/service/mapper/EthersRawTransactionMapper\";\nimport { TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { SignTransactionUseCase } from \"@internal/transaction/use-case/SignTransactionUseCase\";\n\nexport const transactionModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(transactionTypes.SignTransactionUseCase).to(SignTransactionUseCase);\n bind(transactionTypes.TransactionMapperService).to(\n TransactionMapperService,\n );\n bind(transactionTypes.TransactionParserService).to(\n TransactionParserService,\n );\n bind(transactionTypes.TransactionMappers).to(EthersRawTransactionMapper);\n },\n );\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,oBAAAC,MAAwB,4CACjC,OAAS,8BAAAC,MAAkC,kEAC3C,OAAS,4BAAAC,MAAgC,gEACzC,OAAS,4BAAAC,MAAgC,gEACzC,OAAS,0BAAAC,MAA8B,wDAEhC,MAAMC,EAA2B,IACtC,IAAIN,EACF,CACEO,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAKN,EAAiB,sBAAsB,EAAE,GAAGI,CAAsB,EACvEE,EAAKN,EAAiB,wBAAwB,EAAE,GAC9CE,CACF,EACAI,EAAKN,EAAiB,wBAAwB,EAAE,GAC9CG,CACF,EACAG,EAAKN,EAAiB,kBAAkB,EAAE,GAAGC,CAA0B,CACzE,CACF",
6
- "names": ["ContainerModule", "transactionTypes", "EthersRawTransactionMapper", "TransactionMapperService", "TransactionParserService", "SignTransactionUseCase", "transactionModuleFactory", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { EthersTransactionMapperService } from \"@internal/transaction/service/mapper/EthersTransactionMapperService\";\nimport { type TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { SignTransactionUseCase } from \"@internal/transaction/use-case/SignTransactionUseCase\";\n\nexport const transactionModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(transactionTypes.SignTransactionUseCase).to(SignTransactionUseCase);\n bind<TransactionMapperService>(\n transactionTypes.TransactionMapperService,\n ).to(EthersTransactionMapperService);\n bind(transactionTypes.TransactionParserService).to(\n TransactionParserService,\n );\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,oBAAAC,MAAwB,4CACjC,OAAS,kCAAAC,MAAsC,sEAE/C,OAAS,4BAAAC,MAAgC,gEACzC,OAAS,0BAAAC,MAA8B,wDAEhC,MAAMC,EAA2B,IACtC,IAAIL,EAAgB,CAAC,CAAE,KAAAM,CAAK,IAAM,CAChCA,EAAKL,EAAiB,sBAAsB,EAAE,GAAGG,CAAsB,EACvEE,EACEL,EAAiB,wBACnB,EAAE,GAAGC,CAA8B,EACnCI,EAAKL,EAAiB,wBAAwB,EAAE,GAC9CE,CACF,CACF,CAAC",
6
+ "names": ["ContainerModule", "transactionTypes", "EthersTransactionMapperService", "TransactionParserService", "SignTransactionUseCase", "transactionModuleFactory", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as o}from"inversify";import{transactionModuleFactory as a}from"./transactionModule";import{transactionTypes as r}from"./transactionTypes";describe("transactionModuleFactory",()=>{describe("Default",()=>{let t,e;beforeEach(()=>{e=a(),t=new o,t.load(e)}),it("should return the transaction module",()=>{expect(e).toBeDefined()}),it("should bind a transaction mapper",()=>{expect(t.getAll(r.TransactionMappers)).toHaveLength(1)})})});
1
+ import{Container as o}from"inversify";import{transactionModuleFactory as r}from"./transactionModule";import{transactionTypes as a}from"./transactionTypes";describe("transactionModuleFactory",()=>{describe("Default",()=>{let e,t;beforeEach(()=>{t=r(),e=new o,e.loadSync(t)}),it("should return the transaction module",()=>{expect(t).toBeDefined()}),it("should bind a transaction mapper",()=>{expect(e.getAll(a.TransactionMapperService)).toHaveLength(1)})})});
2
2
  //# sourceMappingURL=transactionModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/transaction/di/transactionModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { transactionModuleFactory } from \"./transactionModule\";\nimport { transactionTypes } from \"./transactionTypes\";\n\ndescribe(\"transactionModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof transactionModuleFactory>;\n beforeEach(() => {\n mod = transactionModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the transaction module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should bind a transaction mapper\", () => {\n expect(\n container.getAll(transactionTypes.TransactionMappers),\n ).toHaveLength(1);\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,4BAAAC,MAAgC,sBACzC,OAAS,oBAAAC,MAAwB,qBAEjC,SAAS,2BAA4B,IAAM,CACzC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMH,EAAyB,EAC/BE,EAAY,IAAIH,EAChBG,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,uCAAwC,IAAM,CAC/C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OACED,EAAU,OAAOD,EAAiB,kBAAkB,CACtD,EAAE,aAAa,CAAC,CAClB,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { transactionModuleFactory } from \"./transactionModule\";\nimport { transactionTypes } from \"./transactionTypes\";\n\ndescribe(\"transactionModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof transactionModuleFactory>;\n beforeEach(() => {\n mod = transactionModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the transaction module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should bind a transaction mapper\", () => {\n expect(\n container.getAll(transactionTypes.TransactionMapperService),\n ).toHaveLength(1);\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,4BAAAC,MAAgC,sBACzC,OAAS,oBAAAC,MAAwB,qBAEjC,SAAS,2BAA4B,IAAM,CACzC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,EAAMH,EAAyB,EAC/BE,EAAY,IAAIH,EAChBG,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,uCAAwC,IAAM,CAC/C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OACED,EAAU,OAAOD,EAAiB,wBAAwB,CAC5D,EAAE,aAAa,CAAC,CAClB,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["Container", "transactionModuleFactory", "transactionTypes", "container", "mod"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ var u=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var c=(n,a,r,t)=>{for(var e=t>1?void 0:t?d(a,r):a,i=n.length-1,s;i>=0;i--)(s=n[i])&&(e=(t?s(a,r,e):s(e))||e);return t&&e&&u(a,r,e),e};import{bufferToHexaString as l}from"@ledgerhq/device-management-kit";import{ethers as f,getBytes as T}from"ethers";import{injectable as g}from"inversify";import{Left as m,Right as E}from"purify-ts";const p=10;let o=class{constructor(){}mapTransactionToSubset(a){try{const r=f.Transaction.from(l(a)),t=Number(r.chainId.toString());return t<=0?m(new Error("Pre-EIP-155 transactions are not supported")):E({subset:{chainId:t,to:r.to??void 0,data:r.data,selector:r.data.length>=p?r.data.slice(0,p):r.data,value:r.value},serializedTransaction:T(r.unsignedSerialized),type:r.type||0})}catch{return m(new Error("Invalid transaction"))}}};o=c([g()],o);export{o as EthersTransactionMapperService};
2
+ //# sourceMappingURL=EthersTransactionMapperService.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/transaction/service/mapper/EthersTransactionMapperService.ts"],
4
+ "sourcesContent": ["import { bufferToHexaString } from \"@ledgerhq/device-management-kit\";\nimport { ethers, getBytes } from \"ethers\";\nimport { injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { TransactionMapperResult } from \"./model/TransactionMapperResult\";\nimport { TransactionMapperService } from \"./TransactionMapperService\";\n\nconst SELECTOR_LENGTH = 10; // 0x prefix + 4 bytes for the selector\n\n@injectable()\nexport class EthersTransactionMapperService\n implements TransactionMapperService\n{\n constructor() {}\n\n mapTransactionToSubset(\n transaction: Uint8Array,\n ): Either<Error, TransactionMapperResult> {\n try {\n const tx = ethers.Transaction.from(bufferToHexaString(transaction));\n const chainId = Number(tx.chainId.toString());\n\n if (chainId <= 0) {\n return Left(new Error(\"Pre-EIP-155 transactions are not supported\"));\n }\n\n return Right({\n subset: {\n chainId,\n to: tx.to ?? undefined,\n data: tx.data,\n selector:\n tx.data.length >= SELECTOR_LENGTH\n ? tx.data.slice(0, SELECTOR_LENGTH)\n : tx.data,\n value: tx.value,\n },\n serializedTransaction: getBytes(tx.unsignedSerialized),\n type: tx.type || 0,\n });\n } catch (_error) {\n return Left(new Error(\"Invalid transaction\"));\n }\n }\n}\n"],
5
+ "mappings": "wMAAA,OAAS,sBAAAA,MAA0B,kCACnC,OAAS,UAAAC,EAAQ,YAAAC,MAAgB,SACjC,OAAS,cAAAC,MAAkB,YAC3B,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAKpC,MAAMC,EAAkB,GAGjB,IAAMC,EAAN,KAEP,CACE,aAAc,CAAC,CAEf,uBACEC,EACwC,CACxC,GAAI,CACF,MAAMC,EAAKC,EAAO,YAAY,KAAKC,EAAmBH,CAAW,CAAC,EAC5DI,EAAU,OAAOH,EAAG,QAAQ,SAAS,CAAC,EAE5C,OAAIG,GAAW,EACNC,EAAK,IAAI,MAAM,4CAA4C,CAAC,EAG9DC,EAAM,CACX,OAAQ,CACN,QAAAF,EACA,GAAIH,EAAG,IAAM,OACb,KAAMA,EAAG,KACT,SACEA,EAAG,KAAK,QAAUH,EACdG,EAAG,KAAK,MAAM,EAAGH,CAAe,EAChCG,EAAG,KACT,MAAOA,EAAG,KACZ,EACA,sBAAuBM,EAASN,EAAG,kBAAkB,EACrD,KAAMA,EAAG,MAAQ,CACnB,CAAC,CACH,MAAiB,CACf,OAAOI,EAAK,IAAI,MAAM,qBAAqB,CAAC,CAC9C,CACF,CACF,EAlCaN,EAANS,EAAA,CADNC,EAAW,GACCV",
6
+ "names": ["bufferToHexaString", "ethers", "getBytes", "injectable", "Left", "Right", "SELECTOR_LENGTH", "EthersTransactionMapperService", "transaction", "tx", "ethers", "bufferToHexaString", "chainId", "Left", "Right", "getBytes", "__decorateClass", "injectable"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{hexaStringToBuffer as r}from"@ledgerhq/device-management-kit";import{getBytes as c,Transaction as i}from"ethers";import{EthersTransactionMapperService as u}from"./EthersTransactionMapperService";describe("RawTransactionMapper",()=>{const a=new u;it("should return Nothing when empty raw transaction",()=>{const e=new Uint8Array(0),t=a.mapTransactionToSubset(e);expect(t.isLeft()).toBeTruthy()}),it("should return Nothing when invalid raw transaction",()=>{const e=new Uint8Array(1),t=a.mapTransactionToSubset(e);expect(t.isLeft()).toBeTruthy()}),it("should return a TransactionMapperResult",()=>{const e=r(i.from({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x1234567890"}).unsignedSerialized),t=a.mapTransactionToSubset(e);expect(t.isRight()).toBeTruthy();const{serializedTransaction:n,subset:o,type:s}=t.unsafeCoerce();expect(n).toEqual(c(e)),expect(o).toEqual({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x1234567890",value:0n,selector:"0x12345678"}),expect(s).toEqual(2)}),it("should return a TransactionMapperResult with undefined to",()=>{const e=r(i.from({chainId:1,data:"0x1234567890"}).unsignedSerialized),t=a.mapTransactionToSubset(e);expect(t.isRight()).toBeTruthy();const{serializedTransaction:n,subset:o,type:s}=t.unsafeCoerce();expect(n).toEqual(c(e)),expect(o).toEqual({chainId:1,to:void 0,data:"0x1234567890",value:0n,selector:"0x12345678"}),expect(s).toEqual(2)}),it("should return a TransactionMapperResult with empty data",()=>{const e=r(i.from({chainId:1,to:"0x1234567890123456789012345678901234567890"}).unsignedSerialized),t=a.mapTransactionToSubset(e);expect(t.isRight()).toBeTruthy();const{serializedTransaction:n,subset:o,type:s}=t.unsafeCoerce();expect(n).toEqual(c(e)),expect(o).toEqual({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x",value:0n,selector:"0x"}),expect(s).toEqual(2)}),it("should return a TransactionMapperResult with a custom type",()=>{const e=r(i.from({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x123456",type:1}).unsignedSerialized),t=a.mapTransactionToSubset(e);expect(t.isRight()).toBeTruthy();const{serializedTransaction:n,subset:o,type:s}=t.unsafeCoerce();expect(n).toEqual(c(e)),expect(o).toEqual({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x123456",value:0n,selector:"0x123456"}),expect(s).toEqual(1)}),it("should return a Left when the chainId is 0",()=>{const e=r(i.from({chainId:0}).unsignedSerialized),t=a.mapTransactionToSubset(e);expect(t.isLeft()).toBeTruthy(),expect(t.extract()).toEqual(new Error("Pre-EIP-155 transactions are not supported"))})});
2
+ //# sourceMappingURL=EthersTransactionMapperService.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/transaction/service/mapper/EthersTransactionMapperService.test.ts"],
4
+ "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport { getBytes, Transaction } from \"ethers\";\n\nimport { EthersTransactionMapperService } from \"./EthersTransactionMapperService\";\n\ndescribe(\"RawTransactionMapper\", () => {\n const mapper = new EthersTransactionMapperService();\n\n it(\"should return Nothing when empty raw transaction\", () => {\n // GIVEN\n const transaction = new Uint8Array(0);\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isLeft()).toBeTruthy();\n });\n\n it(\"should return Nothing when invalid raw transaction\", () => {\n // GIVEN\n const transaction = new Uint8Array(1);\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isLeft()).toBeTruthy();\n });\n\n it(\"should return a TransactionMapperResult\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x1234567890\",\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isRight()).toBeTruthy();\n const { serializedTransaction, subset, type } = result.unsafeCoerce();\n expect(serializedTransaction).toEqual(getBytes(transaction));\n expect(subset).toEqual({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x1234567890\",\n value: 0n,\n selector: \"0x12345678\",\n });\n expect(type).toEqual(2);\n });\n\n it(\"should return a TransactionMapperResult with undefined to\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 1,\n data: \"0x1234567890\",\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isRight()).toBeTruthy();\n const { serializedTransaction, subset, type } = result.unsafeCoerce();\n expect(serializedTransaction).toEqual(getBytes(transaction));\n expect(subset).toEqual({\n chainId: 1,\n to: undefined,\n data: \"0x1234567890\",\n value: 0n,\n selector: \"0x12345678\",\n });\n expect(type).toEqual(2);\n });\n\n it(\"should return a TransactionMapperResult with empty data\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isRight()).toBeTruthy();\n const { serializedTransaction, subset, type } = result.unsafeCoerce();\n expect(serializedTransaction).toEqual(getBytes(transaction));\n expect(subset).toEqual({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x\",\n value: 0n,\n selector: \"0x\",\n });\n expect(type).toEqual(2);\n });\n\n it(\"should return a TransactionMapperResult with a custom type\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x123456\",\n type: 1,\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isRight()).toBeTruthy();\n const { serializedTransaction, subset, type } = result.unsafeCoerce();\n expect(serializedTransaction).toEqual(getBytes(transaction));\n expect(subset).toEqual({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x123456\",\n value: 0n,\n selector: \"0x123456\",\n });\n expect(type).toEqual(1);\n });\n\n it(\"should return a Left when the chainId is 0\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 0,\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isLeft()).toBeTruthy();\n expect(result.extract()).toEqual(\n new Error(\"Pre-EIP-155 transactions are not supported\"),\n );\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["hexaStringToBuffer", "getBytes", "Transaction", "EthersTransactionMapperService", "mapper", "transaction", "result", "serializedTransaction", "subset", "type"]
7
+ }
@@ -1,2 +1 @@
1
- var c=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var i=(a,r,o,t)=>{for(var p=t>1?void 0:t?u(r,o):r,n=a.length-1,e;n>=0;n--)(e=a[n])&&(p=(t?e(r,o,p):e(p))||p);return t&&p&&c(r,o,p),p},m=(a,r)=>(o,t)=>r(o,t,a);import{injectable as f,multiInject as l}from"inversify";import{Left as T,Right as h}from"purify-ts";import{transactionTypes as E}from"../../../transaction/di/transactionTypes";let s=class{_mappers;constructor(r){this._mappers=r}mapTransactionToSubset(r){for(const o of this._mappers){const t=o.map(r);if(t.isJust())return h(t.extract())}return T(new Error("Unsupported transaction type"))}};s=i([f(),m(0,l(E.TransactionMappers))],s);export{s as TransactionMapperService};
2
1
  //# sourceMappingURL=TransactionMapperService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/internal/transaction/service/mapper/TransactionMapperService.ts"],
4
- "sourcesContent": ["import { injectable, multiInject } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\n\nimport { TransactionMapperResult } from \"./model/TransactionMapperResult\";\nimport { TransactionMapper } from \"./TransactionMapper\";\n\n@injectable()\nexport class TransactionMapperService {\n private _mappers: TransactionMapper[];\n\n constructor(\n @multiInject(transactionTypes.TransactionMappers)\n mappers: TransactionMapper[],\n ) {\n this._mappers = mappers;\n }\n\n mapTransactionToSubset(\n transaction: Uint8Array,\n ): Either<Error, TransactionMapperResult> {\n for (const mapper of this._mappers) {\n const result = mapper.map(transaction);\n if (result.isJust()) {\n return Right(result.extract());\n }\n }\n\n // TODO: handle correctly with the future error type\n return Left(new Error(\"Unsupported transaction type\"));\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,cAAAA,EAAY,eAAAC,MAAmB,YACxC,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAEpC,OAAS,oBAAAC,MAAwB,4CAM1B,IAAMC,EAAN,KAA+B,CAC5B,SAER,YAEEC,EACA,CACA,KAAK,SAAWA,CAClB,CAEA,uBACEC,EACwC,CACxC,UAAWC,KAAU,KAAK,SAAU,CAClC,MAAMC,EAASD,EAAO,IAAID,CAAW,EACrC,GAAIE,EAAO,OAAO,EAChB,OAAOC,EAAMD,EAAO,QAAQ,CAAC,CAEjC,CAGA,OAAOE,EAAK,IAAI,MAAM,8BAA8B,CAAC,CACvD,CACF,EAvBaN,EAANO,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAYC,EAAiB,kBAAkB,IAJvCX",
6
- "names": ["injectable", "multiInject", "Left", "Right", "transactionTypes", "TransactionMapperService", "mappers", "transaction", "mapper", "result", "Right", "Left", "__decorateClass", "injectable", "__decorateParam", "multiInject", "transactionTypes"]
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- var x=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var w=(b,n,r,e)=>{for(var t=e>1?void 0:e?C(n,r):n,l=b.length-1,o;l>=0;l--)(o=b[l])&&(t=(e?o(n,r,t):o(t))||t);return e&&t&&x(n,r,t),t};import{ContainerPath as p,DataPathElementType as E,DataPathLeafType as d}from"@ledgerhq/context-module";import{bufferToHexaString as P,ByteArrayBuilder as I,ByteArrayParser as N,hexaStringToBuffer as L}from"@ledgerhq/device-management-kit";import{Transaction as F}from"ethers";import{injectable as D}from"inversify";import{Either as R,Left as u,Maybe as s,Right as A}from"purify-ts";const $=4,h=32;let y=class{extractValue(n,r){return R.encase(()=>F.from(P(n))).chain(e=>r===p.FROM?u(new Error("Cannot get 'FROM' field of an unsigned transaction")):r===p.TO?s.fromNullable(e.to).map(t=>L(t)).filter(t=>t!==null).map(t=>[t]).toEither(new Error("Faild to extract TO field of transaction")):r===p.VALUE?s.fromNullable(e.value).map(t=>new I().add256BitUIntToData(t).build()).map(t=>[t]).toEither(new Error("Faild to extract VALUE field of transaction")):s.fromNullable(e.data).toEither(new Error("Transaction calldata is empty")).chain(t=>s.fromNullable(L(t)).toEither(new Error(`Invalid hex string calldata: ${t}`))).chain(t=>this.extractCalldataValue(t,r)))}extractCalldataValue(n,r){return n=n.slice($),r.length===0?u(new Error("Path is empty")):this.extractCalldataValueAt(n,r,0,0)}extractCalldataValueAt(n,r,e,t){const l=r[r.length-1],o=l.type===E.SLICE?l:null;for(;r.length>0;){const a=r[0];switch(r=r.slice(1),a.type){case E.TUPLE:t=e,e+=a.offset*h;break;case E.ARRAY:return this.getU256(n.slice(e)).toEither(new Error(`Invalid array length at offset ${e}`)).chain(i=>{e+=h,t=e;const c=a.start===void 0?0:a.start<0?i+a.start:a.start,U=a.end===void 0?i:a.end<0?i+a.end:a.end;return c<0||c>=i||U>i||c>=U?u(new Error(`Array slice out of bounds, start=${a.start}, end=${a.end}`)):Array.from({length:U-c},(m,g)=>g).map(m=>e+(m+c)*a.itemSize*h).reduce((m,g)=>m.chain(f=>this.extractCalldataValueAt(n,r,g,t).map(T=>[...f,...T])),A([]))});case E.REF:if(this.getU256(n.slice(e)).ifJust(i=>e=t+i).isNothing())return u(new Error(`Invalid ref at offset ${e}`));break;case E.LEAF:switch(a.leafType){case d.ARRAY_LEAF:return u(new Error("Array leaf is not supported in v1 of protocol"));case d.TUPLE_LEAF:return u(new Error("Tuple leaf is not supported in v1 of protocol"));case d.STATIC_LEAF:return this.getSlice(n,e,h).chain(i=>o===null?A([i]):this.sliceLeaf(i,o));case d.DYNAMIC_LEAF:return this.getU256(n.slice(e)).toEither(new Error(`Invalid leaf length at offset ${e}`)).chain(i=>(e+=h,this.getSlice(n,e,i).chain(c=>o===null?A([c]):this.sliceLeaf(c,o))))}break;case E.SLICE:return u(new Error("Slice can only be used as last element of the path"))}}return u(new Error("Path did not resolve to a leaf element"))}sliceLeaf(n,r){const e=n.length,t=r.start===void 0?0:r.start<0?e+r.start:r.start,l=r.end===void 0?e:r.end<0?e+r.end:r.end;return t>=l?u(new Error(`invalid leaf slice: start ${t}, end ${l}`)):this.getSlice(n,t,l-t).map(o=>[o])}getSlice(n,r,e){return r<0||n.length<r+e?u(new Error(`calldata too small to slice at offset ${r} of length ${e}`)):A(n.slice(r,r+e))}getU256(n){return s.fromNullable(new N(n).extract256BitUInt(!0)).filter(r=>r<=Number.MAX_SAFE_INTEGER).map(r=>Number(r))}};y=w([D()],y);export{y as TransactionParserService};
1
+ var C=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var w=(b,e,r,t)=>{for(var a=t>1?void 0:t?P(e,r):e,l=b.length-1,n;l>=0;l--)(n=b[l])&&(a=(t?n(e,r,a):n(a))||a);return t&&a&&C(e,r,a),a};import{ContainerPath as p,DataPathElementType as c,DataPathLeafType as d}from"@ledgerhq/context-module";import{ByteArrayBuilder as f,ByteArrayParser as I,hexaStringToBuffer as L}from"@ledgerhq/device-management-kit";import{injectable as N}from"inversify";import{Left as u,Maybe as E,Right as A}from"purify-ts";const F=4,h=32;let y=class{extractValue(e,r){const{to:t,data:a,value:l}=e;return r===p.FROM?u(new Error("Cannot get 'FROM' field of an unsigned transaction")):r===p.TO?E.fromNullable(t).map(n=>L(n)).filter(n=>n!==null).map(n=>[n]).toEither(new Error("Faild to extract TO field of transaction")):r===p.VALUE?E.fromNullable(l).map(n=>new f().add256BitUIntToData(n).build()).map(n=>[n]).toEither(new Error("Faild to extract VALUE field of transaction")):E.fromNullable(a).toEither(new Error("Transaction calldata is empty")).chain(n=>E.fromNullable(L(n)).toEither(new Error(`Invalid hex string calldata: ${n}`))).chain(n=>this.extractCalldataValue(n,r))}extractCalldataValue(e,r){return e=e.slice(F),r.length===0?u(new Error("Path is empty")):this.extractCalldataValueAt(e,r,0,0)}extractCalldataValueAt(e,r,t,a){const l=r[r.length-1],n=l.type===c.SLICE?l:null;for(;r.length>0;){const i=r[0];switch(r=r.slice(1),i.type){case c.TUPLE:a=t,t+=i.offset*h;break;case c.ARRAY:return this.getU256(e.slice(t)).toEither(new Error(`Invalid array length at offset ${t}`)).chain(o=>{t+=h,a=t;const s=i.start===void 0?0:i.start<0?o+i.start:i.start,U=i.end===void 0?o:i.end<0?o+i.end:i.end;return s<0||s>=o||U>o||s>=U?u(new Error(`Array slice out of bounds, start=${i.start}, end=${i.end}`)):Array.from({length:U-s},(m,g)=>g).map(m=>t+(m+s)*i.itemSize*h).reduce((m,g)=>m.chain(T=>this.extractCalldataValueAt(e,r,g,a).map(x=>[...T,...x])),A([]))});case c.REF:if(this.getU256(e.slice(t)).ifJust(o=>t=a+o).isNothing())return u(new Error(`Invalid ref at offset ${t}`));break;case c.LEAF:switch(i.leafType){case d.ARRAY_LEAF:return u(new Error("Array leaf is not supported in v1 of protocol"));case d.TUPLE_LEAF:return u(new Error("Tuple leaf is not supported in v1 of protocol"));case d.STATIC_LEAF:return this.getSlice(e,t,h).chain(o=>n===null?A([o]):this.sliceLeaf(o,n));case d.DYNAMIC_LEAF:return this.getU256(e.slice(t)).toEither(new Error(`Invalid leaf length at offset ${t}`)).chain(o=>(t+=h,this.getSlice(e,t,o).chain(s=>n===null?A([s]):this.sliceLeaf(s,n))))}break;case c.SLICE:return u(new Error("Slice can only be used as last element of the path"))}}return u(new Error("Path did not resolve to a leaf element"))}sliceLeaf(e,r){const t=e.length,a=r.start===void 0?0:r.start<0?t+r.start:r.start,l=r.end===void 0?t:r.end<0?t+r.end:r.end;return a>=l?u(new Error(`invalid leaf slice: start ${a}, end ${l}`)):this.getSlice(e,a,l-a).map(n=>[n])}getSlice(e,r,t){return r<0||e.length<r+t?u(new Error(`calldata too small to slice at offset ${r} of length ${t}`)):A(e.slice(r,r+t))}getU256(e){return E.fromNullable(new I(e).extract256BitUInt(!0)).filter(r=>r<=Number.MAX_SAFE_INTEGER).map(r=>Number(r))}};y=w([N()],y);export{y as TransactionParserService};
2
2
  //# sourceMappingURL=TransactionParserService.js.map