@ledgerhq/device-signer-kit-ethereum 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (997) hide show
  1. package/README.md +19 -19
  2. package/lib/cjs/api/SignerEth.js +2 -0
  3. package/lib/cjs/api/SignerEth.js.map +7 -0
  4. package/lib/cjs/api/SignerEthBuilder.js +2 -0
  5. package/lib/cjs/api/SignerEthBuilder.js.map +7 -0
  6. package/lib/cjs/api/SignerEthBuilder.test.js +2 -0
  7. package/lib/cjs/api/SignerEthBuilder.test.js.map +7 -0
  8. package/lib/cjs/api/app-binder/GetAddressCommandTypes.js +2 -3
  9. package/lib/cjs/api/app-binder/GetAddressCommandTypes.js.map +7 -1
  10. package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.js +2 -3
  11. package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.js.map +7 -1
  12. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js +2 -3
  13. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js.map +7 -1
  14. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +2 -3
  15. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +7 -1
  16. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +2 -3
  17. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +7 -1
  18. package/lib/cjs/api/index.js +2 -26
  19. package/lib/cjs/api/index.js.map +7 -1
  20. package/lib/cjs/api/model/Address.js +2 -3
  21. package/lib/cjs/api/model/Address.js.map +7 -1
  22. package/lib/cjs/api/model/AddressOptions.js +2 -3
  23. package/lib/cjs/api/model/AddressOptions.js.map +7 -1
  24. package/lib/cjs/api/model/Signature.js +2 -3
  25. package/lib/cjs/api/model/Signature.js.map +7 -1
  26. package/lib/cjs/api/model/Transaction.js +2 -3
  27. package/lib/cjs/api/model/Transaction.js.map +7 -1
  28. package/lib/cjs/api/model/TransactionOptions.js +2 -3
  29. package/lib/cjs/api/model/TransactionOptions.js.map +7 -1
  30. package/lib/cjs/api/model/TypedData.js +2 -4
  31. package/lib/cjs/api/model/TypedData.js.map +7 -1
  32. package/lib/cjs/index.js +2 -20
  33. package/lib/cjs/index.js.map +7 -1
  34. package/lib/cjs/internal/DefaultSignerEth.js +2 -0
  35. package/lib/cjs/internal/DefaultSignerEth.js.map +7 -0
  36. package/lib/cjs/internal/DefaultSignerEth.test.js +2 -0
  37. package/lib/cjs/internal/DefaultSignerEth.test.js.map +7 -0
  38. package/lib/cjs/internal/address/di/addressModule.js +2 -11
  39. package/lib/cjs/internal/address/di/addressModule.js.map +7 -1
  40. package/lib/cjs/internal/address/di/addressModule.test.js +2 -0
  41. package/lib/cjs/internal/address/di/addressModule.test.js.map +7 -0
  42. package/lib/cjs/internal/address/di/addressTypes.js +2 -7
  43. package/lib/cjs/internal/address/di/addressTypes.js.map +7 -1
  44. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js +2 -38
  45. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js.map +7 -1
  46. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +2 -0
  47. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +7 -0
  48. package/lib/cjs/internal/app-binder/EthAppBinder.js +2 -100
  49. package/lib/cjs/internal/app-binder/EthAppBinder.js.map +7 -1
  50. package/lib/cjs/internal/app-binder/EthAppBinder.test.js +2 -0
  51. package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +7 -0
  52. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js +2 -88
  53. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js.map +7 -1
  54. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +2 -0
  55. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +7 -0
  56. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js +2 -39
  57. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js.map +7 -1
  58. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js +2 -0
  59. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js.map +7 -0
  60. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js +2 -0
  61. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js.map +7 -0
  62. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js +2 -0
  63. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js.map +7 -0
  64. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js +2 -50
  65. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js.map +7 -1
  66. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js +2 -0
  67. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +7 -0
  68. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js +2 -34
  69. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js.map +7 -1
  70. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js +2 -0
  71. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +7 -0
  72. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +2 -0
  73. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +7 -0
  74. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +2 -0
  75. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +7 -0
  76. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js +2 -0
  77. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +7 -0
  78. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +2 -0
  79. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +7 -0
  80. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js +2 -0
  81. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js.map +7 -0
  82. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js +2 -0
  83. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +7 -0
  84. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +2 -69
  85. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +7 -1
  86. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js +2 -0
  87. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +7 -0
  88. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +2 -131
  89. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +7 -1
  90. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +2 -0
  91. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +7 -0
  92. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js +2 -51
  93. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +7 -1
  94. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +2 -0
  95. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +7 -0
  96. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js +2 -57
  97. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js.map +7 -1
  98. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js +7 -0
  99. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js.map +7 -0
  100. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js +2 -52
  101. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js.map +7 -1
  102. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js +6 -0
  103. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js.map +7 -0
  104. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js +2 -69
  105. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js.map +7 -1
  106. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js +2 -0
  107. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js.map +7 -0
  108. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js +2 -60
  109. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js.map +7 -1
  110. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js +2 -0
  111. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +7 -0
  112. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js +2 -59
  113. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js.map +7 -1
  114. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +2 -0
  115. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +7 -0
  116. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js +2 -0
  117. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js.map +7 -0
  118. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +2 -0
  119. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +7 -0
  120. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js +2 -0
  121. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js.map +7 -0
  122. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js +2 -0
  123. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js.map +7 -0
  124. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +2 -161
  125. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +7 -1
  126. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +2 -0
  127. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +7 -0
  128. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +2 -285
  129. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +7 -1
  130. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +2 -0
  131. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +7 -0
  132. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +2 -245
  133. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +7 -1
  134. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +2 -0
  135. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +7 -0
  136. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +2 -18
  137. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +7 -1
  138. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +2 -31
  139. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +7 -1
  140. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +2 -35
  141. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +7 -1
  142. package/lib/cjs/internal/app-binder/di/appBinderModule.js +2 -11
  143. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +7 -1
  144. package/lib/cjs/internal/app-binder/di/appBinderTypes.js +2 -7
  145. package/lib/cjs/internal/app-binder/di/appBinderTypes.js.map +7 -1
  146. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +2 -72
  147. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +7 -1
  148. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +2 -0
  149. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +7 -0
  150. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +2 -31
  151. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +7 -1
  152. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +2 -0
  153. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +7 -0
  154. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +2 -188
  155. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +7 -1
  156. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +2 -0
  157. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +7 -0
  158. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +2 -112
  159. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +7 -1
  160. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +2 -0
  161. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +7 -0
  162. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +2 -0
  163. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +7 -0
  164. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +2 -0
  165. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +7 -0
  166. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +2 -0
  167. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +7 -0
  168. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +2 -0
  169. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +7 -0
  170. package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js +2 -0
  171. package/lib/cjs/internal/app-binder/task/SendCommandInChunksTask.js.map +7 -0
  172. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js +2 -42
  173. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.js.map +7 -1
  174. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js +2 -0
  175. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +7 -0
  176. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +2 -0
  177. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +7 -0
  178. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +2 -0
  179. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +7 -0
  180. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js +2 -53
  181. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.js.map +7 -1
  182. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js +2 -0
  183. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +7 -0
  184. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +2 -53
  185. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +7 -1
  186. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +2 -0
  187. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +7 -0
  188. package/lib/cjs/internal/di.js +2 -27
  189. package/lib/cjs/internal/di.js.map +7 -1
  190. package/lib/cjs/internal/externalTypes.js +2 -9
  191. package/lib/cjs/internal/externalTypes.js.map +7 -1
  192. package/lib/cjs/internal/message/di/messageModule.js +2 -11
  193. package/lib/cjs/internal/message/di/messageModule.js.map +7 -1
  194. package/lib/cjs/internal/message/di/messageModule.test.js +2 -0
  195. package/lib/cjs/internal/message/di/messageModule.test.js.map +7 -0
  196. package/lib/cjs/internal/message/di/messageTypes.js +2 -7
  197. package/lib/cjs/internal/message/di/messageTypes.js.map +7 -1
  198. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js +2 -38
  199. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js.map +7 -1
  200. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +2 -0
  201. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +7 -0
  202. package/lib/cjs/internal/shared/utils/PayloadUtils.js +2 -0
  203. package/lib/cjs/internal/shared/utils/PayloadUtils.js.map +7 -0
  204. package/lib/cjs/internal/shared/utils/PayloadUtils.test.js +2 -0
  205. package/lib/cjs/internal/shared/utils/PayloadUtils.test.js.map +7 -0
  206. package/lib/cjs/internal/transaction/di/transactionModule.js +2 -17
  207. package/lib/cjs/internal/transaction/di/transactionModule.js.map +7 -1
  208. package/lib/cjs/internal/transaction/di/transactionModule.test.js +2 -0
  209. package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +7 -0
  210. package/lib/cjs/internal/transaction/di/transactionTypes.js +2 -9
  211. package/lib/cjs/internal/transaction/di/transactionTypes.js.map +7 -1
  212. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js +2 -60
  213. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +7 -1
  214. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +2 -0
  215. package/lib/cjs/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +7 -0
  216. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js +2 -36
  217. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +7 -1
  218. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +2 -0
  219. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js.map +7 -0
  220. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +2 -3
  221. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +7 -1
  222. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +2 -41
  223. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +7 -1
  224. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +2 -0
  225. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +7 -0
  226. package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js +2 -3
  227. package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.js.map +7 -1
  228. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +2 -0
  229. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +7 -0
  230. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +2 -0
  231. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +7 -0
  232. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js +2 -38
  233. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.js.map +7 -1
  234. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js +2 -0
  235. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js.map +7 -0
  236. package/lib/cjs/internal/typed-data/di/typedDataModule.js +2 -13
  237. package/lib/cjs/internal/typed-data/di/typedDataModule.js.map +7 -1
  238. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js +2 -0
  239. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js.map +7 -0
  240. package/lib/cjs/internal/typed-data/di/typedDataTypes.js +2 -8
  241. package/lib/cjs/internal/typed-data/di/typedDataTypes.js.map +7 -1
  242. package/lib/cjs/internal/typed-data/model/Types.js +2 -64
  243. package/lib/cjs/internal/typed-data/model/Types.js.map +7 -1
  244. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js +2 -29
  245. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js.map +7 -1
  246. package/lib/cjs/internal/typed-data/service/TypedDataEncoder.js +2 -101
  247. package/lib/cjs/internal/typed-data/service/TypedDataEncoder.js.map +7 -1
  248. package/lib/cjs/internal/typed-data/service/TypedDataEncoder.test.js +2 -0
  249. package/lib/cjs/internal/typed-data/service/TypedDataEncoder.test.js.map +7 -0
  250. package/lib/cjs/internal/typed-data/service/TypedDataParser.js +2 -211
  251. package/lib/cjs/internal/typed-data/service/TypedDataParser.js.map +7 -1
  252. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js +2 -0
  253. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js.map +7 -0
  254. package/lib/cjs/internal/typed-data/service/TypedDataParserService.js +2 -3
  255. package/lib/cjs/internal/typed-data/service/TypedDataParserService.js.map +7 -1
  256. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js +2 -42
  257. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js.map +7 -1
  258. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +2 -0
  259. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +7 -0
  260. package/lib/cjs/package.json +63 -0
  261. package/lib/esm/api/SignerEth.js +1 -0
  262. package/lib/esm/api/SignerEth.js.map +7 -0
  263. package/lib/esm/api/SignerEthBuilder.js +2 -0
  264. package/lib/esm/api/SignerEthBuilder.js.map +7 -0
  265. package/lib/esm/api/SignerEthBuilder.test.js +2 -0
  266. package/lib/esm/api/SignerEthBuilder.test.js.map +7 -0
  267. package/lib/esm/api/app-binder/GetAddressCommandTypes.js +1 -2
  268. package/lib/esm/api/app-binder/GetAddressCommandTypes.js.map +7 -1
  269. package/lib/esm/api/app-binder/GetAddressDeviceActionTypes.js +1 -2
  270. package/lib/esm/api/app-binder/GetAddressDeviceActionTypes.js.map +7 -1
  271. package/lib/esm/api/app-binder/SignPersonalMessageDeviceActionTypes.js +1 -2
  272. package/lib/esm/api/app-binder/SignPersonalMessageDeviceActionTypes.js.map +7 -1
  273. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -2
  274. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +7 -1
  275. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -2
  276. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js.map +7 -1
  277. package/lib/esm/api/index.js +2 -10
  278. package/lib/esm/api/index.js.map +7 -1
  279. package/lib/esm/api/model/Address.js +1 -2
  280. package/lib/esm/api/model/Address.js.map +7 -1
  281. package/lib/esm/api/model/AddressOptions.js +1 -2
  282. package/lib/esm/api/model/AddressOptions.js.map +7 -1
  283. package/lib/esm/api/model/Signature.js +1 -2
  284. package/lib/esm/api/model/Signature.js.map +7 -1
  285. package/lib/esm/api/model/Transaction.js +2 -2
  286. package/lib/esm/api/model/Transaction.js.map +7 -1
  287. package/lib/esm/api/model/TransactionOptions.js +1 -2
  288. package/lib/esm/api/model/TransactionOptions.js.map +7 -1
  289. package/lib/esm/api/model/TypedData.js +1 -3
  290. package/lib/esm/api/model/TypedData.js.map +7 -1
  291. package/lib/esm/index.js +2 -4
  292. package/lib/esm/index.js.map +7 -1
  293. package/lib/esm/internal/DefaultSignerEth.js +2 -0
  294. package/lib/esm/internal/DefaultSignerEth.js.map +7 -0
  295. package/lib/esm/internal/DefaultSignerEth.test.js +2 -0
  296. package/lib/esm/internal/DefaultSignerEth.test.js.map +7 -0
  297. package/lib/esm/internal/address/di/addressModule.js +2 -7
  298. package/lib/esm/internal/address/di/addressModule.js.map +7 -1
  299. package/lib/esm/internal/address/di/addressModule.test.js +2 -0
  300. package/lib/esm/internal/address/di/addressModule.test.js.map +7 -0
  301. package/lib/esm/internal/address/di/addressTypes.js +2 -4
  302. package/lib/esm/internal/address/di/addressTypes.js.map +7 -1
  303. package/lib/esm/internal/address/use-case/GetAddressUseCase.js +2 -35
  304. package/lib/esm/internal/address/use-case/GetAddressUseCase.js.map +7 -1
  305. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +2 -0
  306. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +7 -0
  307. package/lib/esm/internal/app-binder/EthAppBinder.js +2 -97
  308. package/lib/esm/internal/app-binder/EthAppBinder.js.map +7 -1
  309. package/lib/esm/internal/app-binder/EthAppBinder.test.js +2 -0
  310. package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +7 -0
  311. package/lib/esm/internal/app-binder/command/GetAddressCommand.js +2 -84
  312. package/lib/esm/internal/app-binder/command/GetAddressCommand.js.map +7 -1
  313. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +2 -0
  314. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +7 -0
  315. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js +2 -35
  316. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js.map +7 -1
  317. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js +2 -0
  318. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js.map +7 -0
  319. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js +2 -0
  320. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js.map +7 -0
  321. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js +2 -0
  322. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js.map +7 -0
  323. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js +2 -46
  324. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js.map +7 -1
  325. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js +2 -0
  326. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +7 -0
  327. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js +2 -30
  328. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js.map +7 -1
  329. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js +2 -0
  330. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +7 -0
  331. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +2 -0
  332. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +7 -0
  333. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +2 -0
  334. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +7 -0
  335. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js +2 -0
  336. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +7 -0
  337. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +2 -0
  338. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +7 -0
  339. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js +2 -0
  340. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js.map +7 -0
  341. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js +2 -0
  342. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +7 -0
  343. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +2 -65
  344. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +7 -1
  345. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js +2 -0
  346. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +7 -0
  347. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +2 -127
  348. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +7 -1
  349. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +2 -0
  350. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +7 -0
  351. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js +2 -47
  352. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +7 -1
  353. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +2 -0
  354. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +7 -0
  355. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js +2 -52
  356. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js.map +7 -1
  357. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js +7 -0
  358. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js.map +7 -0
  359. package/lib/esm/internal/app-binder/command/SetPluginCommand.js +2 -47
  360. package/lib/esm/internal/app-binder/command/SetPluginCommand.js.map +7 -1
  361. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js +6 -0
  362. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js.map +7 -0
  363. package/lib/esm/internal/app-binder/command/SignEIP712Command.js +2 -65
  364. package/lib/esm/internal/app-binder/command/SignEIP712Command.js.map +7 -1
  365. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js +2 -0
  366. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js.map +7 -0
  367. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js +2 -56
  368. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js.map +7 -1
  369. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js +2 -0
  370. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +7 -0
  371. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js +2 -55
  372. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js.map +7 -1
  373. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +2 -0
  374. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +7 -0
  375. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js +2 -0
  376. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js.map +7 -0
  377. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +2 -0
  378. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +7 -0
  379. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js +2 -0
  380. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js.map +7 -0
  381. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js +2 -0
  382. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js.map +7 -0
  383. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +2 -157
  384. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +7 -1
  385. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +2 -0
  386. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +7 -0
  387. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +2 -281
  388. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +7 -1
  389. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +2 -0
  390. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +7 -0
  391. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +2 -241
  392. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +7 -1
  393. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +2 -0
  394. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +7 -0
  395. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +2 -15
  396. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +7 -1
  397. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +2 -27
  398. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +7 -1
  399. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +2 -32
  400. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +7 -1
  401. package/lib/esm/internal/app-binder/di/appBinderModule.js +2 -7
  402. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +7 -1
  403. package/lib/esm/internal/app-binder/di/appBinderTypes.js +2 -4
  404. package/lib/esm/internal/app-binder/di/appBinderTypes.js.map +7 -1
  405. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +2 -68
  406. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +7 -1
  407. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +2 -0
  408. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +7 -0
  409. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +2 -27
  410. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +7 -1
  411. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +2 -0
  412. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +7 -0
  413. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +2 -184
  414. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +7 -1
  415. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +2 -0
  416. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +7 -0
  417. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +2 -107
  418. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +7 -1
  419. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +2 -0
  420. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +7 -0
  421. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +2 -0
  422. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +7 -0
  423. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +2 -0
  424. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +7 -0
  425. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +2 -0
  426. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +7 -0
  427. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +2 -0
  428. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +7 -0
  429. package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js +2 -0
  430. package/lib/esm/internal/app-binder/task/SendCommandInChunksTask.js.map +7 -0
  431. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js +2 -38
  432. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.js.map +7 -1
  433. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js +2 -0
  434. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +7 -0
  435. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +2 -0
  436. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +7 -0
  437. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +2 -0
  438. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +7 -0
  439. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js +2 -49
  440. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.js.map +7 -1
  441. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js +2 -0
  442. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +7 -0
  443. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +2 -49
  444. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +7 -1
  445. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +2 -0
  446. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +7 -0
  447. package/lib/esm/internal/di.js +2 -23
  448. package/lib/esm/internal/di.js.map +7 -1
  449. package/lib/esm/internal/externalTypes.js +2 -6
  450. package/lib/esm/internal/externalTypes.js.map +7 -1
  451. package/lib/esm/internal/message/di/messageModule.js +2 -7
  452. package/lib/esm/internal/message/di/messageModule.js.map +7 -1
  453. package/lib/esm/internal/message/di/messageModule.test.js +2 -0
  454. package/lib/esm/internal/message/di/messageModule.test.js.map +7 -0
  455. package/lib/esm/internal/message/di/messageTypes.js +2 -4
  456. package/lib/esm/internal/message/di/messageTypes.js.map +7 -1
  457. package/lib/esm/internal/message/use-case/SignMessageUseCase.js +2 -35
  458. package/lib/esm/internal/message/use-case/SignMessageUseCase.js.map +7 -1
  459. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +2 -0
  460. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +7 -0
  461. package/lib/esm/internal/shared/utils/PayloadUtils.js +2 -0
  462. package/lib/esm/internal/shared/utils/PayloadUtils.js.map +7 -0
  463. package/lib/esm/internal/shared/utils/PayloadUtils.test.js +2 -0
  464. package/lib/esm/internal/shared/utils/PayloadUtils.test.js.map +7 -0
  465. package/lib/esm/internal/transaction/di/transactionModule.js +2 -13
  466. package/lib/esm/internal/transaction/di/transactionModule.js.map +7 -1
  467. package/lib/esm/internal/transaction/di/transactionModule.test.js +2 -0
  468. package/lib/esm/internal/transaction/di/transactionModule.test.js.map +7 -0
  469. package/lib/esm/internal/transaction/di/transactionTypes.js +2 -6
  470. package/lib/esm/internal/transaction/di/transactionTypes.js.map +7 -1
  471. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js +2 -57
  472. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.js.map +7 -1
  473. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js +2 -0
  474. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.test.js.map +7 -0
  475. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js +2 -33
  476. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.js.map +7 -1
  477. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js +2 -0
  478. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.test.js.map +7 -0
  479. package/lib/esm/internal/transaction/service/mapper/TransactionMapper.js +1 -2
  480. package/lib/esm/internal/transaction/service/mapper/TransactionMapper.js.map +7 -1
  481. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +2 -38
  482. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +7 -1
  483. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +2 -0
  484. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +7 -0
  485. package/lib/esm/internal/transaction/service/mapper/model/TransactionMapperResult.js +1 -2
  486. package/lib/esm/internal/transaction/service/mapper/model/TransactionMapperResult.js.map +7 -1
  487. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +2 -0
  488. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +7 -0
  489. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +2 -0
  490. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +7 -0
  491. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js +2 -35
  492. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.js.map +7 -1
  493. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js +2 -0
  494. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js.map +7 -0
  495. package/lib/esm/internal/typed-data/di/typedDataModule.js +2 -9
  496. package/lib/esm/internal/typed-data/di/typedDataModule.js.map +7 -1
  497. package/lib/esm/internal/typed-data/di/typedDataModule.test.js +2 -0
  498. package/lib/esm/internal/typed-data/di/typedDataModule.test.js.map +7 -0
  499. package/lib/esm/internal/typed-data/di/typedDataTypes.js +2 -5
  500. package/lib/esm/internal/typed-data/di/typedDataTypes.js.map +7 -1
  501. package/lib/esm/internal/typed-data/model/Types.js +2 -55
  502. package/lib/esm/internal/typed-data/model/Types.js.map +7 -1
  503. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js +2 -26
  504. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js.map +7 -1
  505. package/lib/esm/internal/typed-data/service/TypedDataEncoder.js +2 -98
  506. package/lib/esm/internal/typed-data/service/TypedDataEncoder.js.map +7 -1
  507. package/lib/esm/internal/typed-data/service/TypedDataEncoder.test.js +2 -0
  508. package/lib/esm/internal/typed-data/service/TypedDataEncoder.test.js.map +7 -0
  509. package/lib/esm/internal/typed-data/service/TypedDataParser.js +2 -207
  510. package/lib/esm/internal/typed-data/service/TypedDataParser.js.map +7 -1
  511. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js +2 -0
  512. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js.map +7 -0
  513. package/lib/esm/internal/typed-data/service/TypedDataParserService.js +1 -2
  514. package/lib/esm/internal/typed-data/service/TypedDataParserService.js.map +7 -1
  515. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js +2 -39
  516. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js.map +7 -1
  517. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +2 -0
  518. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +7 -0
  519. package/lib/esm/package.json +63 -0
  520. package/lib/types/api/SignerEth.d.ts +15 -0
  521. package/lib/types/api/SignerEth.d.ts.map +1 -0
  522. package/lib/types/api/SignerEthBuilder.d.ts +37 -0
  523. package/lib/types/api/SignerEthBuilder.d.ts.map +1 -0
  524. package/lib/types/api/SignerEthBuilder.test.d.ts +2 -0
  525. package/lib/types/api/SignerEthBuilder.test.d.ts.map +1 -0
  526. package/lib/{cjs → types}/api/app-binder/GetAddressDeviceActionTypes.d.ts +1 -1
  527. package/lib/types/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +1 -0
  528. package/lib/{esm → types}/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +3 -3
  529. package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +1 -0
  530. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +37 -0
  531. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -0
  532. package/lib/{cjs → types}/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +5 -5
  533. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -0
  534. package/lib/{cjs → types}/api/index.d.ts +2 -2
  535. package/lib/{cjs → types}/api/index.d.ts.map +1 -1
  536. package/lib/types/api/model/Address.d.ts +7 -0
  537. package/lib/types/api/model/Address.d.ts.map +1 -0
  538. package/lib/types/api/model/Signature.d.ts +7 -0
  539. package/lib/types/api/model/Signature.d.ts.map +1 -0
  540. package/lib/types/api/model/Transaction.d.ts +14 -0
  541. package/lib/types/api/model/Transaction.d.ts.map +1 -0
  542. package/lib/types/internal/DefaultSignerEth.d.ts +26 -0
  543. package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -0
  544. package/lib/types/internal/DefaultSignerEth.test.d.ts +2 -0
  545. package/lib/types/internal/DefaultSignerEth.test.d.ts.map +1 -0
  546. package/lib/types/internal/address/di/addressModule.test.d.ts +2 -0
  547. package/lib/types/internal/address/di/addressModule.test.d.ts.map +1 -0
  548. package/lib/types/internal/address/use-case/GetAddressUseCase.test.d.ts +2 -0
  549. package/lib/types/internal/address/use-case/GetAddressUseCase.test.d.ts.map +1 -0
  550. package/lib/{cjs → types}/internal/app-binder/EthAppBinder.d.ts +6 -4
  551. package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -0
  552. package/lib/types/internal/app-binder/EthAppBinder.test.d.ts +2 -0
  553. package/lib/types/internal/app-binder/EthAppBinder.test.d.ts.map +1 -0
  554. package/lib/{cjs → types}/internal/app-binder/command/GetAddressCommand.d.ts +2 -2
  555. package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts.map +1 -0
  556. package/lib/types/internal/app-binder/command/GetAddressCommand.test.d.ts +2 -0
  557. package/lib/types/internal/app-binder/command/GetAddressCommand.test.d.ts.map +1 -0
  558. package/lib/{esm → types}/internal/app-binder/command/GetChallengeCommand.d.ts +1 -1
  559. package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts.map +1 -0
  560. package/lib/types/internal/app-binder/command/GetChallengeCommand.test.d.ts +2 -0
  561. package/lib/types/internal/app-binder/command/GetChallengeCommand.test.d.ts.map +1 -0
  562. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts +18 -0
  563. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts.map +1 -0
  564. package/lib/types/internal/app-binder/command/ProvideEnumCommand.test.d.ts +2 -0
  565. package/lib/types/internal/app-binder/command/ProvideEnumCommand.test.d.ts.map +1 -0
  566. package/lib/{cjs → types}/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +1 -1
  567. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +1 -0
  568. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.test.d.ts +2 -0
  569. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.test.d.ts.map +1 -0
  570. package/lib/{cjs → types}/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +1 -1
  571. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +1 -0
  572. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.test.d.ts +2 -0
  573. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.test.d.ts.map +1 -0
  574. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts +18 -0
  575. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts.map +1 -0
  576. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.d.ts +2 -0
  577. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.d.ts.map +1 -0
  578. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts +18 -0
  579. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts.map +1 -0
  580. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.test.d.ts +2 -0
  581. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.test.d.ts.map +1 -0
  582. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts +19 -0
  583. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts.map +1 -0
  584. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.test.d.ts +2 -0
  585. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.test.d.ts.map +1 -0
  586. package/lib/{cjs → types}/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +9 -1
  587. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -0
  588. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.test.d.ts +2 -0
  589. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.test.d.ts.map +1 -0
  590. package/lib/{esm → types}/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +1 -1
  591. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +1 -0
  592. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.d.ts +2 -0
  593. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.d.ts.map +1 -0
  594. package/lib/{esm → types}/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +1 -1
  595. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +1 -0
  596. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.test.d.ts +2 -0
  597. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.test.d.ts.map +1 -0
  598. package/lib/{esm → types}/internal/app-binder/command/SetExternalPluginCommand.d.ts +1 -1
  599. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +1 -0
  600. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.test.d.ts +2 -0
  601. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.test.d.ts.map +1 -0
  602. package/lib/{cjs → types}/internal/app-binder/command/SetPluginCommand.d.ts +1 -1
  603. package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts.map +1 -0
  604. package/lib/types/internal/app-binder/command/SetPluginCommand.test.d.ts +2 -0
  605. package/lib/types/internal/app-binder/command/SetPluginCommand.test.d.ts.map +1 -0
  606. package/lib/{esm → types}/internal/app-binder/command/SignEIP712Command.d.ts +2 -2
  607. package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts.map +1 -0
  608. package/lib/types/internal/app-binder/command/SignEIP712Command.test.d.ts +2 -0
  609. package/lib/types/internal/app-binder/command/SignEIP712Command.test.d.ts.map +1 -0
  610. package/lib/{cjs → types}/internal/app-binder/command/SignPersonalMessageCommand.d.ts +3 -3
  611. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +1 -0
  612. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.test.d.ts +2 -0
  613. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.test.d.ts.map +1 -0
  614. package/lib/{esm → types}/internal/app-binder/command/SignTransactionCommand.d.ts +2 -2
  615. package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts.map +1 -0
  616. package/lib/types/internal/app-binder/command/SignTransactionCommand.test.d.ts +2 -0
  617. package/lib/types/internal/app-binder/command/SignTransactionCommand.test.d.ts.map +1 -0
  618. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts +12 -0
  619. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts.map +1 -0
  620. package/lib/types/internal/app-binder/command/StartTransactionCommand.test.d.ts +2 -0
  621. package/lib/types/internal/app-binder/command/StartTransactionCommand.test.d.ts.map +1 -0
  622. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts +23 -0
  623. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts.map +1 -0
  624. package/lib/types/internal/app-binder/command/StoreTransactionCommand.test.d.ts +2 -0
  625. package/lib/types/internal/app-binder/command/StoreTransactionCommand.test.d.ts.map +1 -0
  626. package/lib/{esm → types}/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +4 -4
  627. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +1 -0
  628. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts +2 -0
  629. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts.map +1 -0
  630. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +54 -0
  631. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -0
  632. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.d.ts +2 -0
  633. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.d.ts.map +1 -0
  634. package/lib/{cjs → types}/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +6 -6
  635. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -0
  636. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.d.ts +2 -0
  637. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.d.ts.map +1 -0
  638. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +3 -0
  639. package/lib/{cjs → types}/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  640. package/lib/{cjs → types}/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +2 -2
  641. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -0
  642. package/lib/{cjs → types}/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
  643. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.test.d.ts +2 -0
  644. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.test.d.ts.map +1 -0
  645. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +27 -0
  646. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +1 -0
  647. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts +2 -0
  648. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts.map +1 -0
  649. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +28 -0
  650. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -0
  651. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.test.d.ts +2 -0
  652. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.test.d.ts.map +1 -0
  653. package/lib/{esm → types}/internal/app-binder/task/ProvideTransactionContextTask.d.ts +7 -24
  654. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +1 -0
  655. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts +2 -0
  656. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts.map +1 -0
  657. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +38 -0
  658. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +1 -0
  659. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts +2 -0
  660. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts.map +1 -0
  661. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +27 -0
  662. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +1 -0
  663. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts +2 -0
  664. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts.map +1 -0
  665. package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts +16 -0
  666. package/lib/types/internal/app-binder/task/SendCommandInChunksTask.d.ts.map +1 -0
  667. package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.test.d.ts +2 -0
  668. package/lib/types/internal/app-binder/task/SendEIP712StructImplemTask.test.d.ts.map +1 -0
  669. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +14 -0
  670. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -0
  671. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.test.d.ts +2 -0
  672. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.test.d.ts.map +1 -0
  673. package/lib/{esm → types}/internal/app-binder/task/SendSignPersonalMessageTask.d.ts +3 -3
  674. package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.d.ts.map +1 -0
  675. package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.test.d.ts +2 -0
  676. package/lib/types/internal/app-binder/task/SendSignPersonalMessageTask.test.d.ts.map +1 -0
  677. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +20 -0
  678. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -0
  679. package/lib/types/internal/app-binder/task/SendSignTransactionTask.test.d.ts +2 -0
  680. package/lib/types/internal/app-binder/task/SendSignTransactionTask.test.d.ts.map +1 -0
  681. package/lib/types/internal/di.d.ts +10 -0
  682. package/lib/types/internal/di.d.ts.map +1 -0
  683. package/lib/{cjs → types}/internal/externalTypes.d.ts +1 -1
  684. package/lib/types/internal/message/di/messageModule.test.d.ts +2 -0
  685. package/lib/types/internal/message/di/messageModule.test.d.ts.map +1 -0
  686. package/lib/{esm → types}/internal/message/use-case/SignMessageUseCase.d.ts +2 -2
  687. package/lib/{cjs → types}/internal/message/use-case/SignMessageUseCase.d.ts.map +1 -1
  688. package/lib/types/internal/message/use-case/SignMessageUseCase.test.d.ts +2 -0
  689. package/lib/types/internal/message/use-case/SignMessageUseCase.test.d.ts.map +1 -0
  690. package/lib/types/internal/shared/utils/PayloadUtils.d.ts +5 -0
  691. package/lib/types/internal/shared/utils/PayloadUtils.d.ts.map +1 -0
  692. package/lib/types/internal/shared/utils/PayloadUtils.test.d.ts +2 -0
  693. package/lib/types/internal/shared/utils/PayloadUtils.test.d.ts.map +1 -0
  694. package/lib/{cjs → types}/internal/transaction/di/transactionModule.d.ts.map +1 -1
  695. package/lib/types/internal/transaction/di/transactionModule.test.d.ts +2 -0
  696. package/lib/types/internal/transaction/di/transactionModule.test.d.ts.map +1 -0
  697. package/lib/{cjs → types}/internal/transaction/di/transactionTypes.d.ts +1 -0
  698. package/lib/{cjs → types}/internal/transaction/di/transactionTypes.d.ts.map +1 -1
  699. package/lib/{cjs → types}/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts.map +1 -1
  700. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts +2 -0
  701. package/lib/types/internal/transaction/service/mapper/EthersV5TransactionMapper.test.d.ts.map +1 -0
  702. package/lib/{esm → types}/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts +1 -1
  703. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts.map +1 -0
  704. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.test.d.ts +2 -0
  705. package/lib/types/internal/transaction/service/mapper/EthersV6TransactionMapper.test.d.ts.map +1 -0
  706. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +7 -0
  707. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +1 -0
  708. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts +2 -0
  709. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts.map +1 -0
  710. package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts +18 -0
  711. package/lib/types/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts.map +1 -0
  712. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts +11 -0
  713. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -0
  714. package/lib/types/internal/transaction/service/parser/TransactionParserService.test.d.ts +2 -0
  715. package/lib/types/internal/transaction/service/parser/TransactionParserService.test.d.ts.map +1 -0
  716. package/lib/types/internal/transaction/use-case/SignTransactionUseCase.test.d.ts +2 -0
  717. package/lib/types/internal/transaction/use-case/SignTransactionUseCase.test.d.ts.map +1 -0
  718. package/lib/types/internal/typed-data/di/typedDataModule.test.d.ts +2 -0
  719. package/lib/types/internal/typed-data/di/typedDataModule.test.d.ts.map +1 -0
  720. package/lib/{cjs → types}/internal/typed-data/model/Types.d.ts +1 -1
  721. package/lib/types/internal/typed-data/model/Types.d.ts.map +1 -0
  722. package/lib/{esm → types}/internal/typed-data/service/TypedDataEncoder.d.ts +1 -1
  723. package/lib/{cjs → types}/internal/typed-data/service/TypedDataEncoder.d.ts.map +1 -1
  724. package/lib/types/internal/typed-data/service/TypedDataEncoder.test.d.ts +2 -0
  725. package/lib/types/internal/typed-data/service/TypedDataEncoder.test.d.ts.map +1 -0
  726. package/lib/{esm → types}/internal/typed-data/service/TypedDataParser.d.ts +3 -3
  727. package/lib/types/internal/typed-data/service/TypedDataParser.d.ts.map +1 -0
  728. package/lib/types/internal/typed-data/service/TypedDataParser.test.d.ts +2 -0
  729. package/lib/types/internal/typed-data/service/TypedDataParser.test.d.ts.map +1 -0
  730. package/lib/{esm → types}/internal/typed-data/service/TypedDataParserService.d.ts +3 -3
  731. package/lib/types/internal/typed-data/service/TypedDataParserService.d.ts.map +1 -0
  732. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.test.d.ts +2 -0
  733. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.test.d.ts.map +1 -0
  734. package/lib/types/tsconfig.prod.tsbuildinfo +1 -0
  735. package/package.json +28 -32
  736. package/lib/cjs/api/KeyringEth.d.ts +0 -15
  737. package/lib/cjs/api/KeyringEth.d.ts.map +0 -1
  738. package/lib/cjs/api/KeyringEth.js +0 -3
  739. package/lib/cjs/api/KeyringEth.js.map +0 -1
  740. package/lib/cjs/api/KeyringEthBuilder.d.ts +0 -38
  741. package/lib/cjs/api/KeyringEthBuilder.d.ts.map +0 -1
  742. package/lib/cjs/api/KeyringEthBuilder.js +0 -49
  743. package/lib/cjs/api/KeyringEthBuilder.js.map +0 -1
  744. package/lib/cjs/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +0 -1
  745. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +0 -20
  746. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +0 -1
  747. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.d.ts +0 -31
  748. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +0 -1
  749. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +0 -1
  750. package/lib/cjs/api/model/Address.d.ts +0 -7
  751. package/lib/cjs/api/model/Address.d.ts.map +0 -1
  752. package/lib/cjs/api/model/Signature.d.ts +0 -7
  753. package/lib/cjs/api/model/Signature.d.ts.map +0 -1
  754. package/lib/cjs/api/model/Transaction.d.ts +0 -4
  755. package/lib/cjs/api/model/Transaction.d.ts.map +0 -1
  756. package/lib/cjs/internal/DefaultKeyringEth.d.ts +0 -26
  757. package/lib/cjs/internal/DefaultKeyringEth.d.ts.map +0 -1
  758. package/lib/cjs/internal/DefaultKeyringEth.js +0 -36
  759. package/lib/cjs/internal/DefaultKeyringEth.js.map +0 -1
  760. package/lib/cjs/internal/app-binder/EthAppBinder.d.ts.map +0 -1
  761. package/lib/cjs/internal/app-binder/command/GetAddressCommand.d.ts.map +0 -1
  762. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.d.ts +0 -10
  763. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.d.ts.map +0 -1
  764. package/lib/cjs/internal/app-binder/command/ProvideDomainNameCommand.d.ts +0 -19
  765. package/lib/cjs/internal/app-binder/command/ProvideDomainNameCommand.d.ts.map +0 -1
  766. package/lib/cjs/internal/app-binder/command/ProvideDomainNameCommand.js +0 -41
  767. package/lib/cjs/internal/app-binder/command/ProvideDomainNameCommand.js.map +0 -1
  768. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +0 -1
  769. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +0 -1
  770. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +0 -1
  771. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +0 -25
  772. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +0 -1
  773. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +0 -30
  774. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +0 -1
  775. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.d.ts +0 -17
  776. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +0 -1
  777. package/lib/cjs/internal/app-binder/command/SetPluginCommand.d.ts.map +0 -1
  778. package/lib/cjs/internal/app-binder/command/SignEIP712Command.d.ts +0 -25
  779. package/lib/cjs/internal/app-binder/command/SignEIP712Command.d.ts.map +0 -1
  780. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +0 -1
  781. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.d.ts +0 -24
  782. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.d.ts.map +0 -1
  783. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +0 -17
  784. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +0 -1
  785. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +0 -39
  786. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +0 -1
  787. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +0 -1
  788. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +0 -3
  789. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +0 -1
  790. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.d.ts +0 -21
  791. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +0 -1
  792. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +0 -21
  793. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +0 -1
  794. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.d.ts +0 -57
  795. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +0 -1
  796. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.d.ts +0 -14
  797. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.d.ts.map +0 -1
  798. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.d.ts +0 -14
  799. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.d.ts.map +0 -1
  800. package/lib/cjs/internal/di.d.ts +0 -10
  801. package/lib/cjs/internal/di.d.ts.map +0 -1
  802. package/lib/cjs/internal/message/use-case/SignMessageUseCase.d.ts +0 -8
  803. package/lib/cjs/internal/shared/utils/DerivationPathUtils.d.ts +0 -5
  804. package/lib/cjs/internal/shared/utils/DerivationPathUtils.d.ts.map +0 -1
  805. package/lib/cjs/internal/shared/utils/DerivationPathUtils.js +0 -24
  806. package/lib/cjs/internal/shared/utils/DerivationPathUtils.js.map +0 -1
  807. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts +0 -9
  808. package/lib/cjs/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts.map +0 -1
  809. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -7
  810. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
  811. package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts +0 -12
  812. package/lib/cjs/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts.map +0 -1
  813. package/lib/cjs/internal/typed-data/model/Types.d.ts.map +0 -1
  814. package/lib/cjs/internal/typed-data/service/TypedDataEncoder.d.ts +0 -10
  815. package/lib/cjs/internal/typed-data/service/TypedDataParser.d.ts +0 -73
  816. package/lib/cjs/internal/typed-data/service/TypedDataParser.d.ts.map +0 -1
  817. package/lib/cjs/internal/typed-data/service/TypedDataParserService.d.ts +0 -12
  818. package/lib/cjs/internal/typed-data/service/TypedDataParserService.d.ts.map +0 -1
  819. package/lib/esm/api/KeyringEth.d.ts +0 -15
  820. package/lib/esm/api/KeyringEth.d.ts.map +0 -1
  821. package/lib/esm/api/KeyringEth.js +0 -2
  822. package/lib/esm/api/KeyringEth.js.map +0 -1
  823. package/lib/esm/api/KeyringEthBuilder.d.ts +0 -38
  824. package/lib/esm/api/KeyringEthBuilder.d.ts.map +0 -1
  825. package/lib/esm/api/KeyringEthBuilder.js +0 -45
  826. package/lib/esm/api/KeyringEthBuilder.js.map +0 -1
  827. package/lib/esm/api/app-binder/GetAddressCommandTypes.d.ts +0 -11
  828. package/lib/esm/api/app-binder/GetAddressCommandTypes.d.ts.map +0 -1
  829. package/lib/esm/api/app-binder/GetAddressDeviceActionTypes.d.ts +0 -9
  830. package/lib/esm/api/app-binder/GetAddressDeviceActionTypes.d.ts.map +0 -1
  831. package/lib/esm/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +0 -1
  832. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.d.ts +0 -31
  833. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +0 -1
  834. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +0 -27
  835. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +0 -1
  836. package/lib/esm/api/index.d.ts +0 -13
  837. package/lib/esm/api/index.d.ts.map +0 -1
  838. package/lib/esm/api/model/Address.d.ts +0 -7
  839. package/lib/esm/api/model/Address.d.ts.map +0 -1
  840. package/lib/esm/api/model/AddressOptions.d.ts +0 -5
  841. package/lib/esm/api/model/AddressOptions.d.ts.map +0 -1
  842. package/lib/esm/api/model/Signature.d.ts +0 -7
  843. package/lib/esm/api/model/Signature.d.ts.map +0 -1
  844. package/lib/esm/api/model/Transaction.d.ts +0 -4
  845. package/lib/esm/api/model/Transaction.d.ts.map +0 -1
  846. package/lib/esm/api/model/TransactionOptions.d.ts +0 -4
  847. package/lib/esm/api/model/TransactionOptions.d.ts.map +0 -1
  848. package/lib/esm/api/model/TypedData.d.ts +0 -18
  849. package/lib/esm/api/model/TypedData.d.ts.map +0 -1
  850. package/lib/esm/index.d.ts +0 -3
  851. package/lib/esm/index.d.ts.map +0 -1
  852. package/lib/esm/internal/DefaultKeyringEth.d.ts +0 -26
  853. package/lib/esm/internal/DefaultKeyringEth.d.ts.map +0 -1
  854. package/lib/esm/internal/DefaultKeyringEth.js +0 -32
  855. package/lib/esm/internal/DefaultKeyringEth.js.map +0 -1
  856. package/lib/esm/internal/address/di/addressModule.d.ts +0 -3
  857. package/lib/esm/internal/address/di/addressModule.d.ts.map +0 -1
  858. package/lib/esm/internal/address/di/addressTypes.d.ts +0 -4
  859. package/lib/esm/internal/address/di/addressTypes.d.ts.map +0 -1
  860. package/lib/esm/internal/address/use-case/GetAddressUseCase.d.ts +0 -9
  861. package/lib/esm/internal/address/use-case/GetAddressUseCase.d.ts.map +0 -1
  862. package/lib/esm/internal/app-binder/EthAppBinder.d.ts +0 -38
  863. package/lib/esm/internal/app-binder/EthAppBinder.d.ts.map +0 -1
  864. package/lib/esm/internal/app-binder/command/GetAddressCommand.d.ts +0 -9
  865. package/lib/esm/internal/app-binder/command/GetAddressCommand.d.ts.map +0 -1
  866. package/lib/esm/internal/app-binder/command/GetChallengeCommand.d.ts.map +0 -1
  867. package/lib/esm/internal/app-binder/command/ProvideDomainNameCommand.d.ts +0 -19
  868. package/lib/esm/internal/app-binder/command/ProvideDomainNameCommand.d.ts.map +0 -1
  869. package/lib/esm/internal/app-binder/command/ProvideDomainNameCommand.js +0 -37
  870. package/lib/esm/internal/app-binder/command/ProvideDomainNameCommand.js.map +0 -1
  871. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +0 -15
  872. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +0 -1
  873. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +0 -14
  874. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +0 -1
  875. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +0 -41
  876. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +0 -1
  877. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +0 -1
  878. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +0 -1
  879. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +0 -1
  880. package/lib/esm/internal/app-binder/command/SetPluginCommand.d.ts +0 -18
  881. package/lib/esm/internal/app-binder/command/SetPluginCommand.d.ts.map +0 -1
  882. package/lib/esm/internal/app-binder/command/SignEIP712Command.d.ts.map +0 -1
  883. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.d.ts +0 -21
  884. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +0 -1
  885. package/lib/esm/internal/app-binder/command/SignTransactionCommand.d.ts.map +0 -1
  886. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +0 -1
  887. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +0 -39
  888. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +0 -1
  889. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +0 -31
  890. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +0 -1
  891. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +0 -3
  892. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +0 -1
  893. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts +0 -2
  894. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +0 -1
  895. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +0 -12
  896. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +0 -1
  897. package/lib/esm/internal/app-binder/di/appBinderModule.d.ts +0 -3
  898. package/lib/esm/internal/app-binder/di/appBinderModule.d.ts.map +0 -1
  899. package/lib/esm/internal/app-binder/di/appBinderTypes.d.ts +0 -4
  900. package/lib/esm/internal/app-binder/di/appBinderTypes.d.ts.map +0 -1
  901. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.d.ts +0 -16
  902. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +0 -1
  903. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.d.ts +0 -21
  904. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +0 -1
  905. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +0 -21
  906. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +0 -1
  907. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +0 -1
  908. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.d.ts +0 -19
  909. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +0 -1
  910. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.d.ts.map +0 -1
  911. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.d.ts +0 -14
  912. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.d.ts.map +0 -1
  913. package/lib/esm/internal/di.d.ts +0 -10
  914. package/lib/esm/internal/di.d.ts.map +0 -1
  915. package/lib/esm/internal/externalTypes.d.ts +0 -6
  916. package/lib/esm/internal/externalTypes.d.ts.map +0 -1
  917. package/lib/esm/internal/message/di/messageModule.d.ts +0 -3
  918. package/lib/esm/internal/message/di/messageModule.d.ts.map +0 -1
  919. package/lib/esm/internal/message/di/messageTypes.d.ts +0 -4
  920. package/lib/esm/internal/message/di/messageTypes.d.ts.map +0 -1
  921. package/lib/esm/internal/message/use-case/SignMessageUseCase.d.ts.map +0 -1
  922. package/lib/esm/internal/shared/utils/DerivationPathUtils.d.ts +0 -5
  923. package/lib/esm/internal/shared/utils/DerivationPathUtils.d.ts.map +0 -1
  924. package/lib/esm/internal/shared/utils/DerivationPathUtils.js +0 -20
  925. package/lib/esm/internal/shared/utils/DerivationPathUtils.js.map +0 -1
  926. package/lib/esm/internal/transaction/di/transactionModule.d.ts +0 -3
  927. package/lib/esm/internal/transaction/di/transactionModule.d.ts.map +0 -1
  928. package/lib/esm/internal/transaction/di/transactionTypes.d.ts +0 -6
  929. package/lib/esm/internal/transaction/di/transactionTypes.d.ts.map +0 -1
  930. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts +0 -10
  931. package/lib/esm/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts.map +0 -1
  932. package/lib/esm/internal/transaction/service/mapper/EthersV6TransactionMapper.d.ts.map +0 -1
  933. package/lib/esm/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -7
  934. package/lib/esm/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
  935. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.d.ts +0 -10
  936. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +0 -1
  937. package/lib/esm/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts +0 -12
  938. package/lib/esm/internal/transaction/service/mapper/model/TransactionMapperResult.d.ts.map +0 -1
  939. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.d.ts +0 -10
  940. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.d.ts.map +0 -1
  941. package/lib/esm/internal/typed-data/di/typedDataModule.d.ts +0 -3
  942. package/lib/esm/internal/typed-data/di/typedDataModule.d.ts.map +0 -1
  943. package/lib/esm/internal/typed-data/di/typedDataTypes.d.ts +0 -5
  944. package/lib/esm/internal/typed-data/di/typedDataTypes.d.ts.map +0 -1
  945. package/lib/esm/internal/typed-data/model/Types.d.ts +0 -41
  946. package/lib/esm/internal/typed-data/model/Types.d.ts.map +0 -1
  947. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.d.ts +0 -7
  948. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.d.ts.map +0 -1
  949. package/lib/esm/internal/typed-data/service/TypedDataEncoder.d.ts.map +0 -1
  950. package/lib/esm/internal/typed-data/service/TypedDataParser.d.ts.map +0 -1
  951. package/lib/esm/internal/typed-data/service/TypedDataParserService.d.ts.map +0 -1
  952. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.d.ts +0 -11
  953. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.d.ts.map +0 -1
  954. /package/lib/{cjs → types}/api/app-binder/GetAddressCommandTypes.d.ts +0 -0
  955. /package/lib/{cjs → types}/api/app-binder/GetAddressCommandTypes.d.ts.map +0 -0
  956. /package/lib/{cjs → types}/api/model/AddressOptions.d.ts +0 -0
  957. /package/lib/{cjs → types}/api/model/AddressOptions.d.ts.map +0 -0
  958. /package/lib/{cjs → types}/api/model/TransactionOptions.d.ts +0 -0
  959. /package/lib/{cjs → types}/api/model/TransactionOptions.d.ts.map +0 -0
  960. /package/lib/{cjs → types}/api/model/TypedData.d.ts +0 -0
  961. /package/lib/{cjs → types}/api/model/TypedData.d.ts.map +0 -0
  962. /package/lib/{cjs → types}/index.d.ts +0 -0
  963. /package/lib/{cjs → types}/index.d.ts.map +0 -0
  964. /package/lib/{cjs → types}/internal/address/di/addressModule.d.ts +0 -0
  965. /package/lib/{cjs → types}/internal/address/di/addressModule.d.ts.map +0 -0
  966. /package/lib/{cjs → types}/internal/address/di/addressTypes.d.ts +0 -0
  967. /package/lib/{cjs → types}/internal/address/di/addressTypes.d.ts.map +0 -0
  968. /package/lib/{cjs → types}/internal/address/use-case/GetAddressUseCase.d.ts +0 -0
  969. /package/lib/{cjs → types}/internal/address/use-case/GetAddressUseCase.d.ts.map +0 -0
  970. /package/lib/{cjs → types}/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts +0 -0
  971. /package/lib/{cjs → types}/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +0 -0
  972. /package/lib/{cjs → types}/internal/app-binder/di/appBinderModule.d.ts +0 -0
  973. /package/lib/{cjs → types}/internal/app-binder/di/appBinderModule.d.ts.map +0 -0
  974. /package/lib/{cjs → types}/internal/app-binder/di/appBinderTypes.d.ts +0 -0
  975. /package/lib/{cjs → types}/internal/app-binder/di/appBinderTypes.d.ts.map +0 -0
  976. /package/lib/{cjs → types}/internal/app-binder/task/BuildEIP712ContextTask.d.ts +0 -0
  977. /package/lib/{cjs → types}/internal/app-binder/task/SendEIP712StructImplemTask.d.ts +0 -0
  978. /package/lib/{cjs → types}/internal/app-binder/task/SendEIP712StructImplemTask.d.ts.map +0 -0
  979. /package/lib/{cjs → types}/internal/externalTypes.d.ts.map +0 -0
  980. /package/lib/{cjs → types}/internal/message/di/messageModule.d.ts +0 -0
  981. /package/lib/{cjs → types}/internal/message/di/messageModule.d.ts.map +0 -0
  982. /package/lib/{cjs → types}/internal/message/di/messageTypes.d.ts +0 -0
  983. /package/lib/{cjs → types}/internal/message/di/messageTypes.d.ts.map +0 -0
  984. /package/lib/{cjs → types}/internal/transaction/di/transactionModule.d.ts +0 -0
  985. /package/lib/{cjs → types}/internal/transaction/service/mapper/EthersV5TransactionMapper.d.ts +0 -0
  986. /package/lib/{cjs → types}/internal/transaction/service/mapper/TransactionMapperService.d.ts +0 -0
  987. /package/lib/{cjs → types}/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +0 -0
  988. /package/lib/{cjs → types}/internal/transaction/use-case/SignTransactionUseCase.d.ts +0 -0
  989. /package/lib/{cjs → types}/internal/transaction/use-case/SignTransactionUseCase.d.ts.map +0 -0
  990. /package/lib/{cjs → types}/internal/typed-data/di/typedDataModule.d.ts +0 -0
  991. /package/lib/{cjs → types}/internal/typed-data/di/typedDataModule.d.ts.map +0 -0
  992. /package/lib/{cjs → types}/internal/typed-data/di/typedDataTypes.d.ts +0 -0
  993. /package/lib/{cjs → types}/internal/typed-data/di/typedDataTypes.d.ts.map +0 -0
  994. /package/lib/{cjs → types}/internal/typed-data/service/DefaultTypedDataParserService.d.ts +0 -0
  995. /package/lib/{cjs → types}/internal/typed-data/service/DefaultTypedDataParserService.d.ts.map +0 -0
  996. /package/lib/{cjs → types}/internal/typed-data/use-case/SignTypedDataUseCase.d.ts +0 -0
  997. /package/lib/{cjs → types}/internal/typed-data/use-case/SignTypedDataUseCase.d.ts.map +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.ts"],
4
+ "sourcesContent": ["import {\n type ClearSignContextReference,\n type ClearSignContextSuccess,\n ClearSignContextType,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n bufferToHexaString,\n type CommandErrorResult,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, type Maybe, Nothing } from \"purify-ts\";\n\nimport { GetChallengeCommand } from \"@internal/app-binder/command/GetChallengeCommand\";\nimport { ProvideEnumCommand } from \"@internal/app-binder/command/ProvideEnumCommand\";\nimport {\n ProvideNFTInformationCommand,\n type ProvideNFTInformationCommandErrorCodes,\n} from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport {\n ProvideTokenInformationCommand,\n type ProvideTokenInformationCommandResponse,\n} from \"@internal/app-binder/command/ProvideTokenInformationCommand\";\nimport { ProvideTransactionFieldDescriptionCommand } from \"@internal/app-binder/command/ProvideTransactionFieldDescriptionCommand\";\nimport { ProvideTrustedNameCommand } from \"@internal/app-binder/command/ProvideTrustedNameCommand\";\nimport { type SetExternalPluginCommandErrorCodes } from \"@internal/app-binder/command/SetExternalPluginCommand\";\nimport { type SetPluginCommandErrorCodes } from \"@internal/app-binder/command/SetPluginCommand\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { type ProvideTransactionGenericContextTaskErrorCodes } from \"./ProvideTransactionGenericContextTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\nexport type ProvideTransactionFieldDescriptionTaskArgs = {\n field: ClearSignContextSuccess;\n serializedTransaction: Uint8Array;\n chainId: number;\n transactionParser: TransactionParserService;\n contextModule: ContextModule;\n};\n\nexport type ProvideTransactionFieldDescriptionTaskErrorCodes =\n | void\n | SetExternalPluginCommandErrorCodes\n | SetPluginCommandErrorCodes\n | ProvideNFTInformationCommandErrorCodes;\n\n/**\n * This task is responsible for providing the transaction context to the device.\n *\n */\nexport class ProvideTransactionFieldDescriptionTask {\n constructor(\n private api: InternalApi,\n private args: ProvideTransactionFieldDescriptionTaskArgs,\n ) {}\n\n async run(): Promise<\n Maybe<CommandErrorResult<ProvideTransactionFieldDescriptionTaskErrorCodes>>\n > {\n const { field } = this.args;\n if (field.reference !== undefined) {\n const provideReferenceResult = await this.provideContextReference(\n field.reference,\n );\n if (provideReferenceResult.isJust()) {\n return provideReferenceResult;\n }\n }\n\n const transactionFieldResult = await this.provideContext({ ...field });\n if (!isSuccessCommandResult(transactionFieldResult)) {\n return Just(transactionFieldResult);\n }\n\n return Nothing;\n }\n\n async provideContextReference(\n reference: ClearSignContextReference,\n ): Promise<\n Maybe<CommandErrorResult<ProvideTransactionGenericContextTaskErrorCodes>>\n > {\n const values = this.args.transactionParser.extractValue(\n this.args.serializedTransaction,\n reference.valuePath,\n );\n if (values.isLeft()) {\n // The path was not found in transaction payload. In that case we should raw-sign that field.\n return Nothing;\n }\n for (const value of values.unsafeCoerce()) {\n const address = bufferToHexaString(\n value.slice(Math.max(0, value.length - 20)),\n );\n let context;\n if (reference.type === ClearSignContextType.TRUSTED_NAME) {\n const getChallengeResult = await this.api.sendCommand(\n new GetChallengeCommand(),\n );\n if (!isSuccessCommandResult(getChallengeResult)) {\n return Just(getChallengeResult);\n }\n context = await this.args.contextModule.getContext({\n type: reference.type,\n chainId: this.args.chainId,\n address,\n challenge: getChallengeResult.data.challenge,\n types: reference.types,\n sources: reference.sources,\n });\n } else {\n context = await this.args.contextModule.getContext({\n type: reference.type,\n chainId: this.args.chainId,\n address,\n });\n }\n if (context.type !== ClearSignContextType.ERROR) {\n const provideReferenceResult = await this.provideContext(context);\n if (!isSuccessCommandResult(provideReferenceResult)) {\n return Just(provideReferenceResult);\n }\n }\n }\n return Nothing;\n }\n\n /**\n * This method will send a command according to the clear sign context type\n * and return the command result if only one command is sent,\n * otherwise it will return the result of the command.\n *\n * @param {ClearSignContextSuccess} context The clear sign context to provide.\n * @returns A promise that resolves when the command return a command response.\n */\n async provideContext({\n type,\n payload,\n }: ClearSignContextSuccess): Promise<\n CommandResult<\n void | ProvideTokenInformationCommandResponse,\n ProvideTransactionGenericContextTaskErrorCodes\n >\n > {\n switch (type) {\n case ClearSignContextType.NFT:\n return await this.api.sendCommand(\n new ProvideNFTInformationCommand({ payload }),\n );\n case ClearSignContextType.TOKEN:\n return await this.api.sendCommand(\n new ProvideTokenInformationCommand({ payload }),\n );\n case ClearSignContextType.TRUSTED_NAME:\n return new SendPayloadInChunksTask(this.api, {\n payload,\n commandFactory: (args) =>\n new ProvideTrustedNameCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n case ClearSignContextType.ENUM:\n return new SendPayloadInChunksTask(this.api, {\n payload,\n commandFactory: (args) =>\n new ProvideEnumCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n case ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION:\n return new SendPayloadInChunksTask(this.api, {\n payload,\n commandFactory: (args) =>\n new ProvideTransactionFieldDescriptionCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n case ClearSignContextType.TRANSACTION_INFO:\n case ClearSignContextType.PLUGIN:\n case ClearSignContextType.EXTERNAL_PLUGIN:\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [${type}] is not valid as a transaction field or metadata`,\n ),\n });\n default: {\n const uncoveredType: never = type;\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [${uncoveredType}] is not covered`,\n ),\n });\n }\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["ClearSignContextType", "bufferToHexaString", "CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "Just", "Nothing", "GetChallengeCommand", "ProvideEnumCommand", "ProvideNFTInformationCommand", "ProvideTokenInformationCommand", "ProvideTransactionFieldDescriptionCommand", "ProvideTrustedNameCommand", "SendPayloadInChunksTask", "ProvideTransactionFieldDescriptionTask", "api", "args", "field", "provideReferenceResult", "transactionFieldResult", "reference", "values", "value", "address", "context", "getChallengeResult", "type", "payload", "uncoveredType"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{ClearSignContextType as t,ContainerPath as p}from"@ledgerhq/context-module";import{CommandResultFactory as s,InvalidStatusWordError as u}from"@ledgerhq/device-management-kit";import{Left as T,Nothing as m,Right as y}from"purify-ts";import{GetChallengeCommand as h}from"../../app-binder/command/GetChallengeCommand";import{ProvideEnumCommand as k}from"../../app-binder/command/ProvideEnumCommand";import{ProvideNFTInformationCommand as w}from"../../app-binder/command/ProvideNFTInformationCommand";import{ProvideTokenInformationCommand as E}from"../../app-binder/command/ProvideTokenInformationCommand";import{ProvideTransactionFieldDescriptionCommand as O}from"../../app-binder/command/ProvideTransactionFieldDescriptionCommand";import{ProvideTrustedNameCommand as x}from"../../app-binder/command/ProvideTrustedNameCommand";import{ProvideTransactionFieldDescriptionTask as l}from"./ProvideTransactionFieldDescriptionTask";describe("ProvideTransactionFieldDescriptionTask",()=>{const r={extractValue:jest.fn()},n={getContext:jest.fn()},e={sendCommand:jest.fn()};beforeEach(()=>{jest.clearAllMocks()}),describe("should call the right provide command",()=>{it.each([{type:t.NFT,commandInstanceType:w},{type:t.TOKEN,commandInstanceType:E},{type:t.TRUSTED_NAME,commandInstanceType:x},{type:t.ENUM,commandInstanceType:k},{type:t.TRANSACTION_FIELD_DESCRIPTION,commandInstanceType:O}])("when type is $type",async({type:o,commandInstanceType:a})=>{jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"}));const c={type:o,payload:"0x01020304"};await new l(e,{field:c,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run(),expect(e.sendCommand.mock.calls[0][0]).toBeInstanceOf(a),expect(e.sendCommand).toHaveBeenCalledTimes(1)})}),describe("should return nothing",()=>{it.each([t.NFT,t.TOKEN,t.TRUSTED_NAME,t.ENUM,t.TRANSACTION_FIELD_DESCRIPTION])("when type is %s with no reference",async o=>{const d={type:o,payload:"0x01020304"};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"}));const i=await new l(e,{field:d,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(i).toEqual(m)})}),describe("should provide a reference context",()=>{it.each([t.NFT,t.TOKEN])("when type is %s with a reference",async o=>{const a="0x01020304",d={type:o,payload:a,reference:{type:t.TOKEN,valuePath:p.VALUE}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(r,"extractValue").mockReturnValueOnce(y([new Uint8Array([1,2,3,4])])),jest.spyOn(n,"getContext").mockResolvedValueOnce({type:o,payload:a});const i=await new l(e,{field:d,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(n.getContext).toHaveBeenCalledTimes(1),expect(n.getContext).toHaveBeenCalledWith({type:t.TOKEN,chainId:1,address:"0x01020304"}),expect(i).toEqual(m),expect(e.sendCommand).toHaveBeenCalledTimes(2)}),it("when type is trustes-name with a reference",async()=>{const o="0x01020304",a="0x05060708",d=new Uint8Array([17,34,51,68]),c="0x11223344",i={type:t.TRUSTED_NAME,payload:o,reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:{challenge:66}})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(r,"extractValue").mockReturnValueOnce(y([d])),jest.spyOn(n,"getContext").mockResolvedValueOnce({type:t.TRUSTED_NAME,payload:a});const C=await new l(e,{field:i,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(n.getContext).toHaveBeenCalledTimes(1),expect(n.getContext).toHaveBeenCalledWith({type:t.TRUSTED_NAME,chainId:1,address:c,types:["type"],sources:["source"],challenge:66}),expect(C).toEqual(m),expect(e.sendCommand).toHaveBeenCalledTimes(3),expect(e.sendCommand).toHaveBeenNthCalledWith(1,new h),expect(e.sendCommand).toHaveBeenNthCalledWith(2,new x({data:new Uint8Array([0,4,5,6,7,8]),isFirstChunk:!0})),expect(e.sendCommand).toHaveBeenNthCalledWith(3,new x({data:new Uint8Array([0,4,1,2,3,4]),isFirstChunk:!0}))})}),describe("should not provide a reference context",()=>{it("when the path is not found in transaction payload",async()=>{const a={type:t.TRUSTED_NAME,payload:"0x01020304",reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(r,"extractValue").mockReturnValueOnce(T(new Error("path not found")));const c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c).toEqual(m),expect(e.sendCommand).toHaveBeenCalledTimes(1),expect(n.getContext).not.toHaveBeenCalled()}),it("when getContext return a type error",async()=>{const a={type:t.TRUSTED_NAME,payload:"0x01020304",reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(r,"extractValue").mockReturnValueOnce(y([new Uint8Array([17,34,51,68])])),jest.spyOn(n,"getContext").mockResolvedValueOnce({type:t.ERROR,error:new Error("getContext error")}),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:{challenge:66}})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"}));const c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c).toEqual(m),expect(e.sendCommand).toHaveBeenCalledTimes(2),expect(n.getContext).toHaveBeenCalledTimes(1)})}),describe("should return an error",()=>{it.each([t.TRANSACTION_INFO,t.PLUGIN,t.EXTERNAL_PLUGIN])("when type is %s",async o=>{const a=`payload-${o}`,d={type:o,payload:a},i=await new l(e,{field:d,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(i.extract()).toEqual(s({error:new u(`The context type [${o}] is not valid as a transaction field or metadata`)}))}),it("when type is unknown",async()=>{const a={type:"unknown",payload:"payload-unknown"},c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c.extract()).toEqual(s({error:new u("The context type [unknown] is not covered")}))}),it("when getChallenge fails",async()=>{const a={type:t.TRUSTED_NAME,payload:"0x01020304",reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({error:new u("getChallenge error")})),jest.spyOn(r,"extractValue").mockReturnValueOnce(y([new Uint8Array([17,34,51,68])]));const c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c.extract()).toEqual(s({error:new u("getChallenge error")}))}),it("when provide reference fails",async()=>{const a={type:t.TRUSTED_NAME,payload:"0x01020304",reference:{type:t.TRUSTED_NAME,valuePath:p.VALUE,types:["type"],sources:["source"]}};jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({data:"ok"})),jest.spyOn(e,"sendCommand").mockResolvedValueOnce(s({error:new u("provide reference error")})),jest.spyOn(r,"extractValue").mockReturnValueOnce(y([new Uint8Array([17,34,51,68])])),jest.spyOn(n,"getContext").mockResolvedValueOnce({type:t.TRUSTED_NAME,payload:"0x05060708"});const c=await new l(e,{field:a,serializedTransaction:new Uint8Array,chainId:1,transactionParser:r,contextModule:n}).run();expect(c.extract()).toEqual(s({error:new u("provide reference error")}))})})});
2
+ //# sourceMappingURL=ProvideTransactionFieldDescriptionTask.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.ts"],
4
+ "sourcesContent": ["import {\n type ClearSignContextSuccess,\n ClearSignContextType,\n ContainerPath,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Nothing, Right } from \"purify-ts\";\n\nimport { GetChallengeCommand } from \"@internal/app-binder/command/GetChallengeCommand\";\nimport { ProvideEnumCommand } from \"@internal/app-binder/command/ProvideEnumCommand\";\nimport { ProvideNFTInformationCommand } from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport { ProvideTokenInformationCommand } from \"@internal/app-binder/command/ProvideTokenInformationCommand\";\nimport { ProvideTransactionFieldDescriptionCommand } from \"@internal/app-binder/command/ProvideTransactionFieldDescriptionCommand\";\nimport { ProvideTrustedNameCommand } from \"@internal/app-binder/command/ProvideTrustedNameCommand\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\n\ndescribe(\"ProvideTransactionFieldDescriptionTask\", () => {\n const transactionParserMock = {\n extractValue: jest.fn(),\n } as unknown as TransactionParserService;\n const contextModuleMock = {\n getContext: jest.fn(),\n } as unknown as ContextModule;\n const apiMock: InternalApi = {\n sendCommand: jest.fn(),\n } as unknown as InternalApi;\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n describe(\"should call the right provide command\", () => {\n it.each<{\n type: ClearSignContextSuccess[\"type\"];\n commandInstanceType: unknown;\n }>([\n {\n type: ClearSignContextType.NFT,\n commandInstanceType: ProvideNFTInformationCommand,\n },\n {\n type: ClearSignContextType.TOKEN,\n commandInstanceType: ProvideTokenInformationCommand,\n },\n {\n type: ClearSignContextType.TRUSTED_NAME,\n commandInstanceType: ProvideTrustedNameCommand,\n },\n {\n type: ClearSignContextType.ENUM,\n commandInstanceType: ProvideEnumCommand,\n },\n {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n commandInstanceType: ProvideTransactionFieldDescriptionCommand,\n },\n ])(\"when type is $type\", async ({ type, commandInstanceType }) => {\n // GIVEN\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n\n // WHEN\n await new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n }).run();\n\n // THEN\n expect(\n (apiMock.sendCommand as jest.Mock).mock.calls[0][0],\n ).toBeInstanceOf(commandInstanceType);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n });\n });\n\n describe(\"should return nothing\", () => {\n it.each<ClearSignContextSuccess[\"type\"]>([\n ClearSignContextType.NFT,\n ClearSignContextType.TOKEN,\n ClearSignContextType.TRUSTED_NAME,\n ClearSignContextType.ENUM,\n ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n ])(\"when type is %s with no reference\", async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n });\n });\n\n describe(\"should provide a reference context\", () => {\n it.each<ClearSignContextSuccess[\"type\"]>([\n ClearSignContextType.NFT,\n ClearSignContextType.TOKEN,\n ])(\"when type is %s with a reference\", async (type) => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n reference: {\n type: ClearSignContextType.TOKEN,\n valuePath: ContainerPath.VALUE,\n },\n };\n // provide reference context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x01, 0x02, 0x03, 0x04])]));\n jest\n .spyOn(contextModuleMock, \"getContext\")\n .mockResolvedValueOnce({ type, payload });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TOKEN,\n chainId: 1,\n address: \"0x01020304\",\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n });\n\n it(\"when type is trustes-name with a reference\", async () => {\n // GIVEN\n const payload1 = `0x01020304`;\n const payload2 = `0x05060708`;\n const extractedValue = new Uint8Array([0x11, 0x22, 0x33, 0x44]);\n const extractedValueAddress = \"0x11223344\";\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload1,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // getChallenge\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n );\n // provide reference context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([extractedValue]));\n jest.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: payload2,\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n // getContext for the extracted value address\n expect(contextModuleMock.getContext).toHaveBeenCalledWith({\n type: ClearSignContextType.TRUSTED_NAME,\n chainId: 1,\n address: extractedValueAddress,\n types: [\"type\"],\n sources: [\"source\"],\n challenge: 0x42,\n });\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(3);\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 1,\n new GetChallengeCommand(),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 2,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x05, 0x06, 0x07, 0x08]),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand).toHaveBeenNthCalledWith(\n 3,\n new ProvideTrustedNameCommand({\n data: new Uint8Array([0x00, 0x04, 0x01, 0x02, 0x03, 0x04]),\n isFirstChunk: true,\n }),\n );\n });\n });\n\n describe(\"should not provide a reference context\", () => {\n it(\"when the path is not found in transaction payload\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Left(new Error(\"path not found\")));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(1);\n expect(contextModuleMock.getContext).not.toHaveBeenCalled();\n });\n\n it(\"when getContext return a type error\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]));\n jest.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.ERROR,\n error: new Error(\"getContext error\"),\n });\n // getChallenge\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { challenge: 0x42 } }),\n );\n // provide context\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result).toEqual(Nothing);\n expect(apiMock.sendCommand).toHaveBeenCalledTimes(2);\n expect(contextModuleMock.getContext).toHaveBeenCalledTimes(1);\n });\n });\n\n describe(\"should return an error\", () => {\n it.each<ClearSignContextSuccess[\"type\"]>([\n ClearSignContextType.TRANSACTION_INFO,\n ClearSignContextType.PLUGIN,\n ClearSignContextType.EXTERNAL_PLUGIN,\n ])(\"when type is %s\", async (type) => {\n // GIVEN\n const payload = `payload-${type}`;\n const field: ClearSignContextSuccess = {\n type,\n payload,\n };\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [${type}] is not valid as a transaction field or metadata`,\n ),\n }),\n );\n });\n\n it(\"when type is unknown\", async () => {\n // GIVEN\n const payload = `payload-unknown`;\n const field: ClearSignContextSuccess = {\n type: \"unknown\" as ClearSignContextType,\n payload,\n } as ClearSignContextSuccess;\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n `The context type [unknown] is not covered`,\n ),\n }),\n );\n });\n\n it(\"when getChallenge fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n jest.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]));\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"getChallenge error\"),\n }),\n );\n });\n\n it(\"when provide reference fails\", async () => {\n // GIVEN\n const payload = `0x01020304`;\n const field: ClearSignContextSuccess = {\n type: ClearSignContextType.TRUSTED_NAME,\n payload,\n reference: {\n type: ClearSignContextType.TRUSTED_NAME,\n valuePath: ContainerPath.VALUE,\n types: [\"type\"],\n sources: [\"source\"],\n },\n };\n // getChallenge\n jest\n .spyOn(apiMock, \"sendCommand\")\n .mockResolvedValueOnce(CommandResultFactory({ data: \"ok\" }));\n // provide reference context\n jest.spyOn(apiMock, \"sendCommand\").mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n jest\n .spyOn(transactionParserMock, \"extractValue\")\n .mockReturnValueOnce(Right([new Uint8Array([0x11, 0x22, 0x33, 0x44])]));\n jest.spyOn(contextModuleMock, \"getContext\").mockResolvedValueOnce({\n type: ClearSignContextType.TRUSTED_NAME,\n payload: \"0x05060708\",\n });\n\n // WHEN\n const task = new ProvideTransactionFieldDescriptionTask(apiMock, {\n field,\n serializedTransaction: new Uint8Array(),\n chainId: 1,\n transactionParser: transactionParserMock,\n contextModule: contextModuleMock,\n });\n const result = await task.run();\n\n // THEN\n expect(result.extract()).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"provide reference error\"),\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["ClearSignContextType", "ContainerPath", "CommandResultFactory", "InvalidStatusWordError", "Left", "Nothing", "Right", "GetChallengeCommand", "ProvideEnumCommand", "ProvideNFTInformationCommand", "ProvideTokenInformationCommand", "ProvideTransactionFieldDescriptionCommand", "ProvideTrustedNameCommand", "ProvideTransactionFieldDescriptionTask", "transactionParserMock", "contextModuleMock", "apiMock", "type", "commandInstanceType", "field", "result", "payload", "payload1", "payload2", "extractedValue", "extractedValueAddress"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{ByteArrayBuilder as d,isSuccessCommandResult as i}from"@ledgerhq/device-management-kit";import{DerivationPathUtils as c}from"@ledgerhq/signer-utils";import{Just as s,Nothing as m}from"purify-ts";import{ProvideTransactionInformationCommand as l}from"../../app-binder/command/ProvideTransactionInformationCommand";import{StoreTransactionCommand as u}from"../../app-binder/command/StoreTransactionCommand";import{ProvideTransactionFieldDescriptionTask as p}from"./ProvideTransactionFieldDescriptionTask";import{SendCommandInChunksTask as C}from"./SendCommandInChunksTask";import{SendPayloadInChunksTask as h}from"./SendPayloadInChunksTask";class S{constructor(n,t){this.api=n;this.args=t}async run(){const n=c.splitPath(this.args.derivationPath),t=new d;t.add8BitUIntToData(n.length),n.forEach(r=>{t.add32BitUIntToData(r)}),t.addBufferToData(this.args.serializedTransaction);const o=await new C(this.api,{data:t.build(),commandFactory:r=>new u({serializedTransaction:r.chunkedData,isFirstChunk:r.isFirstChunk})}).run();if(!i(o))return s(o);const a=await new h(this.api,{payload:this.args.context.transactionInfo,commandFactory:r=>new l({data:r.chunkedData,isFirstChunk:r.isFirstChunk})}).run();if(!i(a))return s(a);for(const r of this.args.context.transactionFields){const e=await new p(this.api,{field:r,serializedTransaction:this.args.serializedTransaction,chainId:this.args.chainId,transactionParser:this.args.transactionParser,contextModule:this.args.contextModule}).run();if(e.isJust())return e}return m}}export{S as ProvideTransactionGenericContextTask};
2
+ //# sourceMappingURL=ProvideTransactionGenericContextTask.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionGenericContextTask.ts"],
4
+ "sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n ByteArrayBuilder,\n type CommandErrorResult,\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\nimport { Just, type Maybe, Nothing } from \"purify-ts\";\n\nimport { type ProvideNFTInformationCommandErrorCodes } from \"@internal/app-binder/command/ProvideNFTInformationCommand\";\nimport { ProvideTransactionInformationCommand } from \"@internal/app-binder/command/ProvideTransactionInformationCommand\";\nimport { type SetExternalPluginCommandErrorCodes } from \"@internal/app-binder/command/SetExternalPluginCommand\";\nimport { type SetPluginCommandErrorCodes } from \"@internal/app-binder/command/SetPluginCommand\";\nimport { StoreTransactionCommand } from \"@internal/app-binder/command/StoreTransactionCommand\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\nexport type GenericContext = {\n readonly transactionInfo: string;\n readonly transactionFields: ClearSignContextSuccess[];\n};\n\nexport type ProvideTransactionGenericContextTaskArgs = {\n readonly contextModule: ContextModule;\n readonly transactionParser: TransactionParserService;\n readonly chainId: number;\n readonly derivationPath: string;\n readonly serializedTransaction: Uint8Array;\n readonly context: GenericContext;\n};\n\nexport type ProvideTransactionGenericContextTaskErrorCodes =\n | void\n | SetExternalPluginCommandErrorCodes\n | SetPluginCommandErrorCodes\n | ProvideNFTInformationCommandErrorCodes;\n\nexport class ProvideTransactionGenericContextTask {\n constructor(\n private api: InternalApi,\n private args: ProvideTransactionGenericContextTaskArgs,\n ) {}\n\n async run(): Promise<\n Maybe<CommandErrorResult<ProvideTransactionGenericContextTaskErrorCodes>>\n > {\n // Store the transaction in the device memory\n const paths = DerivationPathUtils.splitPath(this.args.derivationPath);\n const builder = new ByteArrayBuilder();\n builder.add8BitUIntToData(paths.length);\n paths.forEach((path) => {\n builder.add32BitUIntToData(path);\n });\n builder.addBufferToData(this.args.serializedTransaction);\n const storeTransactionResult = await new SendCommandInChunksTask(this.api, {\n data: builder.build(),\n commandFactory: (args) =>\n new StoreTransactionCommand({\n serializedTransaction: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n\n if (!isSuccessCommandResult(storeTransactionResult)) {\n return Just(storeTransactionResult);\n }\n\n // Provide the transaction information\n const transactionInfoResult = await new SendPayloadInChunksTask(this.api, {\n payload: this.args.context.transactionInfo,\n commandFactory: (args) =>\n new ProvideTransactionInformationCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n }).run();\n\n if (!isSuccessCommandResult(transactionInfoResult)) {\n return Just(transactionInfoResult);\n }\n\n // Provide the transaction field description and according metadata reference\n for (const field of this.args.context.transactionFields) {\n const result = await new ProvideTransactionFieldDescriptionTask(\n this.api,\n {\n field,\n serializedTransaction: this.args.serializedTransaction,\n chainId: this.args.chainId,\n transactionParser: this.args.transactionParser,\n contextModule: this.args.contextModule,\n },\n ).run();\n\n if (result.isJust()) {\n return result;\n }\n }\n\n return Nothing;\n }\n}\n"],
5
+ "mappings": "AAIA,OACE,oBAAAA,EAGA,0BAAAC,MACK,kCACP,OAAS,uBAAAC,MAA2B,yBACpC,OAAS,QAAAC,EAAkB,WAAAC,MAAe,YAG1C,OAAS,wCAAAC,MAA4C,oEAGrD,OAAS,2BAAAC,MAA+B,uDAGxC,OAAS,0CAAAC,MAA8C,2CACvD,OAAS,2BAAAC,MAA+B,4BACxC,OAAS,2BAAAC,MAA+B,4BAsBjC,MAAMC,CAAqC,CAChD,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAEJ,CAEA,MAAMC,EAAQX,EAAoB,UAAU,KAAK,KAAK,cAAc,EAC9DY,EAAU,IAAId,EACpBc,EAAQ,kBAAkBD,EAAM,MAAM,EACtCA,EAAM,QAASE,GAAS,CACtBD,EAAQ,mBAAmBC,CAAI,CACjC,CAAC,EACDD,EAAQ,gBAAgB,KAAK,KAAK,qBAAqB,EACvD,MAAME,EAAyB,MAAM,IAAIR,EAAwB,KAAK,IAAK,CACzE,KAAMM,EAAQ,MAAM,EACpB,eAAiBF,GACf,IAAIN,EAAwB,CAC1B,sBAAuBM,EAAK,YAC5B,aAAcA,EAAK,YACrB,CAAC,CACL,CAAC,EAAE,IAAI,EAEP,GAAI,CAACX,EAAuBe,CAAsB,EAChD,OAAOb,EAAKa,CAAsB,EAIpC,MAAMC,EAAwB,MAAM,IAAIR,EAAwB,KAAK,IAAK,CACxE,QAAS,KAAK,KAAK,QAAQ,gBAC3B,eAAiBG,GACf,IAAIP,EAAqC,CACvC,KAAMO,EAAK,YACX,aAAcA,EAAK,YACrB,CAAC,CACL,CAAC,EAAE,IAAI,EAEP,GAAI,CAACX,EAAuBgB,CAAqB,EAC/C,OAAOd,EAAKc,CAAqB,EAInC,UAAWC,KAAS,KAAK,KAAK,QAAQ,kBAAmB,CACvD,MAAMC,EAAS,MAAM,IAAIZ,EACvB,KAAK,IACL,CACE,MAAAW,EACA,sBAAuB,KAAK,KAAK,sBACjC,QAAS,KAAK,KAAK,QACnB,kBAAmB,KAAK,KAAK,kBAC7B,cAAe,KAAK,KAAK,aAC3B,CACF,EAAE,IAAI,EAEN,GAAIC,EAAO,OAAO,EAChB,OAAOA,CAEX,CAEA,OAAOf,CACT,CACF",
6
+ "names": ["ByteArrayBuilder", "isSuccessCommandResult", "DerivationPathUtils", "Just", "Nothing", "ProvideTransactionInformationCommand", "StoreTransactionCommand", "ProvideTransactionFieldDescriptionTask", "SendCommandInChunksTask", "SendPayloadInChunksTask", "ProvideTransactionGenericContextTask", "api", "args", "paths", "builder", "path", "storeTransactionResult", "transactionInfoResult", "field", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{CommandResultFactory as e,InvalidStatusWordError as n}from"@ledgerhq/device-management-kit";import{Just as s,Nothing as p}from"purify-ts";import{ProvideTransactionFieldDescriptionTask as i}from"./ProvideTransactionFieldDescriptionTask";import{ProvideTransactionGenericContextTask as o}from"./ProvideTransactionGenericContextTask";import{SendCommandInChunksTask as a}from"./SendCommandInChunksTask";import{SendPayloadInChunksTask as c}from"./SendPayloadInChunksTask";describe("ProvideTransactionGenericContextTask",()=>{const d="44/60'/0'/0'/0/0",u=new Uint8Array([18,52]),l="0x5678",r={derivationPath:d,serializedTransaction:u,context:{transactionInfo:l,transactionFields:[]},chainId:1,transactionParser:{},contextModule:{}};describe("run",()=>{beforeEach(()=>{jest.resetAllMocks()}),describe("should return an error",()=>{it("when storeTransactionResult fail",async()=>{jest.spyOn(a.prototype,"run").mockResolvedValue(e({error:new n("storeTransactionError")}));const t=await new o({},r).run();expect(t).toEqual(s(e({error:new n("storeTransactionError")})))}),it("when provideTransactionInformationResult fail",async()=>{jest.spyOn(a.prototype,"run").mockResolvedValue(e({data:"0x1234"})),jest.spyOn(c.prototype,"run").mockResolvedValue(e({error:new n("provideTransactionInformationError")}));const t=await new o({},r).run();expect(t).toEqual(s(e({error:new n("provideTransactionInformationError")})))}),it("when ProvideTransactionGenericContextTask fail",async()=>{jest.spyOn(a.prototype,"run").mockResolvedValue(e({data:"0x1234"})),jest.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),jest.spyOn(i.prototype,"run").mockResolvedValue(s(e({error:new n("provideTransactionGenericContextTaskError")})));const t=await new o({},{...r,context:{transactionInfo:l,transactionFields:[{}]}}).run();expect(t).toEqual(s(e({error:new n("provideTransactionGenericContextTaskError")})))})}),it("should call ProvideTransactionFieldDescriptionTask for each field",async()=>{const t=["field-1","field-2"];jest.spyOn(a.prototype,"run").mockResolvedValue(e({data:"0x1234"})),jest.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),jest.spyOn(i.prototype,"run").mockResolvedValue(p),await new o({},{...r,context:{transactionInfo:l,transactionFields:t}}).run(),expect(i.prototype.run).toHaveBeenCalledTimes(2)}),it("should return Nothing when all fields are provided",async()=>{jest.spyOn(a.prototype,"run").mockResolvedValue(e({data:"0x1234"})),jest.spyOn(c.prototype,"run").mockResolvedValue(e({data:"0x5678"})),jest.spyOn(i.prototype,"run").mockResolvedValue(p);const t=await new o({},r).run();expect(t).toEqual(p)})})});
2
+ //# sourceMappingURL=ProvideTransactionGenericContextTask.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/ProvideTransactionGenericContextTask.test.ts"],
4
+ "sourcesContent": ["import {\n type ClearSignContextSuccess,\n type ContextModule,\n} from \"@ledgerhq/context-module\";\nimport {\n type CommandErrorResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\n\nimport { ProvideTransactionFieldDescriptionTask } from \"./ProvideTransactionFieldDescriptionTask\";\nimport {\n ProvideTransactionGenericContextTask,\n type ProvideTransactionGenericContextTaskArgs,\n} from \"./ProvideTransactionGenericContextTask\";\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\ndescribe(\"ProvideTransactionGenericContextTask\", () => {\n const derivationPath = \"44/60'/0'/0'/0/0\";\n const serializedTransaction = new Uint8Array([0x12, 0x34]);\n const transactionInfo = \"0x5678\";\n const transactionFields: ClearSignContextSuccess[] = [];\n const chainId = 1;\n const transactionParser = {} as TransactionParserService;\n const contextModule = {} as ContextModule;\n\n const defaultArgs: ProvideTransactionGenericContextTaskArgs = {\n derivationPath,\n serializedTransaction,\n context: {\n transactionInfo,\n transactionFields,\n },\n chainId,\n transactionParser,\n contextModule,\n };\n describe(\"run\", () => {\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n describe(\"should return an error\", () => {\n it(\"when storeTransactionResult fail\", async () => {\n // GIVEN\n jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"storeTransactionError\"),\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n {} as InternalApi,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"storeTransactionError\"),\n }),\n ),\n );\n });\n\n it(\"when provideTransactionInformationResult fail\", async () => {\n // GIVEN\n jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n jest.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionInformationError\",\n ),\n }),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n {} as InternalApi,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionInformationError\",\n ),\n }),\n ),\n );\n });\n\n it(\"when ProvideTransactionGenericContextTask fail\", async () => {\n // GIVEN\n jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n jest.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n jest\n .spyOn(ProvideTransactionFieldDescriptionTask.prototype, \"run\")\n .mockResolvedValue(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionGenericContextTaskError\",\n ),\n }) as CommandErrorResult,\n ),\n );\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n {} as InternalApi,\n {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionFields: [{} as ClearSignContextSuccess],\n },\n },\n ).run();\n\n // THEN\n expect(result).toEqual(\n Just(\n CommandResultFactory({\n error: new InvalidStatusWordError(\n \"provideTransactionGenericContextTaskError\",\n ),\n }),\n ),\n );\n });\n });\n\n it(\"should call ProvideTransactionFieldDescriptionTask for each field\", async () => {\n // GIVEN\n const fields: ClearSignContextSuccess[] = [\n \"field-1\" as unknown as ClearSignContextSuccess,\n \"field-2\" as unknown as ClearSignContextSuccess,\n ];\n jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n jest.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n jest\n .spyOn(ProvideTransactionFieldDescriptionTask.prototype, \"run\")\n .mockResolvedValue(Nothing);\n\n // WHEN\n await new ProvideTransactionGenericContextTask({} as InternalApi, {\n ...defaultArgs,\n context: {\n transactionInfo,\n transactionFields: fields,\n },\n }).run();\n\n // THEN\n expect(\n ProvideTransactionFieldDescriptionTask.prototype.run,\n ).toHaveBeenCalledTimes(2);\n });\n\n it(\"should return Nothing when all fields are provided\", async () => {\n // GIVEN\n jest.spyOn(SendCommandInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x1234\",\n }),\n );\n jest.spyOn(SendPayloadInChunksTask.prototype, \"run\").mockResolvedValue(\n CommandResultFactory({\n data: \"0x5678\",\n }),\n );\n jest\n .spyOn(ProvideTransactionFieldDescriptionTask.prototype, \"run\")\n .mockResolvedValue(Nothing);\n\n // WHEN\n const result = await new ProvideTransactionGenericContextTask(\n {} as InternalApi,\n defaultArgs,\n ).run();\n\n // THEN\n expect(result).toEqual(Nothing);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["CommandResultFactory", "InvalidStatusWordError", "Just", "Nothing", "ProvideTransactionFieldDescriptionTask", "ProvideTransactionGenericContextTask", "SendCommandInChunksTask", "SendPayloadInChunksTask", "derivationPath", "serializedTransaction", "transactionInfo", "defaultArgs", "result", "fields"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{APDU_MAX_PAYLOAD as e,ByteArrayBuilder as d,CommandResultFactory as m,InvalidStatusWordError as i,isSuccessCommandResult as u}from"@ledgerhq/device-management-kit";class c{constructor(n,s){this.api=n;this.args=s}async run(){const{data:n,commandFactory:s}=this.args,t=new d(n.length).addBufferToData(n).build();for(let a=0;a<t.length;a+=e){const o=a+e>=t.length,r=await this.api.sendCommand(s({chunkedData:t.slice(a,a+e),isFirstChunk:a===0}));if(!u(r))return r;if(o)return m({data:r.data})}throw new i("No result")}}export{c as SendCommandInChunksTask};
2
+ //# sourceMappingURL=SendCommandInChunksTask.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SendCommandInChunksTask.ts"],
4
+ "sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type Command,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nexport type SendCommandInChunksTaskArgs<T> = {\n data: Uint8Array;\n commandFactory: <V extends ChunkableCommandArgs & Record<string, unknown>>(\n args: ChunkableCommandArgs,\n ) => Command<T, V>;\n};\n\nexport type ChunkableCommandArgs = {\n chunkedData: Uint8Array;\n isFirstChunk: boolean;\n};\n\nexport class SendCommandInChunksTask<T> {\n constructor(\n private api: InternalApi,\n private args: SendCommandInChunksTaskArgs<T>,\n ) {}\n\n async run(): Promise<CommandResult<T, void>> {\n const { data: payload, commandFactory } = this.args;\n\n const data = new ByteArrayBuilder(payload.length)\n .addBufferToData(payload)\n .build();\n\n for (let i = 0; i < data.length; i += APDU_MAX_PAYLOAD) {\n const isLastChunk = i + APDU_MAX_PAYLOAD >= data.length;\n const result = await this.api.sendCommand(\n commandFactory({\n chunkedData: data.slice(i, i + APDU_MAX_PAYLOAD),\n isFirstChunk: i === 0,\n }),\n );\n\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n\n // return the last result\n if (isLastChunk) {\n return CommandResultFactory({\n data: result.data,\n });\n }\n }\n\n throw new InvalidStatusWordError(\"No result\");\n }\n}\n"],
5
+ "mappings": "AAAA,OACE,oBAAAA,EACA,oBAAAC,EAGA,wBAAAC,EAEA,0BAAAC,EACA,0BAAAC,MACK,kCAcA,MAAMC,CAA2B,CACtC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAAuC,CAC3C,KAAM,CAAE,KAAMC,EAAS,eAAAC,CAAe,EAAI,KAAK,KAEzCC,EAAO,IAAIT,EAAiBO,EAAQ,MAAM,EAC7C,gBAAgBA,CAAO,EACvB,MAAM,EAET,QAASG,EAAI,EAAGA,EAAID,EAAK,OAAQC,GAAKX,EAAkB,CACtD,MAAMY,EAAcD,EAAIX,GAAoBU,EAAK,OAC3CG,EAAS,MAAM,KAAK,IAAI,YAC5BJ,EAAe,CACb,YAAaC,EAAK,MAAMC,EAAGA,EAAIX,CAAgB,EAC/C,aAAcW,IAAM,CACtB,CAAC,CACH,EAEA,GAAI,CAACP,EAAuBS,CAAM,EAChC,OAAOA,EAIT,GAAID,EACF,OAAOV,EAAqB,CAC1B,KAAMW,EAAO,IACf,CAAC,CAEL,CAEA,MAAM,IAAIV,EAAuB,WAAW,CAC9C,CACF",
6
+ "names": ["APDU_MAX_PAYLOAD", "ByteArrayBuilder", "CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "SendCommandInChunksTask", "api", "args", "payload", "commandFactory", "data", "i", "isLastChunk", "result"]
7
+ }
@@ -1,38 +1,2 @@
1
- import { APDU_MAX_PAYLOAD, ByteArrayBuilder, CommandResultFactory, isSuccessCommandResult, } from "@ledgerhq/device-management-kit";
2
- import { SendEIP712StructImplemCommand, StructImplemType, } from "../../app-binder/command/SendEIP712StructImplemCommand";
3
- export class SendEIP712StructImplemTask {
4
- api;
5
- args;
6
- constructor(api, args) {
7
- this.api = api;
8
- this.args = args;
9
- }
10
- async run() {
11
- // No particular operation to perform on root and array implementations.
12
- if (this.args.type !== StructImplemType.FIELD) {
13
- return await this.api.sendCommand(new SendEIP712StructImplemCommand(this.args));
14
- }
15
- // If the value is a field, we should prepend its size, and chunk it if necessary.
16
- let result = CommandResultFactory({ data: undefined });
17
- // Prepend the length to the array, in uint16 big endian encoding
18
- const buffer = new ByteArrayBuilder(this.args.value.length + 2)
19
- .add16BitUIntToData(this.args.value.length)
20
- .addBufferToData(this.args.value)
21
- .build();
22
- // Split the buffer into chunks if necessary
23
- for (let i = 0; i < buffer.length; i += APDU_MAX_PAYLOAD) {
24
- result = await this.api.sendCommand(new SendEIP712StructImplemCommand({
25
- type: StructImplemType.FIELD,
26
- value: {
27
- data: buffer.slice(i, i + APDU_MAX_PAYLOAD),
28
- isLastChunk: i >= buffer.length - APDU_MAX_PAYLOAD,
29
- },
30
- }));
31
- if (!isSuccessCommandResult(result)) {
32
- return result;
33
- }
34
- }
35
- return result;
36
- }
37
- }
38
- //# sourceMappingURL=SendEIP712StructImplemTask.js.map
1
+ import{APDU_MAX_PAYLOAD as r,ByteArrayBuilder as m,CommandResultFactory as i,isSuccessCommandResult as u}from"@ledgerhq/device-management-kit";import{SendEIP712StructImplemCommand as n,StructImplemType as s}from"../../app-binder/command/SendEIP712StructImplemCommand";class o{constructor(t,a){this.api=t;this.args=a}async run(){if(this.args.type!==s.FIELD)return await this.api.sendCommand(new n(this.args));let t=i({data:void 0});const a=new m(this.args.value.length+2).add16BitUIntToData(this.args.value.length).addBufferToData(this.args.value).build();for(let e=0;e<a.length;e+=r)if(t=await this.api.sendCommand(new n({type:s.FIELD,value:{data:a.slice(e,e+r),isLastChunk:e>=a.length-r}})),!u(t))return t;return t}}export{o as SendEIP712StructImplemTask};
2
+ //# sourceMappingURL=SendEIP712StructImplemTask.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"SendEIP712StructImplemTask.js","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/SendEIP712StructImplemTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAEhB,oBAAoB,EAEpB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,4DAA4D,CAAC;AAgBpE,MAAM,OAAO,0BAA0B;IAE3B;IACA;IAFV,YACU,GAAgB,EAChB,IAAoC;QADpC,QAAG,GAAH,GAAG,CAAa;QAChB,SAAI,GAAJ,IAAI,CAAgC;IAC3C,CAAC;IAEJ,KAAK,CAAC,GAAG;QACP,wEAAwE;QACxE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAC/B,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7C,CAAC;QACJ,CAAC;QAED,kFAAkF;QAElF,IAAI,MAAM,GAAG,oBAAoB,CAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,iEAAiE;QACjE,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aAC5D,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAC1C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAChC,KAAK,EAAE,CAAC;QAEX,4CAA4C;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACzD,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CACjC,IAAI,6BAA6B,CAAC;gBAChC,IAAI,EAAE,gBAAgB,CAAC,KAAK;gBAC5B,KAAK,EAAE;oBACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC;oBAC3C,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,gBAAgB;iBACnD;aACF,CAAC,CACH,CAAC;YACF,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SendEIP712StructImplemTask.ts"],
4
+ "sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n StructImplemType,\n} from \"@internal/app-binder/command/SendEIP712StructImplemCommand\";\n\nexport type SendEIP712StructImplemTaskArgs =\n | {\n type: StructImplemType.ROOT;\n value: string;\n }\n | {\n type: StructImplemType.ARRAY;\n value: number;\n }\n | {\n type: StructImplemType.FIELD;\n value: Uint8Array;\n };\n\nexport class SendEIP712StructImplemTask {\n constructor(\n private api: InternalApi,\n private args: SendEIP712StructImplemTaskArgs,\n ) {}\n\n async run(): Promise<CommandResult<void>> {\n // No particular operation to perform on root and array implementations.\n if (this.args.type !== StructImplemType.FIELD) {\n return await this.api.sendCommand(\n new SendEIP712StructImplemCommand(this.args),\n );\n }\n\n // If the value is a field, we should prepend its size, and chunk it if necessary.\n\n let result = CommandResultFactory<void, void>({ data: undefined });\n // Prepend the length to the array, in uint16 big endian encoding\n const buffer = new ByteArrayBuilder(this.args.value.length + 2)\n .add16BitUIntToData(this.args.value.length)\n .addBufferToData(this.args.value)\n .build();\n\n // Split the buffer into chunks if necessary\n for (let i = 0; i < buffer.length; i += APDU_MAX_PAYLOAD) {\n result = await this.api.sendCommand(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: buffer.slice(i, i + APDU_MAX_PAYLOAD),\n isLastChunk: i >= buffer.length - APDU_MAX_PAYLOAD,\n },\n }),\n );\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n }\n return result;\n }\n}\n"],
5
+ "mappings": "AAAA,OACE,oBAAAA,EACA,oBAAAC,EAEA,wBAAAC,EAEA,0BAAAC,MACK,kCAEP,OACE,iCAAAC,EACA,oBAAAC,MACK,6DAgBA,MAAMC,CAA2B,CACtC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAAoC,CAExC,GAAI,KAAK,KAAK,OAASH,EAAiB,MACtC,OAAO,MAAM,KAAK,IAAI,YACpB,IAAID,EAA8B,KAAK,IAAI,CAC7C,EAKF,IAAIK,EAASP,EAAiC,CAAE,KAAM,MAAU,CAAC,EAEjE,MAAMQ,EAAS,IAAIT,EAAiB,KAAK,KAAK,MAAM,OAAS,CAAC,EAC3D,mBAAmB,KAAK,KAAK,MAAM,MAAM,EACzC,gBAAgB,KAAK,KAAK,KAAK,EAC/B,MAAM,EAGT,QAASU,EAAI,EAAGA,EAAID,EAAO,OAAQC,GAAKX,EAUtC,GATAS,EAAS,MAAM,KAAK,IAAI,YACtB,IAAIL,EAA8B,CAChC,KAAMC,EAAiB,MACvB,MAAO,CACL,KAAMK,EAAO,MAAMC,EAAGA,EAAIX,CAAgB,EAC1C,YAAaW,GAAKD,EAAO,OAASV,CACpC,CACF,CAAC,CACH,EACI,CAACG,EAAuBM,CAAM,EAChC,OAAOA,EAGX,OAAOA,CACT,CACF",
6
+ "names": ["APDU_MAX_PAYLOAD", "ByteArrayBuilder", "CommandResultFactory", "isSuccessCommandResult", "SendEIP712StructImplemCommand", "StructImplemType", "SendEIP712StructImplemTask", "api", "args", "result", "buffer", "i"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{CommandResultFactory as n,UnknownDeviceExchangeError as r}from"@ledgerhq/device-management-kit";import{SendEIP712StructImplemCommand as c,StructImplemType as a}from"../../app-binder/command/SendEIP712StructImplemCommand";import{makeDeviceActionInternalApiMock as o}from"../../app-binder/device-action/__test-utils__/makeInternalApi";import{SendEIP712StructImplemTask as t}from"./SendEIP712StructImplemTask";describe("SendEIP712StructImplemTask",()=>{const x=o();beforeEach(()=>{jest.resetAllMocks()}),it("Should forward root implementations",async()=>{const e={type:a.ROOT,value:"root name"};await new t(x,e).run(),expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new c({type:a.ROOT,value:"root name"}))}),it("Should forward array implementations",async()=>{const e={type:a.ARRAY,value:42};await new t(x,e).run(),expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new c({type:a.ARRAY,value:42}))}),it("Should prepend length to small field implementations",async()=>{const e={type:a.FIELD,value:Uint8Array.from([186,242,18,123,73,252,147,203,202,98,105,250,222,15,127,49,223,76,136,167])};x.sendCommand.mockResolvedValue(n({data:void 0})),await new t(x,e).run(),expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new c({type:a.FIELD,value:{data:Uint8Array.from([0,20,186,242,18,123,73,252,147,203,202,98,105,250,222,15,127,49,223,76,136,167]),isLastChunk:!0}}))}),it("Should prepend length and chunk big field implementations",async()=>{const e={type:a.FIELD,value:Uint8Array.from([150,128,159,144,0,0,0,0,0,0,0,0,0,0,0,0,17,47,7,50,229,158,118,0,118,141,252,53,186,116,75,137,242,53,108,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,95,148,114,118,116,156,230,70,246,138,200,194,72,66,0,69,203,123,94,189,242,101,127,252,31,173,253,115,207,10,140,222,149,213,11,98,211,223,140,0,0,0,0,0,0,7,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])};x.sendCommand.mockResolvedValue(n({data:void 0})),await new t(x,e).run(),expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new c({type:a.FIELD,value:{data:Uint8Array.from([1,4,150,128,159,144,0,0,0,0,0,0,0,0,0,0,0,0,17,47,7,50,229,158,118,0,118,141,252,53,186,116,75,137,242,53,108,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,95,148,114,118,116,156,230,70,246,138,200,194,72,66,0,69,203,123,94,189,242,101,127,252,31,173,253,115,207,10,140,222,149,213,11,98,211,223,140,0,0,0,0,0,0,7,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),isLastChunk:!1}})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new c({type:a.FIELD,value:{data:Uint8Array.from([0,0,0,0,0,0,0]),isLastChunk:!0}}))}),it("Should fail if the command failed to be sent",async()=>{const e={type:a.ROOT,value:"root name"};x.sendCommand.mockRejectedValueOnce(new Error("error")),await expect(new t(x,e).run()).rejects.toStrictEqual(new Error("error"))}),it("Should fail if a chunked command failed to be sent",async()=>{const e={type:a.FIELD,value:Uint8Array.from([150,128,159,144,0,0,0,0,0,0,0,0,0,0,0,0,17,47,7,50,229,158,118,0,118,141,252,53,186,116,75,137,242,53,108,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,95,148,114,118,116,156,230,70,246,138,200,194,72,66,0,69,203,123,94,189,242,101,127,252,31,173,253,115,207,10,140,222,149,213,11,98,211,223,140,0,0,0,0,0,0,7,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])};x.sendCommand.mockResolvedValue(n({error:new r("error")})),await expect(new t(x,e).run()).resolves.toStrictEqual(n({error:new r("error")}))})});
2
+ //# sourceMappingURL=SendEIP712StructImplemTask.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SendEIP712StructImplemTask.test.ts"],
4
+ "sourcesContent": ["import {\n CommandResultFactory,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n StructImplemType,\n} from \"@internal/app-binder/command/SendEIP712StructImplemCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport {\n SendEIP712StructImplemTask,\n type SendEIP712StructImplemTaskArgs,\n} from \"./SendEIP712StructImplemTask\";\n\ndescribe(\"SendEIP712StructImplemTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n it(\"Should forward root implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"root name\",\n }),\n );\n });\n\n it(\"Should forward array implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ARRAY,\n value: 42,\n };\n // WHEN\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.ARRAY,\n value: 42,\n }),\n );\n });\n\n it(\"Should prepend length to small field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca, 0x62, 0x69, 0xfa,\n 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x00, 0x14, 0xba, 0xf2, 0x12, 0x7b, 0x49, 0xfc, 0x93, 0xcb, 0xca,\n 0x62, 0x69, 0xfa, 0xde, 0x0f, 0x7f, 0x31, 0xdf, 0x4c, 0x88, 0xa7,\n ]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should prepend length and chunk big field implementations\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n await new SendEIP712StructImplemTask(apiMock, args).run();\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(2);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([\n 0x01, 0x04, 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32,\n 0xe5, 0x9e, 0x76, 0x00, 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b,\n 0x89, 0xf2, 0x35, 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72, 0x76, 0x74,\n 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00, 0x45,\n 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf,\n 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,\n 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00,\n ]),\n isLastChunk: false,\n },\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SendEIP712StructImplemCommand({\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),\n isLastChunk: true,\n },\n }),\n );\n });\n\n it(\"Should fail if the command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.ROOT,\n value: \"root name\",\n };\n // WHEN\n apiMock.sendCommand.mockRejectedValueOnce(new Error(\"error\"));\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).rejects.toStrictEqual(new Error(\"error\"));\n });\n\n it(\"Should fail if a chunked command failed to be sent\", async () => {\n // GIVEN\n const args: SendEIP712StructImplemTaskArgs = {\n type: StructImplemType.FIELD,\n value: Uint8Array.from([\n 0x96, 0x80, 0x9f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x11, 0x2f, 0x07, 0x32, 0xe5, 0x9e, 0x76, 0x00,\n 0x76, 0x8d, 0xfc, 0x35, 0xba, 0x74, 0x4b, 0x89, 0xf2, 0x35, 0x6c, 0xd8,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x5f, 0x94, 0x72,\n 0x76, 0x74, 0x9c, 0xe6, 0x46, 0xf6, 0x8a, 0xc8, 0xc2, 0x48, 0x42, 0x00,\n 0x45, 0xcb, 0x7b, 0x5e, 0xbd, 0xf2, 0x65, 0x7f, 0xfc, 0x1f, 0xad, 0xfd,\n 0x73, 0xcf, 0x0a, 0x8c, 0xde, 0x95, 0xd5, 0x0b, 0x62, 0xd3, 0xdf, 0x8c,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x32,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n ]),\n };\n // WHEN\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"error\"),\n }),\n );\n // THEN\n await expect(\n new SendEIP712StructImplemTask(apiMock, args).run(),\n ).resolves.toStrictEqual(\n CommandResultFactory({ error: new UnknownDeviceExchangeError(\"error\") }),\n );\n });\n});\n"],
5
+ "mappings": "AAAA,OACE,wBAAAA,EACA,8BAAAC,MACK,kCAEP,OACE,iCAAAC,EACA,oBAAAC,MACK,6DACP,OAAS,mCAAAC,MAAuC,oEAEhD,OACE,8BAAAC,MAEK,+BAEP,SAAS,6BAA8B,IAAM,CAC3C,MAAMC,EAAUF,EAAgC,EAEhD,WAAW,IAAM,CACf,KAAK,cAAc,CACrB,CAAC,EAED,GAAG,sCAAuC,SAAY,CAEpD,MAAMG,EAAuC,CAC3C,KAAMJ,EAAiB,KACvB,MAAO,WACT,EAEA,MAAM,IAAIE,EAA2BC,EAASC,CAAI,EAAE,IAAI,EAExD,OAAOD,EAAQ,YAAY,KAAK,KAAK,EAAE,aAAa,CAAC,EACrD,OAAOA,EAAQ,YAAY,KAAK,MAAM,CAAC,EAAG,CAAC,CAAC,EAAE,cAC5C,IAAIJ,EAA8B,CAChC,KAAMC,EAAiB,KACvB,MAAO,WACT,CAAC,CACH,CACF,CAAC,EAED,GAAG,uCAAwC,SAAY,CAErD,MAAMI,EAAuC,CAC3C,KAAMJ,EAAiB,MACvB,MAAO,EACT,EAEA,MAAM,IAAIE,EAA2BC,EAASC,CAAI,EAAE,IAAI,EAExD,OAAOD,EAAQ,YAAY,KAAK,KAAK,EAAE,aAAa,CAAC,EACrD,OAAOA,EAAQ,YAAY,KAAK,MAAM,CAAC,EAAG,CAAC,CAAC,EAAE,cAC5C,IAAIJ,EAA8B,CAChC,KAAMC,EAAiB,MACvB,MAAO,EACT,CAAC,CACH,CACF,CAAC,EAED,GAAG,uDAAwD,SAAY,CAErE,MAAMI,EAAuC,CAC3C,KAAMJ,EAAiB,MACvB,MAAO,WAAW,KAAK,CACrB,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAClE,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAC5C,CAAC,CACH,EAEAG,EAAQ,YAAY,kBAClBN,EAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,EACA,MAAM,IAAIK,EAA2BC,EAASC,CAAI,EAAE,IAAI,EAExD,OAAOD,EAAQ,YAAY,KAAK,KAAK,EAAE,aAAa,CAAC,EACrD,OAAOA,EAAQ,YAAY,KAAK,MAAM,CAAC,EAAG,CAAC,CAAC,EAAE,cAC5C,IAAIJ,EAA8B,CAChC,KAAMC,EAAiB,MACvB,MAAO,CACL,KAAM,WAAW,KAAK,CACpB,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAC5D,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAC9D,CAAC,EACD,YAAa,EACf,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,4DAA6D,SAAY,CAE1E,MAAMI,EAAuC,CAC3C,KAAMJ,EAAiB,MACvB,MAAO,WAAW,KAAK,CACrB,IAAM,IAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,EAAM,GAAM,IAAM,IAAM,IAAM,EAClE,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,IAAM,IAClE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,EAClE,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAClE,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAC5C,CAAC,CACH,EAEAG,EAAQ,YAAY,kBAClBN,EAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,EACA,MAAM,IAAIK,EAA2BC,EAASC,CAAI,EAAE,IAAI,EAExD,OAAOD,EAAQ,YAAY,KAAK,KAAK,EAAE,aAAa,CAAC,EACrD,OAAOA,EAAQ,YAAY,KAAK,MAAM,CAAC,EAAG,CAAC,CAAC,EAAE,cAC5C,IAAIJ,EAA8B,CAChC,KAAMC,EAAiB,MACvB,MAAO,CACL,KAAM,WAAW,KAAK,CACpB,EAAM,EAAM,IAAM,IAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,EAAM,GAC5D,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAC5D,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAC5D,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,EAAM,GAC5D,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAC5D,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAC5D,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAC5D,EAAM,CACR,CAAC,EACD,YAAa,EACf,CACF,CAAC,CACH,EACA,OAAOG,EAAQ,YAAY,KAAK,MAAM,CAAC,EAAG,CAAC,CAAC,EAAE,cAC5C,IAAIJ,EAA8B,CAChC,KAAMC,EAAiB,MACvB,MAAO,CACL,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,EAChE,YAAa,EACf,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,+CAAgD,SAAY,CAE7D,MAAMI,EAAuC,CAC3C,KAAMJ,EAAiB,KACvB,MAAO,WACT,EAEAG,EAAQ,YAAY,sBAAsB,IAAI,MAAM,OAAO,CAAC,EAE5D,MAAM,OACJ,IAAID,EAA2BC,EAASC,CAAI,EAAE,IAAI,CACpD,EAAE,QAAQ,cAAc,IAAI,MAAM,OAAO,CAAC,CAC5C,CAAC,EAED,GAAG,qDAAsD,SAAY,CAEnE,MAAMA,EAAuC,CAC3C,KAAMJ,EAAiB,MACvB,MAAO,WAAW,KAAK,CACrB,IAAM,IAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,EAAM,GAAM,IAAM,IAAM,IAAM,EAClE,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,IAAM,IAClE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,EAClE,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAClE,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAClE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAC5C,CAAC,CACH,EAEAG,EAAQ,YAAY,kBAClBN,EAAqB,CACnB,MAAO,IAAIC,EAA2B,OAAO,CAC/C,CAAC,CACH,EAEA,MAAM,OACJ,IAAII,EAA2BC,EAASC,CAAI,EAAE,IAAI,CACpD,EAAE,SAAS,cACTP,EAAqB,CAAE,MAAO,IAAIC,EAA2B,OAAO,CAAE,CAAC,CACzE,CACF,CAAC,CACH,CAAC",
6
+ "names": ["CommandResultFactory", "UnknownDeviceExchangeError", "SendEIP712StructImplemCommand", "StructImplemType", "makeDeviceActionInternalApiMock", "SendEIP712StructImplemTask", "apiMock", "args"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{CommandResultFactory as n,InvalidStatusWordError as r}from"@ledgerhq/device-management-kit";import{PayloadUtils as o}from"../../shared/utils/PayloadUtils";import{SendCommandInChunksTask as s}from"./SendCommandInChunksTask";class y{constructor(a,d){this.api=a;this.args=d}async run(){const a=o.getBufferFromPayload(this.args.payload);return a?new s(this.api,{data:a,commandFactory:this.args.commandFactory}).run():n({error:new r("Invalid payload")})}}export{y as SendPayloadInChunksTask};
2
+ //# sourceMappingURL=SendPayloadInChunksTask.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SendPayloadInChunksTask.ts"],
4
+ "sourcesContent": ["import {\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { PayloadUtils } from \"@internal/shared/utils/PayloadUtils\";\n\nimport {\n SendCommandInChunksTask,\n type SendCommandInChunksTaskArgs,\n} from \"./SendCommandInChunksTask\";\n\ntype SendPayloadInChunksTaskArgs<T> = {\n payload: string;\n commandFactory: SendCommandInChunksTaskArgs<T>[\"commandFactory\"];\n};\n\nexport class SendPayloadInChunksTask<T> {\n constructor(\n private api: InternalApi,\n private args: SendPayloadInChunksTaskArgs<T>,\n ) {}\n async run(): Promise<CommandResult<T, void>> {\n const data = PayloadUtils.getBufferFromPayload(this.args.payload);\n\n if (!data) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid payload\"),\n });\n }\n\n return new SendCommandInChunksTask(this.api, {\n data,\n commandFactory: this.args.commandFactory,\n }).run();\n }\n}\n"],
5
+ "mappings": "AAAA,OAEE,wBAAAA,EAEA,0BAAAC,MACK,kCAEP,OAAS,gBAAAC,MAAoB,sCAE7B,OACE,2BAAAC,MAEK,4BAOA,MAAMC,CAA2B,CACtC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CACH,MAAM,KAAuC,CAC3C,MAAMC,EAAOL,EAAa,qBAAqB,KAAK,KAAK,OAAO,EAEhE,OAAKK,EAME,IAAIJ,EAAwB,KAAK,IAAK,CAC3C,KAAAI,EACA,eAAgB,KAAK,KAAK,cAC5B,CAAC,EAAE,IAAI,EAREP,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,iBAAiB,CACrD,CAAC,CAOL,CACF",
6
+ "names": ["CommandResultFactory", "InvalidStatusWordError", "PayloadUtils", "SendCommandInChunksTask", "SendPayloadInChunksTask", "api", "args", "data"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{CommandResultFactory as e,InvalidStatusWordError as t}from"@ledgerhq/device-management-kit";import{SendCommandInChunksTask as r}from"./SendCommandInChunksTask";import{SendPayloadInChunksTask as o}from"./SendPayloadInChunksTask";jest.mock("./SendCommandInChunksTask");describe("SendPayloadInChunksTask",()=>{describe("run",()=>{beforeAll(()=>{jest.resetAllMocks()}),it("should return a CommandResult",async()=>{const a="0x1234";jest.spyOn(r.prototype,"run").mockResolvedValue(e({data:"0x5678"}));const n=await new o({},{payload:a,commandFactory:jest.fn()}).run();expect(n).toEqual(e({data:"0x5678"}))}),it("should return an error CommandResult",async()=>{const a="invalid-payload",n=await new o({},{payload:a,commandFactory:jest.fn()}).run();expect(n).toEqual(e({error:new t("Invalid payload")}))})})});
2
+ //# sourceMappingURL=SendPayloadInChunksTask.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SendPayloadInChunksTask.test.ts"],
4
+ "sourcesContent": ["import {\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\nimport { SendPayloadInChunksTask } from \"./SendPayloadInChunksTask\";\n\n// mock SendCommandInChunksTask\njest.mock(\"./SendCommandInChunksTask\");\n\ndescribe(\"SendPayloadInChunksTask\", () => {\n describe(\"run\", () => {\n beforeAll(() => {\n jest.resetAllMocks();\n });\n\n it(\"should return a CommandResult\", async () => {\n // GIVEN\n const payload = \"0x1234\";\n jest\n .spyOn(SendCommandInChunksTask.prototype, \"run\")\n .mockResolvedValue(CommandResultFactory({ data: \"0x5678\" }));\n\n // WHEN\n const result = await new SendPayloadInChunksTask({} as InternalApi, {\n payload,\n commandFactory: jest.fn(),\n }).run();\n\n // THEN\n expect(result).toEqual(CommandResultFactory({ data: \"0x5678\" }));\n });\n\n it(\"should return an error CommandResult\", async () => {\n // GIVEN\n const payload = \"invalid-payload\";\n\n // WHEN\n const result = await new SendPayloadInChunksTask({} as InternalApi, {\n payload,\n commandFactory: jest.fn(),\n }).run();\n\n // THEN\n expect(result).toEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid payload\"),\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OACE,wBAAAA,EAEA,0BAAAC,MACK,kCAEP,OAAS,2BAAAC,MAA+B,4BACxC,OAAS,2BAAAC,MAA+B,4BAGxC,KAAK,KAAK,2BAA2B,EAErC,SAAS,0BAA2B,IAAM,CACxC,SAAS,MAAO,IAAM,CACpB,UAAU,IAAM,CACd,KAAK,cAAc,CACrB,CAAC,EAED,GAAG,gCAAiC,SAAY,CAE9C,MAAMC,EAAU,SAChB,KACG,MAAMF,EAAwB,UAAW,KAAK,EAC9C,kBAAkBF,EAAqB,CAAE,KAAM,QAAS,CAAC,CAAC,EAG7D,MAAMK,EAAS,MAAM,IAAIF,EAAwB,CAAC,EAAkB,CAClE,QAAAC,EACA,eAAgB,KAAK,GAAG,CAC1B,CAAC,EAAE,IAAI,EAGP,OAAOC,CAAM,EAAE,QAAQL,EAAqB,CAAE,KAAM,QAAS,CAAC,CAAC,CACjE,CAAC,EAED,GAAG,uCAAwC,SAAY,CAErD,MAAMI,EAAU,kBAGVC,EAAS,MAAM,IAAIF,EAAwB,CAAC,EAAkB,CAClE,QAAAC,EACA,eAAgB,KAAK,GAAG,CAC1B,CAAC,EAAE,IAAI,EAGP,OAAOC,CAAM,EAAE,QACbL,EAAqB,CACnB,MAAO,IAAIC,EAAuB,iBAAiB,CACrD,CAAC,CACH,CACF,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["CommandResultFactory", "InvalidStatusWordError", "SendCommandInChunksTask", "SendPayloadInChunksTask", "payload", "result"]
7
+ }
@@ -1,49 +1,2 @@
1
- import { APDU_MAX_PAYLOAD, ByteArrayBuilder, CommandResultFactory, InvalidStatusWordError, isSuccessCommandResult, } from "@ledgerhq/device-management-kit";
2
- import { Nothing } from "purify-ts";
3
- import { SignPersonalMessageCommand, } from "../../app-binder/command/SignPersonalMessageCommand";
4
- import { DerivationPathUtils } from "../../shared/utils/DerivationPathUtils";
5
- const PATH_SIZE = 4;
6
- export class SendSignPersonalMessageTask {
7
- api;
8
- args;
9
- constructor(api, args) {
10
- this.api = api;
11
- this.args = args;
12
- }
13
- async run() {
14
- const { derivationPath, message } = this.args;
15
- const paths = DerivationPathUtils.splitPath(derivationPath);
16
- const builder = new ByteArrayBuilder(message.length + 1 + (paths.length + 1) * PATH_SIZE);
17
- // add the derivation paths length
18
- builder.add8BitUIntToData(paths.length);
19
- // add every derivation path
20
- paths.forEach((path) => {
21
- builder.add32BitUIntToData(path);
22
- });
23
- // add message length
24
- builder.add32BitUIntToData(message.length);
25
- // add the message
26
- builder.addAsciiStringToData(message);
27
- const buffer = builder.build();
28
- let result = CommandResultFactory({ data: Nothing });
29
- // Split the buffer into chunks
30
- for (let i = 0; i < buffer.length; i += APDU_MAX_PAYLOAD) {
31
- result = await this.api.sendCommand(new SignPersonalMessageCommand({
32
- data: buffer.slice(i, i + APDU_MAX_PAYLOAD),
33
- isFirstChunk: i === 0,
34
- }));
35
- if (!isSuccessCommandResult(result)) {
36
- return result;
37
- }
38
- }
39
- if (isSuccessCommandResult(result) && result.data.isJust()) {
40
- return CommandResultFactory({
41
- data: result.data.extract(),
42
- });
43
- }
44
- return CommandResultFactory({
45
- error: new InvalidStatusWordError("no signature returned"),
46
- });
47
- }
48
- }
49
- //# sourceMappingURL=SendSignPersonalMessageTask.js.map
1
+ import{ByteArrayBuilder as d,CommandResultFactory as i,InvalidStatusWordError as m,isSuccessCommandResult as g}from"@ledgerhq/device-management-kit";import{DerivationPathUtils as l}from"@ledgerhq/signer-utils";import{SignPersonalMessageCommand as u}from"../../app-binder/command/SignPersonalMessageCommand";import{SendCommandInChunksTask as p}from"./SendCommandInChunksTask";const c=4;class C{constructor(r,a){this.api=r;this.args=a}async run(){const{derivationPath:r,message:a}=this.args,n=l.splitPath(r),t=new d(a.length+1+(n.length+1)*c);t.add8BitUIntToData(n.length),n.forEach(e=>{t.add32BitUIntToData(e)}),t.add32BitUIntToData(a.length),typeof a=="string"?t.addAsciiStringToData(a):t.addBufferToData(a);const o=t.build(),s=await new p(this.api,{data:o,commandFactory:e=>new u({data:e.chunkedData,isFirstChunk:e.isFirstChunk})}).run();return g(s)?s.data.mapOrDefault(e=>i({data:e}),i({error:new m("no signature returned")})):s}}export{C as SendSignPersonalMessageTask};
2
+ //# sourceMappingURL=SendSignPersonalMessageTask.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"SendSignPersonalMessageTask.js","sourceRoot":"","sources":["../../../../../src/internal/app-binder/task/SendSignPersonalMessageTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAEhB,oBAAoB,EAEpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,0BAA0B,GAE3B,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEjF,MAAM,SAAS,GAAG,CAAC,CAAC;AAOpB,MAAM,OAAO,2BAA2B;IAE5B;IACA;IAFV,YACU,GAAgB,EAChB,IAAqC;QADrC,QAAG,GAAH,GAAG,CAAa;QAChB,SAAI,GAAJ,IAAI,CAAiC;IAC5C,CAAC;IAEJ,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9C,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAClC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CACpD,CAAC;QACF,kCAAkC;QAClC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,4BAA4B;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,qBAAqB;QACrB,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,kBAAkB;QAClB,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,MAAM,GAAG,oBAAoB,CAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,CAClB,CAAC;QAEF,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACzD,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CACjC,IAAI,0BAA0B,CAAC;gBAC7B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC;gBAC3C,YAAY,EAAE,CAAC,KAAK,CAAC;aACtB,CAAC,CACH,CAAC;YAEF,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3D,OAAO,oBAAoB,CAAC;gBAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,oBAAoB,CAAC;YAC1B,KAAK,EAAE,IAAI,sBAAsB,CAAC,uBAAuB,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SendSignPersonalMessageTask.ts"],
4
+ "sourcesContent": ["import {\n ByteArrayBuilder,\n type CommandResult,\n CommandResultFactory,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\n\nimport { type Signature } from \"@api/model/Signature\";\nimport {\n SignPersonalMessageCommand,\n type SignPersonalMessageCommandResponse,\n} from \"@internal/app-binder/command/SignPersonalMessageCommand\";\n\nimport { SendCommandInChunksTask } from \"./SendCommandInChunksTask\";\n\nconst PATH_SIZE = 4;\n\ntype SendSignPersonalMessageTaskArgs = {\n derivationPath: string;\n message: string | Uint8Array;\n};\n\nexport class SendSignPersonalMessageTask {\n constructor(\n private api: InternalApi,\n private args: SendSignPersonalMessageTaskArgs,\n ) {}\n\n async run(): Promise<CommandResult<Signature, void>> {\n const { derivationPath, message } = this.args;\n const paths = DerivationPathUtils.splitPath(derivationPath);\n\n const builder = new ByteArrayBuilder(\n message.length + 1 + (paths.length + 1) * PATH_SIZE,\n );\n // add the derivation paths length\n builder.add8BitUIntToData(paths.length);\n // add every derivation path\n paths.forEach((path) => {\n builder.add32BitUIntToData(path);\n });\n // add message length\n builder.add32BitUIntToData(message.length);\n // add the message\n if (typeof message === \"string\") {\n builder.addAsciiStringToData(message);\n } else {\n builder.addBufferToData(message);\n }\n\n const buffer = builder.build();\n\n const result =\n await new SendCommandInChunksTask<SignPersonalMessageCommandResponse>(\n this.api,\n {\n data: buffer,\n commandFactory: (args) =>\n new SignPersonalMessageCommand({\n data: args.chunkedData,\n isFirstChunk: args.isFirstChunk,\n }),\n },\n ).run();\n\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n\n return result.data.mapOrDefault(\n (data) => CommandResultFactory({ data }),\n CommandResultFactory({\n error: new InvalidStatusWordError(\"no signature returned\"),\n }),\n );\n }\n}\n"],
5
+ "mappings": "AAAA,OACE,oBAAAA,EAEA,wBAAAC,EAEA,0BAAAC,EACA,0BAAAC,MACK,kCACP,OAAS,uBAAAC,MAA2B,yBAGpC,OACE,8BAAAC,MAEK,0DAEP,OAAS,2BAAAC,MAA+B,4BAExC,MAAMC,EAAY,EAOX,MAAMC,CAA4B,CACvC,YACUC,EACAC,EACR,CAFQ,SAAAD,EACA,UAAAC,CACP,CAEH,MAAM,KAA+C,CACnD,KAAM,CAAE,eAAAC,EAAgB,QAAAC,CAAQ,EAAI,KAAK,KACnCC,EAAQT,EAAoB,UAAUO,CAAc,EAEpDG,EAAU,IAAId,EAClBY,EAAQ,OAAS,GAAKC,EAAM,OAAS,GAAKN,CAC5C,EAEAO,EAAQ,kBAAkBD,EAAM,MAAM,EAEtCA,EAAM,QAASE,GAAS,CACtBD,EAAQ,mBAAmBC,CAAI,CACjC,CAAC,EAEDD,EAAQ,mBAAmBF,EAAQ,MAAM,EAErC,OAAOA,GAAY,SACrBE,EAAQ,qBAAqBF,CAAO,EAEpCE,EAAQ,gBAAgBF,CAAO,EAGjC,MAAMI,EAASF,EAAQ,MAAM,EAEvBG,EACJ,MAAM,IAAIX,EACR,KAAK,IACL,CACE,KAAMU,EACN,eAAiBN,GACf,IAAIL,EAA2B,CAC7B,KAAMK,EAAK,YACX,aAAcA,EAAK,YACrB,CAAC,CACL,CACF,EAAE,IAAI,EAER,OAAKP,EAAuBc,CAAM,EAI3BA,EAAO,KAAK,aAChBC,GAASjB,EAAqB,CAAE,KAAAiB,CAAK,CAAC,EACvCjB,EAAqB,CACnB,MAAO,IAAIC,EAAuB,uBAAuB,CAC3D,CAAC,CACH,EARSe,CASX,CACF",
6
+ "names": ["ByteArrayBuilder", "CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "DerivationPathUtils", "SignPersonalMessageCommand", "SendCommandInChunksTask", "PATH_SIZE", "SendSignPersonalMessageTask", "api", "args", "derivationPath", "message", "paths", "builder", "path", "buffer", "result", "data"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{CommandResultFactory as t}from"@ledgerhq/device-management-kit";import{InvalidStatusWordError as d}from"@ledgerhq/device-management-kit";import{Just as u,Nothing as f}from"purify-ts";import{SignPersonalMessageCommand as o}from"../../app-binder/command/SignPersonalMessageCommand";import{makeDeviceActionInternalApiMock as p}from"../../app-binder/device-action/__test-utils__/makeInternalApi";import{SendSignPersonalMessageTask as n}from"./SendSignPersonalMessageTask";const i="Hello, World!",g=new Uint8Array([72,101,108,108,111,44,32,87,111,114,108,100,33]),m=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,72,101,108,108,111,44,32,87,111,114,108,100,33]),E="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",l=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,1,189,76,111,114,101,109,32,105,112,115,117,109,32,100,111,108,111,114,32,115,105,116,32,97,109,101,116,44,32,99,111,110,115,101,99,116,101,116,117,114,32,97,100,105,112,105,115,99,105,110,103,32,101,108,105,116,44,32,115,101,100,32,100,111,32,101,105,117,115,109,111,100,32,116,101,109,112,111,114,32,105,110,99,105,100,105,100,117,110,116,32,117,116,32,108,97,98,111,114,101,32,101,116,32,100,111,108,111,114,101,32,109,97,103,110,97,32,97,108,105,113,117,97,46,32,85,116,32,101,110,105,109,32,97,100,32,109,105,110,105,109,32,118,101,110,105,97,109,44,32,113,117,105,115,32,110,111,115,116,114,117,100,32,101,120,101,114,99,105,116,97,116,105,111,110,32,117,108,108,97,109,99,111,32,108,97,98,111,114,105,115,32,110,105,115,105,32,117,116,32,97,108,105,113,117,105,112,32,101,120,32,101,97,32,99,111,109,109,111,100,111,32,99,111,110,115,101,113,117,97,116,46,32,68,117,105,115,32,97,117,116,101,32,105,114,117,114,101,32,100,111,108,111,114,32,105,110,32,114,101,112,114,101,104,101,110,100,101,114,105,116,32,105,110,32,118,111,108,117,112,116,97,116,101,32,118,101,108,105,116,32,101,115,115,101,32,99,105,108,108,117,109,32,100,111,108,111,114,101,32,101,117,32,102,117,103,105,97,116,32,110,117,108,108,97,32,112,97,114,105,97,116,117,114,46,32,69,120,99,101,112,116,101,117,114,32,115,105,110,116,32,111,99,99,97,101,99,97,116,32,99,117,112,105,100,97,116,97,116,32,110,111,110,32,112,114,111,105,100,101,110,116,44,32,115,117,110,116,32,105,110,32,99,117,108,112,97,32,113,117,105,32,111,102,102,105,99,105,97,32,100,101,115,101,114,117,110,116,32,109,111,108,108,105,116,32,97,110,105,109,32,105,100,32,101,115,116,32,108,97,98,111,114,117,109,46]);describe("SendSignPersonalMessageTask",()=>{const x=p(),c={v:27,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"},r=t({data:u(c)}),s=t({data:f});beforeEach(()=>{jest.resetAllMocks()}),describe("run",()=>{it("should send the message in chunks",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:i};x.sendCommand.mockResolvedValueOnce(r),x.sendCommand.mockResolvedValueOnce(s);const a=await new n(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new o({data:new Uint8Array(m),isFirstChunk:!0})),expect(a.data).toStrictEqual(c)}),it("should send the message as byte arrays",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:g};x.sendCommand.mockResolvedValueOnce(r),x.sendCommand.mockResolvedValueOnce(s);const a=await new n(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new o({data:new Uint8Array(m),isFirstChunk:!0})),expect(a.data).toStrictEqual(c)}),it("should send the long message in chunks",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:E};x.sendCommand.mockResolvedValueOnce(s),x.sendCommand.mockResolvedValueOnce(r);const a=await new n(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new o({data:l.slice(0,255),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new o({data:l.slice(255,510),isFirstChunk:!1})),expect(a.data).toStrictEqual(c)}),it("should return an error if the command fails",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:i};x.sendCommand.mockResolvedValueOnce(t({error:new d("An error")}));const a=await new n(x,e).run();expect(a).toStrictEqual(t({error:new d("An error")}))}),it("should return an error if the command returns no data",async()=>{const e={derivationPath:"44'/60'/0'/0/0",message:i};x.sendCommand.mockResolvedValueOnce(s);const a=await new n(x,e).run();expect(a).toStrictEqual(t({error:new d("no signature returned")}))})})});
2
+ //# sourceMappingURL=SendSignPersonalMessageTask.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SendSignPersonalMessageTask.test.ts"],
4
+ "sourcesContent": ["import { CommandResultFactory } from \"@ledgerhq/device-management-kit\";\nimport { InvalidStatusWordError } from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { SignPersonalMessageCommand } from \"@internal/app-binder/command/SignPersonalMessageCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport { SendSignPersonalMessageTask } from \"./SendSignPersonalMessageTask\";\n\nconst SEND_MESSAGE_HELLO_WORLD = \"Hello, World!\";\nconst SEND_MESSAGE_HELLO_WORLD_BYTES = new Uint8Array([\n 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21,\n]);\nconst SEND_MESSAGE_HELLO_WORLD_DATA = new Uint8Array([\n 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x48,\n 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21,\n]);\n\nconst MESSAGE_LONG =\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\";\nconst MESSAGE_LONG_DATA = new Uint8Array([\n 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbd, 0x4c,\n 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d, 0x20, 0x64, 0x6f,\n 0x6c, 0x6f, 0x72, 0x20, 0x73, 0x69, 0x74, 0x20, 0x61, 0x6d, 0x65, 0x74, 0x2c,\n 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x74, 0x65, 0x74, 0x75, 0x72, 0x20,\n 0x61, 0x64, 0x69, 0x70, 0x69, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x6c,\n 0x69, 0x74, 0x2c, 0x20, 0x73, 0x65, 0x64, 0x20, 0x64, 0x6f, 0x20, 0x65, 0x69,\n 0x75, 0x73, 0x6d, 0x6f, 0x64, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x20,\n 0x69, 0x6e, 0x63, 0x69, 0x64, 0x69, 0x64, 0x75, 0x6e, 0x74, 0x20, 0x75, 0x74,\n 0x20, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x65, 0x20, 0x65, 0x74, 0x20, 0x64, 0x6f,\n 0x6c, 0x6f, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x67, 0x6e, 0x61, 0x20, 0x61, 0x6c,\n 0x69, 0x71, 0x75, 0x61, 0x2e, 0x20, 0x55, 0x74, 0x20, 0x65, 0x6e, 0x69, 0x6d,\n 0x20, 0x61, 0x64, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x20, 0x76, 0x65, 0x6e,\n 0x69, 0x61, 0x6d, 0x2c, 0x20, 0x71, 0x75, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x73,\n 0x74, 0x72, 0x75, 0x64, 0x20, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x74, 0x61,\n 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x6c, 0x6c, 0x61, 0x6d, 0x63, 0x6f, 0x20,\n 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x69, 0x73, 0x20, 0x6e, 0x69, 0x73, 0x69, 0x20,\n 0x75, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x70, 0x20, 0x65, 0x78,\n 0x20, 0x65, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x64, 0x6f, 0x20, 0x63,\n 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x61, 0x74, 0x2e, 0x20, 0x44, 0x75, 0x69,\n 0x73, 0x20, 0x61, 0x75, 0x74, 0x65, 0x20, 0x69, 0x72, 0x75, 0x72, 0x65, 0x20,\n 0x64, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x70, 0x72,\n 0x65, 0x68, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x74, 0x20, 0x69, 0x6e, 0x20,\n 0x76, 0x6f, 0x6c, 0x75, 0x70, 0x74, 0x61, 0x74, 0x65, 0x20, 0x76, 0x65, 0x6c,\n 0x69, 0x74, 0x20, 0x65, 0x73, 0x73, 0x65, 0x20, 0x63, 0x69, 0x6c, 0x6c, 0x75,\n 0x6d, 0x20, 0x64, 0x6f, 0x6c, 0x6f, 0x72, 0x65, 0x20, 0x65, 0x75, 0x20, 0x66,\n 0x75, 0x67, 0x69, 0x61, 0x74, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x20, 0x70,\n 0x61, 0x72, 0x69, 0x61, 0x74, 0x75, 0x72, 0x2e, 0x20, 0x45, 0x78, 0x63, 0x65,\n 0x70, 0x74, 0x65, 0x75, 0x72, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x63,\n 0x63, 0x61, 0x65, 0x63, 0x61, 0x74, 0x20, 0x63, 0x75, 0x70, 0x69, 0x64, 0x61,\n 0x74, 0x61, 0x74, 0x20, 0x6e, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x69, 0x64,\n 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x73, 0x75, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x20,\n 0x63, 0x75, 0x6c, 0x70, 0x61, 0x20, 0x71, 0x75, 0x69, 0x20, 0x6f, 0x66, 0x66,\n 0x69, 0x63, 0x69, 0x61, 0x20, 0x64, 0x65, 0x73, 0x65, 0x72, 0x75, 0x6e, 0x74,\n 0x20, 0x6d, 0x6f, 0x6c, 0x6c, 0x69, 0x74, 0x20, 0x61, 0x6e, 0x69, 0x6d, 0x20,\n 0x69, 0x64, 0x20, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x75,\n 0x6d, 0x2e,\n]);\n\ndescribe(\"SendSignPersonalMessageTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const signature = {\n v: 27,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n };\n const resultOk = CommandResultFactory({\n data: Just(signature),\n });\n const resultNothing = CommandResultFactory({ data: Nothing });\n\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should send the message in chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: SEND_MESSAGE_HELLO_WORLD,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignPersonalMessageCommand({\n data: new Uint8Array(SEND_MESSAGE_HELLO_WORLD_DATA),\n isFirstChunk: true,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data).toStrictEqual(signature);\n });\n\n it(\"should send the message as byte arrays\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: SEND_MESSAGE_HELLO_WORLD_BYTES,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignPersonalMessageCommand({\n data: new Uint8Array(SEND_MESSAGE_HELLO_WORLD_DATA),\n isFirstChunk: true,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data).toStrictEqual(signature);\n });\n\n it(\"should send the long message in chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: MESSAGE_LONG,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(2);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignPersonalMessageCommand({\n data: MESSAGE_LONG_DATA.slice(0, 255),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SignPersonalMessageCommand({\n data: MESSAGE_LONG_DATA.slice(255, 510),\n isFirstChunk: false,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data).toStrictEqual(signature);\n });\n\n it(\"should return an error if the command fails\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: SEND_MESSAGE_HELLO_WORLD,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"An error\"),\n }),\n );\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"An error\"),\n }),\n );\n });\n\n it(\"should return an error if the command returns no data\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n message: SEND_MESSAGE_HELLO_WORLD,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignPersonalMessageTask(apiMock, args).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"no signature returned\"),\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,wBAAAA,MAA4B,kCACrC,OAAS,0BAAAC,MAA8B,kCACvC,OAAS,QAAAC,EAAM,WAAAC,MAAe,YAE9B,OAAS,8BAAAC,MAAkC,0DAC3C,OAAS,mCAAAC,MAAuC,oEAEhD,OAAS,+BAAAC,MAAmC,gCAE5C,MAAMC,EAA2B,gBAC3BC,EAAiC,IAAI,WAAW,CACpD,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,EAC1E,CAAC,EACKC,EAAgC,IAAI,WAAW,CACnD,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GACxE,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,EACpE,CAAC,EAEKC,EACJ,gcACIC,EAAoB,IAAI,WAAW,CACvC,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,GACxE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GACxE,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GACxE,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GACxE,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IACxE,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IACxE,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IACxE,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GACxE,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GACxE,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GACxE,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IACxE,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IACxE,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GACxE,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IACxE,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IACxE,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IACxE,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IACxE,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IACxE,IAAM,IAAM,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",
6
+ "names": ["CommandResultFactory", "InvalidStatusWordError", "Just", "Nothing", "SignPersonalMessageCommand", "makeDeviceActionInternalApiMock", "SendSignPersonalMessageTask", "SEND_MESSAGE_HELLO_WORLD", "SEND_MESSAGE_HELLO_WORLD_BYTES", "SEND_MESSAGE_HELLO_WORLD_DATA", "MESSAGE_LONG", "MESSAGE_LONG_DATA", "apiMock", "signature", "resultOk", "resultNothing", "args", "result"]
7
+ }
@@ -1,49 +1,2 @@
1
- import { APDU_MAX_PAYLOAD, ByteArrayBuilder, CommandResultFactory, InvalidStatusWordError, isSuccessCommandResult, } from "@ledgerhq/device-management-kit";
2
- import { Nothing } from "purify-ts";
3
- import { SignTransactionCommand, } from "../../app-binder/command/SignTransactionCommand";
4
- import { DerivationPathUtils } from "../../shared/utils/DerivationPathUtils";
5
- const PATH_SIZE = 4;
6
- export class SendSignTransactionTask {
7
- api;
8
- args;
9
- constructor(api, args) {
10
- this.api = api;
11
- this.args = args;
12
- }
13
- async run() {
14
- const { derivationPath, serializedTransaction } = this.args;
15
- const paths = DerivationPathUtils.splitPath(derivationPath);
16
- const builder = new ByteArrayBuilder(serializedTransaction.length + 1 + paths.length * PATH_SIZE);
17
- // add the derivation paths length
18
- builder.add8BitUIntToData(paths.length);
19
- // add every derivation path
20
- paths.forEach((path) => {
21
- builder.add32BitUIntToData(path);
22
- });
23
- // add the transaction
24
- builder.addBufferToData(serializedTransaction);
25
- const buffer = builder.build();
26
- let result = CommandResultFactory({
27
- data: Nothing,
28
- });
29
- // Split the buffer into chunks
30
- for (let i = 0; i < buffer.length; i += APDU_MAX_PAYLOAD) {
31
- result = await this.api.sendCommand(new SignTransactionCommand({
32
- serializedTransaction: buffer.slice(i, i + APDU_MAX_PAYLOAD),
33
- isFirstChunk: i === 0,
34
- }));
35
- if (!isSuccessCommandResult(result)) {
36
- return result;
37
- }
38
- }
39
- if (isSuccessCommandResult(result) && result.data.isJust()) {
40
- return CommandResultFactory({
41
- data: result.data.extract(),
42
- });
43
- }
44
- return CommandResultFactory({
45
- error: new InvalidStatusWordError("no signature returned"),
46
- });
47
- }
48
- }
49
- //# sourceMappingURL=SendSignTransactionTask.js.map
1
+ import{APDU_MAX_PAYLOAD as u,ByteArrayBuilder as g,CommandResultFactory as d,hexaStringToBuffer as y,InvalidStatusWordError as h,isSuccessCommandResult as p}from"@ledgerhq/device-management-kit";import{DerivationPathUtils as T}from"@ledgerhq/signer-utils";import{decodeRlp as A,encodeRlp as S}from"ethers-v6";import{Nothing as C}from"purify-ts";import{TransactionType as f}from"../../../api/model/Transaction";import{SignTransactionCommand as v}from"../../app-binder/command/SignTransactionCommand";import{StartTransactionCommand as I}from"../../app-binder/command/StartTransactionCommand";const U=4;class E{constructor(o,e){this.api=o;this.args=e}async run(){if(!this.args.isLegacy){const t=await this.api.sendCommand(new I);return p(t)?this.recoverSignature(t.data).mapOrDefault(s=>d({data:s}),d({error:new h("no signature returned")})):t}const{derivationPath:o,serializedTransaction:e}=this.args,r=T.splitPath(o),n=new g(e.length+1+r.length*U);n.add8BitUIntToData(r.length),r.forEach(t=>{n.add32BitUIntToData(t)});const i=n.build(),a=this.getChunks(i,e);let c=C;for(let t=0;t<a.length;t++){const s=await this.api.sendCommand(new v({serializedTransaction:a[t],isFirstChunk:t===0}));if(!p(s))return s;c=s.data}return this.recoverSignature(c).mapOrDefault(t=>d({data:t}),d({error:new h("no signature returned")}))}getChunks(o,e){const r=Uint8Array.from([...o,...e]);let n=u;if(r.length<=n)return[r];if(this.args.transactionType===f.LEGACY)try{const c=A(e);if(Array.isArray(c)){const t=c.slice(-3),s=S(t),l=y(s).subarray(1);for(n=u;n>o.length;n--){const m=r.length%n;if(m===0||m>l.length)break}}}catch{n=u}let i=0;const a=[];for(;i<r.length;)a.push(r.slice(i,i+n)),i+=n;return a}recoverSignature(o){return o.map(({v:e,r,s:n})=>{if(this.args.transactionType!==f.LEGACY)return{v:e,r,s:n};const i=4294967295;let a=this.args.chainId;for(;a>i;)a=a>>8;const t=a*2+35&255;return{v:(e==t?0:1)+this.args.chainId*2+35,r,s:n}})}}export{E as SendSignTransactionTask};
2
+ //# sourceMappingURL=SendSignTransactionTask.js.map