@ledgerhq/device-signer-kit-ethereum 0.0.0-signer-eth-plugin-fix-20250331141239 → 0.0.0-solana-signer-20251204160729

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 (839) hide show
  1. package/README.md +112 -1
  2. package/lib/cjs/api/SignerEth.js +1 -1
  3. package/lib/cjs/api/SignerEth.js.map +1 -1
  4. package/lib/cjs/api/SignerEthBuilder.js +1 -1
  5. package/lib/cjs/api/SignerEthBuilder.js.map +3 -3
  6. package/lib/cjs/api/SignerEthBuilder.test.js +1 -1
  7. package/lib/cjs/api/SignerEthBuilder.test.js.map +3 -3
  8. package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js +2 -0
  9. package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js.map +7 -0
  10. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  11. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
  12. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  13. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
  14. package/lib/cjs/api/app-binder/VerifySafeAddressDeviceActionTypes.js +2 -0
  15. package/lib/cjs/api/app-binder/VerifySafeAddressDeviceActionTypes.js.map +7 -0
  16. package/lib/cjs/api/index.js +1 -1
  17. package/lib/cjs/api/index.js.map +3 -3
  18. package/lib/cjs/api/model/AddressOptions.js +1 -1
  19. package/lib/cjs/api/model/AddressOptions.js.map +1 -1
  20. package/lib/cjs/api/model/ClearSigningType.js +2 -0
  21. package/lib/cjs/api/model/ClearSigningType.js.map +7 -0
  22. package/lib/cjs/api/model/MessageOptions.js +2 -0
  23. package/lib/cjs/api/model/MessageOptions.js.map +7 -0
  24. package/lib/cjs/api/model/SafeAddressOptions.js +2 -0
  25. package/lib/cjs/api/model/SafeAddressOptions.js.map +7 -0
  26. package/lib/cjs/api/model/TransactionOptions.js +1 -1
  27. package/lib/cjs/api/model/TransactionOptions.js.map +1 -1
  28. package/lib/cjs/api/model/TypedDataOptions.js +2 -0
  29. package/lib/cjs/api/model/TypedDataOptions.js.map +7 -0
  30. package/lib/cjs/internal/DefaultSignerEth.js +1 -1
  31. package/lib/cjs/internal/DefaultSignerEth.js.map +3 -3
  32. package/lib/cjs/internal/DefaultSignerEth.test.js +1 -1
  33. package/lib/cjs/internal/DefaultSignerEth.test.js.map +3 -3
  34. package/lib/cjs/internal/address/di/addressModule.js +1 -1
  35. package/lib/cjs/internal/address/di/addressModule.js.map +3 -3
  36. package/lib/cjs/internal/address/di/addressModule.test.js +1 -1
  37. package/lib/cjs/internal/address/di/addressModule.test.js.map +2 -2
  38. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js +1 -1
  39. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js.map +2 -2
  40. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  41. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  42. package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
  43. package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
  44. package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
  45. package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +3 -3
  46. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js +1 -1
  47. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js.map +2 -2
  48. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  49. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  50. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js +1 -1
  51. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js.map +2 -2
  52. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js +1 -1
  53. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +2 -2
  54. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js +1 -1
  55. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js.map +2 -2
  56. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
  57. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
  58. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js +1 -1
  59. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js.map +2 -2
  60. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
  61. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
  62. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
  63. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js.map +2 -2
  64. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js +1 -1
  65. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +3 -3
  66. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  67. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  68. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  69. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  70. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  71. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  72. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  73. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  74. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.js +2 -0
  75. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.js.map +7 -0
  76. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.test.js +2 -0
  77. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.test.js.map +7 -0
  78. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
  79. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js.map +2 -2
  80. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js +1 -1
  81. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +2 -2
  82. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
  83. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +2 -2
  84. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
  85. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
  86. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
  87. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +2 -2
  88. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
  89. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
  90. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
  91. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js.map +2 -2
  92. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js +1 -1
  93. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +3 -3
  94. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js +1 -1
  95. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +2 -2
  96. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +1 -1
  97. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +3 -3
  98. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  99. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  100. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  101. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  102. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
  103. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +2 -2
  104. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
  105. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +3 -3
  106. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
  107. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +2 -2
  108. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +1 -1
  109. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +3 -3
  110. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
  111. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js.map +2 -2
  112. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
  113. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
  114. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js +1 -1
  115. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js.map +2 -2
  116. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js +2 -2
  117. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
  118. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  119. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  120. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  121. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  122. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js +1 -1
  123. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js.map +3 -3
  124. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js +1 -1
  125. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
  126. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
  127. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js.map +2 -2
  128. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js +1 -1
  129. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +3 -3
  130. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js +1 -1
  131. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js.map +2 -2
  132. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  133. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +3 -3
  134. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js +1 -1
  135. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js.map +2 -2
  136. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  137. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
  138. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js +1 -1
  139. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js.map +2 -2
  140. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
  141. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
  142. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js +1 -1
  143. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js.map +2 -2
  144. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js +1 -1
  145. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +3 -3
  146. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  147. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  148. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  149. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  150. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  151. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  152. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  153. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  154. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js +2 -0
  155. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js.map +7 -0
  156. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js +2 -0
  157. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js.map +7 -0
  158. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  159. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  160. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js +2 -0
  161. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js.map +7 -0
  162. package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
  163. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
  164. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.js +2 -0
  165. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.js.map +7 -0
  166. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.test.js +2 -0
  167. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.test.js.map +7 -0
  168. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  169. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  170. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  171. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  172. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.js +2 -0
  173. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.js.map +7 -0
  174. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.test.js +2 -0
  175. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.test.js.map +7 -0
  176. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.js +2 -0
  177. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.js.map +7 -0
  178. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.test.js +2 -0
  179. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.test.js.map +7 -0
  180. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.js +2 -0
  181. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.js.map +7 -0
  182. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.test.js +2 -0
  183. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.test.js.map +7 -0
  184. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.js +2 -0
  185. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.js.map +7 -0
  186. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.test.js +2 -0
  187. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.test.js.map +7 -0
  188. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.js +2 -0
  189. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.js.map +7 -0
  190. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.test.js +2 -0
  191. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.test.js.map +7 -0
  192. package/lib/cjs/internal/app-binder/task/ProvideContextTask.js +2 -0
  193. package/lib/cjs/internal/app-binder/task/ProvideContextTask.js.map +7 -0
  194. package/lib/cjs/internal/app-binder/task/ProvideContextTask.test.js +2 -0
  195. package/lib/cjs/internal/app-binder/task/ProvideContextTask.test.js.map +7 -0
  196. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  197. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  198. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  199. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  200. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.js +2 -0
  201. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.js.map +7 -0
  202. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.test.js +2 -0
  203. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.test.js.map +7 -0
  204. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  205. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  206. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  207. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  208. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  209. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  210. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  211. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  212. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  213. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  214. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  215. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  216. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
  217. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
  218. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
  219. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
  220. package/lib/cjs/internal/di.js +1 -1
  221. package/lib/cjs/internal/di.js.map +3 -3
  222. package/lib/cjs/internal/eip7702/di/eip7702Module.js +2 -0
  223. package/lib/cjs/internal/eip7702/di/eip7702Module.js.map +7 -0
  224. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js +2 -0
  225. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  226. package/lib/cjs/internal/eip7702/di/eip7702Types.js +2 -0
  227. package/lib/cjs/internal/eip7702/di/eip7702Types.js.map +7 -0
  228. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  229. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  230. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  231. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  232. package/lib/cjs/internal/message/di/messageModule.js +1 -1
  233. package/lib/cjs/internal/message/di/messageModule.js.map +3 -3
  234. package/lib/cjs/internal/message/di/messageModule.test.js +1 -1
  235. package/lib/cjs/internal/message/di/messageModule.test.js.map +2 -2
  236. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js +1 -1
  237. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js.map +3 -3
  238. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  239. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  240. package/lib/cjs/internal/safe/di/safeModule.js +2 -0
  241. package/lib/cjs/internal/safe/di/safeModule.js.map +7 -0
  242. package/lib/cjs/internal/safe/di/safeModule.test.js +2 -0
  243. package/lib/cjs/internal/safe/di/safeModule.test.js.map +7 -0
  244. package/lib/cjs/internal/safe/di/safeTypes.js +2 -0
  245. package/lib/cjs/internal/safe/di/safeTypes.js.map +7 -0
  246. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.js +2 -0
  247. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.js.map +7 -0
  248. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.test.js +2 -0
  249. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.test.js.map +7 -0
  250. package/lib/cjs/internal/shared/utils/ApplicationChecker.js +1 -1
  251. package/lib/cjs/internal/shared/utils/ApplicationChecker.js.map +3 -3
  252. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js +1 -1
  253. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js.map +2 -2
  254. package/lib/cjs/internal/transaction/di/transactionModule.js +1 -1
  255. package/lib/cjs/internal/transaction/di/transactionModule.js.map +3 -3
  256. package/lib/cjs/internal/transaction/di/transactionModule.test.js +1 -1
  257. package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +2 -2
  258. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  259. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  260. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  261. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  262. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
  263. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +3 -3
  264. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
  265. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  266. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  267. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  268. package/lib/cjs/internal/typed-data/di/typedDataModule.js +1 -1
  269. package/lib/cjs/internal/typed-data/di/typedDataModule.js.map +3 -3
  270. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js +1 -1
  271. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js.map +2 -2
  272. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
  273. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
  274. package/lib/cjs/internal/typed-data/service/TypedDataParser.js +1 -1
  275. package/lib/cjs/internal/typed-data/service/TypedDataParser.js.map +3 -3
  276. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js +1 -1
  277. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
  278. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
  279. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
  280. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  281. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  282. package/lib/cjs/package.json +43 -40
  283. package/lib/esm/api/SignerEthBuilder.js +1 -1
  284. package/lib/esm/api/SignerEthBuilder.js.map +3 -3
  285. package/lib/esm/api/SignerEthBuilder.test.js +1 -1
  286. package/lib/esm/api/SignerEthBuilder.test.js.map +3 -3
  287. package/lib/esm/api/app-binder/SignDelegationAuthorizationTypes.js +1 -0
  288. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  289. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
  290. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  291. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
  292. package/lib/esm/api/app-binder/VerifySafeAddressDeviceActionTypes.js +2 -0
  293. package/lib/esm/api/app-binder/VerifySafeAddressDeviceActionTypes.js.map +7 -0
  294. package/lib/esm/api/index.js +1 -1
  295. package/lib/esm/api/index.js.map +2 -2
  296. package/lib/esm/api/model/ClearSigningType.js +2 -0
  297. package/lib/esm/api/model/ClearSigningType.js.map +7 -0
  298. package/lib/esm/api/model/MessageOptions.js +1 -0
  299. package/lib/esm/api/model/MessageOptions.js.map +7 -0
  300. package/lib/esm/api/model/SafeAddressOptions.js +1 -0
  301. package/lib/esm/api/model/SafeAddressOptions.js.map +7 -0
  302. package/lib/esm/api/model/TypedDataOptions.js +1 -0
  303. package/lib/esm/api/model/TypedDataOptions.js.map +7 -0
  304. package/lib/esm/internal/DefaultSignerEth.js +1 -1
  305. package/lib/esm/internal/DefaultSignerEth.js.map +3 -3
  306. package/lib/esm/internal/DefaultSignerEth.test.js +1 -1
  307. package/lib/esm/internal/DefaultSignerEth.test.js.map +3 -3
  308. package/lib/esm/internal/address/di/addressModule.js +1 -1
  309. package/lib/esm/internal/address/di/addressModule.js.map +3 -3
  310. package/lib/esm/internal/address/di/addressModule.test.js +1 -1
  311. package/lib/esm/internal/address/di/addressModule.test.js.map +2 -2
  312. package/lib/esm/internal/address/use-case/GetAddressUseCase.js +1 -1
  313. package/lib/esm/internal/address/use-case/GetAddressUseCase.js.map +2 -2
  314. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  315. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  316. package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
  317. package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
  318. package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
  319. package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +3 -3
  320. package/lib/esm/internal/app-binder/command/GetAddressCommand.js +1 -1
  321. package/lib/esm/internal/app-binder/command/GetAddressCommand.js.map +2 -2
  322. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  323. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  324. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js +1 -1
  325. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js.map +2 -2
  326. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js +1 -1
  327. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +2 -2
  328. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js +1 -1
  329. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js.map +2 -2
  330. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
  331. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
  332. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js +1 -1
  333. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js.map +2 -2
  334. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
  335. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
  336. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
  337. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js.map +2 -2
  338. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js +1 -1
  339. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +3 -3
  340. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  341. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  342. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  343. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  344. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  345. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  346. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  347. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  348. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.js +2 -0
  349. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.js.map +7 -0
  350. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.test.js +2 -0
  351. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.test.js.map +7 -0
  352. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
  353. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js.map +2 -2
  354. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js +1 -1
  355. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +2 -2
  356. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
  357. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +2 -2
  358. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
  359. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
  360. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
  361. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +2 -2
  362. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
  363. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
  364. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
  365. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js.map +2 -2
  366. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js +1 -1
  367. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +3 -3
  368. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js +1 -1
  369. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +2 -2
  370. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +1 -1
  371. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +3 -3
  372. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  373. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  374. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  375. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  376. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
  377. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +2 -2
  378. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
  379. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +3 -3
  380. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
  381. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +2 -2
  382. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +1 -1
  383. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +3 -3
  384. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
  385. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js.map +2 -2
  386. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
  387. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
  388. package/lib/esm/internal/app-binder/command/SetPluginCommand.js +1 -1
  389. package/lib/esm/internal/app-binder/command/SetPluginCommand.js.map +2 -2
  390. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js +2 -2
  391. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
  392. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  393. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  394. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  395. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  396. package/lib/esm/internal/app-binder/command/SignEIP712Command.js +1 -1
  397. package/lib/esm/internal/app-binder/command/SignEIP712Command.js.map +2 -2
  398. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js +1 -1
  399. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
  400. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
  401. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js.map +2 -2
  402. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js +1 -1
  403. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +3 -3
  404. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js +1 -1
  405. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js.map +2 -2
  406. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  407. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +3 -3
  408. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js +1 -1
  409. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js.map +2 -2
  410. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  411. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
  412. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js +1 -1
  413. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js.map +2 -2
  414. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
  415. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
  416. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js +1 -1
  417. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js.map +2 -2
  418. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js +1 -1
  419. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +3 -3
  420. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  421. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  422. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  423. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  424. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  425. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  426. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  427. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  428. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js +2 -0
  429. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js.map +7 -0
  430. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js +2 -0
  431. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js.map +7 -0
  432. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  433. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  434. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js +2 -0
  435. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js.map +7 -0
  436. package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
  437. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
  438. package/lib/esm/internal/app-binder/task/BuildBaseContexts.js +2 -0
  439. package/lib/esm/internal/app-binder/task/BuildBaseContexts.js.map +7 -0
  440. package/lib/esm/internal/app-binder/task/BuildBaseContexts.test.js +2 -0
  441. package/lib/esm/internal/app-binder/task/BuildBaseContexts.test.js.map +7 -0
  442. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  443. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  444. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  445. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  446. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.js +2 -0
  447. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.js.map +7 -0
  448. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.test.js +2 -0
  449. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.test.js.map +7 -0
  450. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.js +2 -0
  451. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.js.map +7 -0
  452. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.test.js +2 -0
  453. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.test.js.map +7 -0
  454. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.js +2 -0
  455. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.js.map +7 -0
  456. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.test.js +2 -0
  457. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.test.js.map +7 -0
  458. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.js +2 -0
  459. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.js.map +7 -0
  460. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.test.js +2 -0
  461. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.test.js.map +7 -0
  462. package/lib/esm/internal/app-binder/task/ParseTransactionTask.js +2 -0
  463. package/lib/esm/internal/app-binder/task/ParseTransactionTask.js.map +7 -0
  464. package/lib/esm/internal/app-binder/task/ParseTransactionTask.test.js +2 -0
  465. package/lib/esm/internal/app-binder/task/ParseTransactionTask.test.js.map +7 -0
  466. package/lib/esm/internal/app-binder/task/ProvideContextTask.js +2 -0
  467. package/lib/esm/internal/app-binder/task/ProvideContextTask.js.map +7 -0
  468. package/lib/esm/internal/app-binder/task/ProvideContextTask.test.js +2 -0
  469. package/lib/esm/internal/app-binder/task/ProvideContextTask.test.js.map +7 -0
  470. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  471. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  472. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  473. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  474. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.js +2 -0
  475. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.js.map +7 -0
  476. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.test.js +2 -0
  477. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.test.js.map +7 -0
  478. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  479. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  480. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  481. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  482. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  483. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  484. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  485. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  486. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  487. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  488. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  489. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  490. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
  491. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
  492. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
  493. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
  494. package/lib/esm/internal/di.js +1 -1
  495. package/lib/esm/internal/di.js.map +3 -3
  496. package/lib/esm/internal/eip7702/di/eip7702Module.js +2 -0
  497. package/lib/esm/internal/eip7702/di/eip7702Module.js.map +7 -0
  498. package/lib/esm/internal/eip7702/di/eip7702Module.test.js +2 -0
  499. package/lib/esm/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  500. package/lib/esm/internal/eip7702/di/eip7702Types.js +2 -0
  501. package/lib/esm/internal/eip7702/di/eip7702Types.js.map +7 -0
  502. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  503. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  504. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  505. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  506. package/lib/esm/internal/message/di/messageModule.js +1 -1
  507. package/lib/esm/internal/message/di/messageModule.js.map +3 -3
  508. package/lib/esm/internal/message/di/messageModule.test.js +1 -1
  509. package/lib/esm/internal/message/di/messageModule.test.js.map +2 -2
  510. package/lib/esm/internal/message/use-case/SignMessageUseCase.js +1 -1
  511. package/lib/esm/internal/message/use-case/SignMessageUseCase.js.map +3 -3
  512. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  513. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  514. package/lib/esm/internal/safe/di/safeModule.js +2 -0
  515. package/lib/esm/internal/safe/di/safeModule.js.map +7 -0
  516. package/lib/esm/internal/safe/di/safeModule.test.js +2 -0
  517. package/lib/esm/internal/safe/di/safeModule.test.js.map +7 -0
  518. package/lib/esm/internal/safe/di/safeTypes.js +2 -0
  519. package/lib/esm/internal/safe/di/safeTypes.js.map +7 -0
  520. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.js +2 -0
  521. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.js.map +7 -0
  522. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.test.js +2 -0
  523. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.test.js.map +7 -0
  524. package/lib/esm/internal/shared/utils/ApplicationChecker.js +1 -1
  525. package/lib/esm/internal/shared/utils/ApplicationChecker.js.map +3 -3
  526. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js +1 -1
  527. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js.map +2 -2
  528. package/lib/esm/internal/transaction/di/transactionModule.js +1 -1
  529. package/lib/esm/internal/transaction/di/transactionModule.js.map +3 -3
  530. package/lib/esm/internal/transaction/di/transactionModule.test.js +1 -1
  531. package/lib/esm/internal/transaction/di/transactionModule.test.js.map +2 -2
  532. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  533. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  534. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  535. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  536. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +0 -1
  537. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +4 -4
  538. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
  539. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  540. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  541. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  542. package/lib/esm/internal/typed-data/di/typedDataModule.js +1 -1
  543. package/lib/esm/internal/typed-data/di/typedDataModule.js.map +3 -3
  544. package/lib/esm/internal/typed-data/di/typedDataModule.test.js +1 -1
  545. package/lib/esm/internal/typed-data/di/typedDataModule.test.js.map +2 -2
  546. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
  547. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
  548. package/lib/esm/internal/typed-data/service/TypedDataParser.js +1 -1
  549. package/lib/esm/internal/typed-data/service/TypedDataParser.js.map +3 -3
  550. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js +1 -1
  551. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
  552. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
  553. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
  554. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  555. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  556. package/lib/esm/package.json +43 -40
  557. package/lib/types/api/SignerEth.d.ts +11 -4
  558. package/lib/types/api/SignerEth.d.ts.map +1 -1
  559. package/lib/types/api/SignerEthBuilder.d.ts +4 -2
  560. package/lib/types/api/SignerEthBuilder.d.ts.map +1 -1
  561. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts +19 -0
  562. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts.map +1 -0
  563. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +18 -12
  564. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  565. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +13 -1
  566. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
  567. package/lib/types/api/app-binder/VerifySafeAddressDeviceActionTypes.d.ts +30 -0
  568. package/lib/types/api/app-binder/VerifySafeAddressDeviceActionTypes.d.ts.map +1 -0
  569. package/lib/types/api/index.d.ts +5 -4
  570. package/lib/types/api/index.d.ts.map +1 -1
  571. package/lib/types/api/model/AddressOptions.d.ts +1 -0
  572. package/lib/types/api/model/AddressOptions.d.ts.map +1 -1
  573. package/lib/types/api/model/ClearSigningType.d.ts +5 -0
  574. package/lib/types/api/model/ClearSigningType.d.ts.map +1 -0
  575. package/lib/types/api/model/MessageOptions.d.ts +4 -0
  576. package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
  577. package/lib/types/api/model/SafeAddressOptions.d.ts +5 -0
  578. package/lib/types/api/model/SafeAddressOptions.d.ts.map +1 -0
  579. package/lib/types/api/model/TransactionOptions.d.ts +1 -0
  580. package/lib/types/api/model/TransactionOptions.d.ts.map +1 -1
  581. package/lib/types/api/model/TypedDataOptions.d.ts +4 -0
  582. package/lib/types/api/model/TypedDataOptions.d.ts.map +1 -0
  583. package/lib/types/internal/DefaultSignerEth.d.ts +10 -3
  584. package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
  585. package/lib/types/internal/address/di/addressModule.d.ts.map +1 -1
  586. package/lib/types/internal/address/use-case/GetAddressUseCase.d.ts.map +1 -1
  587. package/lib/types/internal/app-binder/EthAppBinder.d.ts +19 -3
  588. package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
  589. package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts +1 -0
  590. package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts.map +1 -1
  591. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts +1 -0
  592. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts.map +1 -1
  593. package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts +1 -0
  594. package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts.map +1 -1
  595. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts +1 -0
  596. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts.map +1 -1
  597. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +1 -0
  598. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +1 -1
  599. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts +29 -0
  600. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts.map +1 -0
  601. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts +2 -0
  602. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts.map +1 -0
  603. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts +21 -0
  604. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts.map +1 -0
  605. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts +2 -0
  606. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts.map +1 -0
  607. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.d.ts +35 -0
  608. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.d.ts.map +1 -0
  609. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.test.d.ts +2 -0
  610. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.test.d.ts.map +1 -0
  611. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +1 -0
  612. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +1 -1
  613. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts +1 -0
  614. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts.map +1 -1
  615. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts +1 -0
  616. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts.map +1 -1
  617. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts +1 -0
  618. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts.map +1 -1
  619. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts +1 -0
  620. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts.map +1 -1
  621. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +30 -1
  622. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -1
  623. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +1 -0
  624. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +1 -1
  625. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +1 -0
  626. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +1 -1
  627. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts +1 -0
  628. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +1 -1
  629. package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts +1 -0
  630. package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts.map +1 -1
  631. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts +30 -0
  632. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts.map +1 -0
  633. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts +2 -0
  634. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts.map +1 -0
  635. package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts +1 -0
  636. package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts.map +1 -1
  637. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts +1 -0
  638. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +1 -1
  639. package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts +1 -0
  640. package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts.map +1 -1
  641. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts +1 -0
  642. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts.map +1 -1
  643. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts +1 -0
  644. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts.map +1 -1
  645. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts +1 -0
  646. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts.map +1 -1
  647. package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts.map +1 -1
  648. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +19 -36
  649. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
  650. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +10 -2
  651. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
  652. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.d.ts +20 -0
  653. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.d.ts.map +1 -0
  654. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.d.ts +2 -0
  655. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.d.ts.map +1 -0
  656. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  657. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  658. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.d.ts +6 -0
  659. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.d.ts.map +1 -0
  660. package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
  661. package/lib/types/internal/app-binder/task/BuildBaseContexts.d.ts +47 -0
  662. package/lib/types/internal/app-binder/task/BuildBaseContexts.d.ts.map +1 -0
  663. package/lib/types/internal/app-binder/task/BuildBaseContexts.test.d.ts +2 -0
  664. package/lib/types/internal/app-binder/task/BuildBaseContexts.test.d.ts.map +1 -0
  665. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts +10 -3
  666. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
  667. package/lib/types/internal/app-binder/task/BuildFullContextsTask.d.ts +39 -0
  668. package/lib/types/internal/app-binder/task/BuildFullContextsTask.d.ts.map +1 -0
  669. package/lib/types/internal/app-binder/task/BuildFullContextsTask.test.d.ts +2 -0
  670. package/lib/types/internal/app-binder/task/BuildFullContextsTask.test.d.ts.map +1 -0
  671. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.d.ts +19 -0
  672. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.d.ts.map +1 -0
  673. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.test.d.ts +2 -0
  674. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.test.d.ts.map +1 -0
  675. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.d.ts +28 -0
  676. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.d.ts.map +1 -0
  677. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.test.d.ts +2 -0
  678. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.test.d.ts.map +1 -0
  679. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.d.ts +21 -0
  680. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.d.ts.map +1 -0
  681. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.test.d.ts +2 -0
  682. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.test.d.ts.map +1 -0
  683. package/lib/types/internal/app-binder/task/ParseTransactionTask.d.ts +17 -0
  684. package/lib/types/internal/app-binder/task/ParseTransactionTask.d.ts.map +1 -0
  685. package/lib/types/internal/app-binder/task/ParseTransactionTask.test.d.ts +2 -0
  686. package/lib/types/internal/app-binder/task/ParseTransactionTask.test.d.ts.map +1 -0
  687. package/lib/types/internal/app-binder/task/ProvideContextTask.d.ts +22 -0
  688. package/lib/types/internal/app-binder/task/ProvideContextTask.d.ts.map +1 -0
  689. package/lib/types/internal/app-binder/task/ProvideContextTask.test.d.ts +2 -0
  690. package/lib/types/internal/app-binder/task/ProvideContextTask.test.d.ts.map +1 -0
  691. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +16 -7
  692. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
  693. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.d.ts +36 -0
  694. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.d.ts.map +1 -0
  695. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.test.d.ts +2 -0
  696. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.test.d.ts.map +1 -0
  697. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +2 -2
  698. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -1
  699. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts +18 -0
  700. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts.map +1 -0
  701. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts +2 -0
  702. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts.map +1 -0
  703. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +2 -1
  704. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -1
  705. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts +12 -0
  706. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts.map +1 -0
  707. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts +2 -0
  708. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts.map +1 -0
  709. package/lib/types/internal/di.d.ts.map +1 -1
  710. package/lib/types/internal/eip7702/di/eip7702Module.d.ts +3 -0
  711. package/lib/types/internal/eip7702/di/eip7702Module.d.ts.map +1 -0
  712. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts +2 -0
  713. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts.map +1 -0
  714. package/lib/types/internal/eip7702/di/eip7702Types.d.ts +4 -0
  715. package/lib/types/internal/eip7702/di/eip7702Types.d.ts.map +1 -0
  716. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts +8 -0
  717. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts.map +1 -0
  718. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts +2 -0
  719. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts.map +1 -0
  720. package/lib/types/internal/message/di/messageModule.d.ts.map +1 -1
  721. package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts +2 -1
  722. package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts.map +1 -1
  723. package/lib/types/internal/safe/di/safeModule.d.ts +3 -0
  724. package/lib/types/internal/safe/di/safeModule.d.ts.map +1 -0
  725. package/lib/types/internal/safe/di/safeModule.test.d.ts +2 -0
  726. package/lib/types/internal/safe/di/safeModule.test.d.ts.map +1 -0
  727. package/lib/types/internal/safe/di/safeTypes.d.ts +4 -0
  728. package/lib/types/internal/safe/di/safeTypes.d.ts.map +1 -0
  729. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.d.ts +9 -0
  730. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.d.ts.map +1 -0
  731. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.test.d.ts +2 -0
  732. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.test.d.ts.map +1 -0
  733. package/lib/types/internal/shared/utils/ApplicationChecker.d.ts.map +1 -1
  734. package/lib/types/internal/transaction/di/transactionModule.d.ts.map +1 -1
  735. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts +8 -0
  736. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts.map +1 -0
  737. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts +2 -0
  738. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts.map +1 -0
  739. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts +4 -7
  740. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -1
  741. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts +2 -2
  742. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -1
  743. package/lib/types/internal/typed-data/di/typedDataModule.d.ts.map +1 -1
  744. package/lib/types/internal/typed-data/service/TypedDataParser.d.ts +4 -2
  745. package/lib/types/internal/typed-data/service/TypedDataParser.d.ts.map +1 -1
  746. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts +2 -1
  747. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts.map +1 -1
  748. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  749. package/package.json +41 -38
  750. package/lib/cjs/internal/app-binder/constant/plugins.js +0 -2
  751. package/lib/cjs/internal/app-binder/constant/plugins.js.map +0 -7
  752. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +0 -2
  753. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +0 -7
  754. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +0 -2
  755. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +0 -7
  756. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js +0 -2
  757. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js.map +0 -7
  758. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js +0 -2
  759. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js.map +0 -7
  760. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +0 -2
  761. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +0 -7
  762. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +0 -2
  763. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +0 -7
  764. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  765. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  766. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  767. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  768. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  769. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  770. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  771. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  772. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  773. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  774. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  775. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  776. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +0 -2
  777. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +0 -7
  778. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  779. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  780. package/lib/esm/internal/app-binder/constant/plugins.js +0 -2
  781. package/lib/esm/internal/app-binder/constant/plugins.js.map +0 -7
  782. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +0 -2
  783. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +0 -7
  784. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +0 -2
  785. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +0 -7
  786. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js +0 -2
  787. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js.map +0 -7
  788. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js +0 -2
  789. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js.map +0 -7
  790. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +0 -2
  791. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +0 -7
  792. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +0 -2
  793. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +0 -7
  794. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  795. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  796. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  797. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  798. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  799. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  800. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  801. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  802. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  803. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  804. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  805. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  806. package/lib/esm/internal/transaction/service/mapper/TransactionMapper.js +0 -1
  807. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  808. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  809. package/lib/types/internal/app-binder/constant/plugins.d.ts +0 -2
  810. package/lib/types/internal/app-binder/constant/plugins.d.ts.map +0 -1
  811. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +0 -32
  812. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +0 -1
  813. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts +0 -2
  814. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts.map +0 -1
  815. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts +0 -30
  816. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts.map +0 -1
  817. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts +0 -2
  818. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts.map +0 -1
  819. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +0 -38
  820. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +0 -1
  821. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts +0 -2
  822. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts.map +0 -1
  823. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +0 -80
  824. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +0 -1
  825. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts +0 -2
  826. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts.map +0 -1
  827. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +0 -28
  828. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +0 -1
  829. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts +0 -2
  830. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts.map +0 -1
  831. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts +0 -7
  832. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts.map +0 -1
  833. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts +0 -2
  834. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts.map +0 -1
  835. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -6
  836. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
  837. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts +0 -2
  838. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts.map +0 -1
  839. /package/lib/esm/{internal/transaction/service/mapper/TransactionMapper.js.map → api/app-binder/SignDelegationAuthorizationTypes.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";var a=require("@ledgerhq/device-management-kit"),n=require("@ledgerhq/device-management-kit"),o=require("purify-ts"),t=require("../../app-binder/command/SignAuthorizationDelegationCommand"),l=require("../../app-binder/device-action/__test-utils__/makeInternalApi"),d=require("./SendSignAuthorizationDelegationTask");const f=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,45,0,1,1,1,20,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,2,8,0,0,0,0,0,0,0,1,3,8,0,0,0,0,0,0,0,41]),m=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,1,9,0,1,1,1,240,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,76,210,65,232,209,81,14,48,178,7,99,151,175,199,80,138,229,156,102,201,2,8,0,0,0,0,0,0,0,1,3,8,0,0,0,0,0,0,0,41]);describe("SendSignAuthorizationDelegationTask",()=>{const x=(0,l.makeDeviceActionInternalApiMock)(),r={v:27,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"},i=(0,a.CommandResultFactory)({data:(0,o.Just)(r)}),s=(0,a.CommandResultFactory)({data:o.Nothing});beforeEach(()=>{vi.resetAllMocks()}),describe("run",()=>{it("should send the message in chunks",async()=>{const e={derivationPath:"44'/60'/0'/0/0",address:"0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9",chainId:1,nonce:41};x.sendCommand.mockResolvedValueOnce(i),x.sendCommand.mockResolvedValueOnce(s);const c=await new d.SendSignAuthorizationDelegationTask(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new t.SignEIP7702AuthorizationCommand({data:new Uint8Array(f),isFirstChunk:!0})),expect(c.data).toStrictEqual(r)}),it("should send the long message in chunks",async()=>{const e={derivationPath:"44'/60'/0'/0/0",address:"0x4Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c9",chainId:1,nonce:41};x.sendCommand.mockResolvedValueOnce(s),x.sendCommand.mockResolvedValueOnce(i);const c=await new d.SendSignAuthorizationDelegationTask(x,e).run();expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new t.SignEIP7702AuthorizationCommand({data:m.slice(0,255),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new t.SignEIP7702AuthorizationCommand({data:m.slice(255,510),isFirstChunk:!1})),expect(c.data).toStrictEqual(r)}),it("should return an error if the command fails",async()=>{const e={derivationPath:"44'/60'/0'/0/0",address:"0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9",chainId:1,nonce:41};x.sendCommand.mockResolvedValueOnce((0,a.CommandResultFactory)({error:new n.InvalidStatusWordError("An error")}));const c=await new d.SendSignAuthorizationDelegationTask(x,e).run();expect(c).toStrictEqual((0,a.CommandResultFactory)({error:new n.InvalidStatusWordError("An error")}))}),it("should return an error if the command returns no data",async()=>{const e={derivationPath:"44'/60'/0'/0/0",address:"0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9",chainId:1,nonce:41};x.sendCommand.mockResolvedValueOnce(s);const c=await new d.SendSignAuthorizationDelegationTask(x,e).run();expect(c).toStrictEqual((0,a.CommandResultFactory)({error:new n.InvalidStatusWordError("no signature returned")}))})})});
2
+ //# sourceMappingURL=SendSignAuthorizationDelegationTask.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SendSignAuthorizationDelegationTask.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 { SignEIP7702AuthorizationCommand } from \"@internal/app-binder/command/SignAuthorizationDelegationCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport { SendSignAuthorizationDelegationTask } from \"./SendSignAuthorizationDelegationTask\";\n\nconst SMALL_MESSAGE_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, 0x2d, 0x00, 0x01, 0x01,\n 0x01, 0x14, 0x4c, 0xd2, 0x41, 0xe8, 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07, 0x63,\n 0x97, 0xaf, 0xc7, 0x50, 0x8a, 0xe5, 0x9c, 0x66, 0xc9, 0x02, 0x08, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x29,\n]);\n\nconst LONG_MESSAGE_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, 0x01, 0x09, 0x00, 0x01, 0x01,\n 0x01, 0xf0, 0x4c, 0xd2, 0x41, 0xe8, 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07, 0x63,\n 0x97, 0xaf, 0xc7, 0x50, 0x8a, 0xe5, 0x9c, 0x66, 0xc9, 0x4c, 0xd2, 0x41, 0xe8,\n 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07, 0x63, 0x97, 0xaf, 0xc7, 0x50, 0x8a, 0xe5,\n 0x9c, 0x66, 0xc9, 0x4c, 0xd2, 0x41, 0xe8, 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07,\n 0x63, 0x97, 0xaf, 0xc7, 0x50, 0x8a, 0xe5, 0x9c, 0x66, 0xc9, 0x4c, 0xd2, 0x41,\n 0xe8, 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07, 0x63, 0x97, 0xaf, 0xc7, 0x50, 0x8a,\n 0xe5, 0x9c, 0x66, 0xc9, 0x4c, 0xd2, 0x41, 0xe8, 0xd1, 0x51, 0x0e, 0x30, 0xb2,\n 0x07, 0x63, 0x97, 0xaf, 0xc7, 0x50, 0x8a, 0xe5, 0x9c, 0x66, 0xc9, 0x4c, 0xd2,\n 0x41, 0xe8, 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07, 0x63, 0x97, 0xaf, 0xc7, 0x50,\n 0x8a, 0xe5, 0x9c, 0x66, 0xc9, 0x4c, 0xd2, 0x41, 0xe8, 0xd1, 0x51, 0x0e, 0x30,\n 0xb2, 0x07, 0x63, 0x97, 0xaf, 0xc7, 0x50, 0x8a, 0xe5, 0x9c, 0x66, 0xc9, 0x4c,\n 0xd2, 0x41, 0xe8, 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07, 0x63, 0x97, 0xaf, 0xc7,\n 0x50, 0x8a, 0xe5, 0x9c, 0x66, 0xc9, 0x4c, 0xd2, 0x41, 0xe8, 0xd1, 0x51, 0x0e,\n 0x30, 0xb2, 0x07, 0x63, 0x97, 0xaf, 0xc7, 0x50, 0x8a, 0xe5, 0x9c, 0x66, 0xc9,\n 0x4c, 0xd2, 0x41, 0xe8, 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07, 0x63, 0x97, 0xaf,\n 0xc7, 0x50, 0x8a, 0xe5, 0x9c, 0x66, 0xc9, 0x4c, 0xd2, 0x41, 0xe8, 0xd1, 0x51,\n 0x0e, 0x30, 0xb2, 0x07, 0x63, 0x97, 0xaf, 0xc7, 0x50, 0x8a, 0xe5, 0x9c, 0x66,\n 0xc9, 0x4c, 0xd2, 0x41, 0xe8, 0xd1, 0x51, 0x0e, 0x30, 0xb2, 0x07, 0x63, 0x97,\n 0xaf, 0xc7, 0x50, 0x8a, 0xe5, 0x9c, 0x66, 0xc9, 0x02, 0x08, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x29,\n]);\n\ndescribe(\"SendSignAuthorizationDelegationTask\", () => {\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 vi.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 address: \"0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9\",\n chainId: 1,\n nonce: 41,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignAuthorizationDelegationTask(\n apiMock,\n args,\n ).run();\n\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(1);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignEIP7702AuthorizationCommand({\n data: new Uint8Array(SMALL_MESSAGE_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 address:\n \"0x4Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c94Cd241E8d1510e30b2076397afc7508Ae59C66c9\",\n chainId: 1,\n nonce: 41,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n\n // WHEN\n const result = await new SendSignAuthorizationDelegationTask(\n apiMock,\n args,\n ).run();\n\n // THEN\n expect(apiMock.sendCommand.mock.calls).toHaveLength(2);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignEIP7702AuthorizationCommand({\n data: LONG_MESSAGE_DATA.slice(0, 255),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SignEIP7702AuthorizationCommand({\n data: LONG_MESSAGE_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 address: \"0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9\",\n chainId: 1,\n nonce: 41,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"An error\"),\n }),\n );\n\n // WHEN\n const result = await new SendSignAuthorizationDelegationTask(\n apiMock,\n args,\n ).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 address: \"0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9\",\n chainId: 1,\n nonce: 41,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignAuthorizationDelegationTask(\n apiMock,\n args,\n ).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": "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",
6
+ "names": ["import_device_management_kit", "import_purify_ts", "import_SignAuthorizationDelegationCommand", "import_makeInternalApi", "import_SendSignAuthorizationDelegationTask", "SMALL_MESSAGE_DATA", "LONG_MESSAGE_DATA", "apiMock", "signature", "resultOk", "resultNothing", "args", "result"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var l=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var U=(o,n)=>{for(var i in n)l(o,i,{get:n[i],enumerable:!0})},v=(o,n,i,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of C(n))!I.call(o,t)&&t!==i&&l(o,t,{get:()=>n[t],enumerable:!(e=S(n,t))||e.enumerable});return o};var k=o=>v(l({},"__esModule",{value:!0}),o);var E={};U(E,{SendSignTransactionTask:()=>w});module.exports=k(E);var r=require("@ledgerhq/device-management-kit"),g=require("@ledgerhq/signer-utils"),m=require("ethers"),y=require("purify-ts"),h=require("../../../api/model/TransactionType"),T=require("../../app-binder/command/SignTransactionCommand"),A=require("../../app-binder/command/StartTransactionCommand");const R=4;class w{constructor(n,i){this.api=n;this.args=i}async run(){if(!this.args.isLegacy){const a=await this.api.sendCommand(new A.StartTransactionCommand);return(0,r.isSuccessCommandResult)(a)?this.recoverSignature(a.data).mapOrDefault(d=>(0,r.CommandResultFactory)({data:d}),(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("no signature returned")})):a}const{derivationPath:n,serializedTransaction:i}=this.args,e=g.DerivationPathUtils.splitPath(n),t=new r.ByteArrayBuilder(i.length+1+e.length*R);t.add8BitUIntToData(e.length),e.forEach(a=>{t.add32BitUIntToData(a)});const c=t.build(),s=this.getChunks(c,i);let u=y.Nothing;for(let a=0;a<s.length;a++){const d=await this.api.sendCommand(new T.SignTransactionCommand({serializedTransaction:s[a],isFirstChunk:a===0}));if(!(0,r.isSuccessCommandResult)(d))return d;u=d.data}return this.recoverSignature(u).mapOrDefault(a=>(0,r.CommandResultFactory)({data:a}),(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("no signature returned")}))}getChunks(n,i){const e=Uint8Array.from([...n,...i]);let t=r.APDU_MAX_PAYLOAD;if(e.length<=t)return[e];if(this.args.transactionType===h.TransactionType.LEGACY)try{const u=(0,m.decodeRlp)(i);if(Array.isArray(u)){const a=u.slice(-3),d=(0,m.encodeRlp)(a),p=(0,r.hexaStringToBuffer)(d).subarray(1);for(t=r.APDU_MAX_PAYLOAD;t>n.length;t--){const f=e.length%t;if(f===0||f>p.length)break}}}catch{t=r.APDU_MAX_PAYLOAD}let c=0;const s=[];for(;c<e.length;)s.push(e.slice(c,c+t)),c+=t;return s}recoverSignature(n){return n.map(({v:i,r:e,s:t})=>{if(this.args.transactionType!==h.TransactionType.LEGACY)return{v:i,r:e,s:t};const c=4294967295;let s=this.args.chainId;for(;s>c;)s=s>>8;const a=s*2+35&255;return{v:(i==a?0:1)+this.args.chainId*2+35,r:e,s:t}})}}0&&(module.exports={SendSignTransactionTask});
1
+ "use strict";var u=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var v=(o,n)=>{for(var i in n)u(o,i,{get:n[i],enumerable:!0})},k=(o,n,i,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of I(n))!U.call(o,r)&&r!==i&&u(o,r,{get:()=>n[r],enumerable:!(a=C(n,r))||a.enumerable});return o};var R=o=>k(u({},"__esModule",{value:!0}),o);var P={};v(P,{SendSignTransactionTask:()=>w});module.exports=R(P);var t=require("@ledgerhq/device-management-kit"),f=require("@ledgerhq/signer-utils"),p=require("ethers"),T=require("purify-ts"),y=require("../../../api/model/ClearSigningType"),l=require("../../../api/model/TransactionType"),S=require("../../app-binder/command/SignTransactionCommand"),A=require("../../app-binder/command/StartTransactionCommand");const E=4;class w{constructor(n,i){this.api=n;this.args=i}async run(){if(this.args.clearSigningType===y.ClearSigningType.EIP7730){const e=await this.api.sendCommand(new A.StartTransactionCommand);return(0,t.isSuccessCommandResult)(e)?this.recoverSignature(e.data).mapOrDefault(d=>(0,t.CommandResultFactory)({data:d}),(0,t.CommandResultFactory)({error:new t.InvalidStatusWordError("no signature returned")})):e}const{derivationPath:n,serializedTransaction:i}=this.args,a=f.DerivationPathUtils.splitPath(n),r=new t.ByteArrayBuilder(i.length+1+a.length*E);r.add8BitUIntToData(a.length),a.forEach(e=>{r.add32BitUIntToData(e)});const c=r.build(),s=this.getChunks(c,i);let m=T.Nothing;for(let e=0;e<s.length;e++){const d=await this.api.sendCommand(new S.SignTransactionCommand({serializedTransaction:s[e],isFirstChunk:e===0}));if(!(0,t.isSuccessCommandResult)(d))return d;m=d.data}return this.recoverSignature(m).mapOrDefault(e=>(0,t.CommandResultFactory)({data:e}),(0,t.CommandResultFactory)({error:new t.InvalidStatusWordError("no signature returned")}))}getChunks(n,i){const a=Uint8Array.from([...n,...i]);let r=t.APDU_MAX_PAYLOAD;if(a.length<=r)return[a];if(this.args.transactionType===l.TransactionType.LEGACY)try{const m=(0,p.decodeRlp)(i);if(Array.isArray(m)){const e=m.slice(-3),d=(0,p.encodeRlp)(e),g=(0,t.hexaStringToBuffer)(d).subarray(1);for(r=t.APDU_MAX_PAYLOAD;r>n.length;r--){const h=a.length%r;if(h===0||h>g.length)break}}}catch{r=t.APDU_MAX_PAYLOAD}let c=0;const s=[];for(;c<a.length;)s.push(a.slice(c,c+r)),c+=r;return s}recoverSignature(n){return n.map(({v:i,r:a,s:r})=>{if(this.args.transactionType!==l.TransactionType.LEGACY)return{v:i,r:a,s:r};const c=4294967295;let s=this.args.chainId;for(;s>c;)s=s>>8;const e=s*2+35&255;return{v:(i==e?0:1)+this.args.chainId*2+35,r:a,s:r}})}}0&&(module.exports={SendSignTransactionTask});
2
2
  //# sourceMappingURL=SendSignTransactionTask.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/SendSignTransactionTask.ts"],
4
- "sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type CommandResult,\n CommandResultFactory,\n hexaStringToBuffer,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\nimport { decodeRlp, encodeRlp } from \"ethers\";\nimport { Nothing } from \"purify-ts\";\n\nimport { type Signature } from \"@api/index\";\nimport { TransactionType } from \"@api/model/TransactionType\";\nimport {\n SignTransactionCommand,\n type SignTransactionCommandResponse,\n} from \"@internal/app-binder/command/SignTransactionCommand\";\nimport { StartTransactionCommand } from \"@internal/app-binder/command/StartTransactionCommand\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nconst PATH_SIZE = 4;\n\ntype SendSignTransactionTaskArgs = {\n derivationPath: string;\n serializedTransaction: Uint8Array;\n chainId: number;\n transactionType: TransactionType;\n isLegacy: boolean;\n};\n\nexport class SendSignTransactionTask {\n constructor(\n private api: InternalApi,\n private args: SendSignTransactionTaskArgs,\n ) {}\n\n async run(): Promise<CommandResult<Signature, EthErrorCodes>> {\n // For generic-parser transactions, the derivation path and transaction were previously sent\n if (!this.args.isLegacy) {\n const signature = await this.api.sendCommand(\n new StartTransactionCommand(),\n );\n if (!isSuccessCommandResult(signature)) {\n return signature;\n }\n return this.recoverSignature(signature.data).mapOrDefault(\n (data) => CommandResultFactory({ data }),\n CommandResultFactory({\n error: new InvalidStatusWordError(\"no signature returned\"),\n }),\n );\n }\n\n // For other transactions, add derivation path and transaction to the payload\n const { derivationPath, serializedTransaction } = this.args;\n const paths = DerivationPathUtils.splitPath(derivationPath);\n const builder = new ByteArrayBuilder(\n serializedTransaction.length + 1 + paths.length * 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 const derivations = builder.build();\n\n // Send chunks\n const chunks = this.getChunks(derivations, serializedTransaction);\n let resultData: SignTransactionCommandResponse = Nothing;\n for (let i = 0; i < chunks.length; i++) {\n const result = await this.api.sendCommand(\n new SignTransactionCommand({\n serializedTransaction: chunks[i]!,\n isFirstChunk: i === 0,\n }),\n );\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n resultData = result.data;\n }\n\n return this.recoverSignature(resultData).mapOrDefault(\n (data) => CommandResultFactory({ data }),\n CommandResultFactory({\n error: new InvalidStatusWordError(\"no signature returned\"),\n }),\n );\n }\n\n private getChunks(\n derivations: Uint8Array,\n serializedTransaction: Uint8Array,\n ): Uint8Array[] {\n const buffer = Uint8Array.from([...derivations, ...serializedTransaction]);\n\n // No chunking for small transactions\n let chunkSize = APDU_MAX_PAYLOAD;\n if (buffer.length <= chunkSize) {\n return [buffer];\n }\n\n // Since EIP-155, legacy transactions signature encode the chainId in V parity and\n // it has to be part of the hashed transaction:\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md\n //\n // A known issue is present in ethereum app for those transactions:\n // if the last chunk start at the EIP-155 marker (the chainId), then the app\n // will confuse it with a pre-eip155 transaction, and compute an invalid signature\n // before receiving the last chunk...\n // It cannot be fixed without breaking APDU backward compatibility.\n //\n // Therefore the client has to make sure the last chunk don't start on that marker.\n if (this.args.transactionType === TransactionType.LEGACY) {\n try {\n // Decode the RLP of the transaction and keep only the last 3 elements (v, r, s)\n const decodedRlp = decodeRlp(serializedTransaction);\n if (Array.isArray(decodedRlp)) {\n const decodedVrs = decodedRlp.slice(-3);\n // Encode those values back to RLP in order to get the length of this serialized list\n // Result should be something like [0xc0 + list payload length, list.map(rlp)]\n // since only v can be used to store the chainId in legacy transactions\n const encodedVrs = encodeRlp(decodedVrs);\n // Since chainIds are uint256, the list payload length can be 1B (v rlp description) + 32B (v) + 1B (r) + 1B (s) = 35B max (< 55B)\n // Therefore, the RLP of this vrs list should be prefixed by a value between [0xc1, 0xe3] (0xc0 + 35B = 0xe3 max)\n // @see https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/\n // `encodedVrs` is then everything but the first byte of this serialization\n const encodedVrsBuff = hexaStringToBuffer(encodedVrs)!.subarray(1);\n\n // Now we search for the biggest chunk value that won't chunk just before the v,r,s values.\n for (\n chunkSize = APDU_MAX_PAYLOAD;\n chunkSize > derivations.length;\n chunkSize--\n ) {\n const lastChunkSize = buffer.length % chunkSize;\n if (lastChunkSize === 0 || lastChunkSize > encodedVrsBuff.length) {\n break;\n }\n }\n }\n } catch (_error) {\n // fallback to \"standard\" APDU chunk size if the transaction cannot be decoded\n chunkSize = APDU_MAX_PAYLOAD;\n }\n }\n\n // Finally we can chunk the buffer\n let offset = 0;\n const chunks: Uint8Array[] = [];\n while (offset < buffer.length) {\n chunks.push(buffer.slice(offset, offset + chunkSize));\n offset += chunkSize;\n }\n return chunks;\n }\n\n private recoverSignature(\n data: SignTransactionCommandResponse,\n ): SignTransactionCommandResponse {\n return data.map(({ v, r, s }) => {\n if (this.args.transactionType !== TransactionType.LEGACY) {\n return { v, r, s };\n }\n\n // Legacy transactions after EIP-155 has a signature parity formatted as:\n // V = CHAIN_ID * 2 + 35 + {0,1}\n // where {0,1} is the parity\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md\n //\n // A known issue is present in ethereum app:\n // - chainId is encoded on 32 bits\n // - V is encoded on 8 bits\n // It means both can overflow for big chain IDs.\n //\n // That's why the client has to reconstruct it, to keep APDU backward compatibility\n // for main chain IDs.\n //\n // For more infos:\n // https://github.com/LedgerHQ/app-ethereum/blob/1.12.2/src_features/signTx/ui_common_signTx.c#L36\n // https://github.com/LedgerHQ/app-ethereum/blob/1.12.2/client/src/ledger_app_clients/ethereum/utils.py#L35\n\n // First truncate the chainId\n const MAX_UINT32 = 0xffffffff;\n let truncatedChainId = this.args.chainId;\n while (truncatedChainId > MAX_UINT32) {\n truncatedChainId = truncatedChainId >> 8;\n }\n\n // Then truncate the parity encoding\n const MAX_UINT8 = 0xff;\n const v0 = (truncatedChainId * 2 + 35) & MAX_UINT8;\n\n // Now reconstruct the full V\n const parity = v == v0 ? 0 : 1;\n const fullV = parity + this.args.chainId * 2 + 35;\n return { v: fullV, r, s };\n });\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["SendSignTransactionTask_exports", "__export", "SendSignTransactionTask", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_ethers", "import_purify_ts", "import_TransactionType", "import_SignTransactionCommand", "import_StartTransactionCommand", "PATH_SIZE", "api", "args", "signature", "data", "derivationPath", "serializedTransaction", "paths", "builder", "path", "derivations", "chunks", "resultData", "i", "result", "buffer", "chunkSize", "decodedRlp", "decodedVrs", "encodedVrs", "encodedVrsBuff", "lastChunkSize", "offset", "v", "r", "s", "MAX_UINT32", "truncatedChainId", "v0"]
4
+ "sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n ByteArrayBuilder,\n type CommandResult,\n CommandResultFactory,\n hexaStringToBuffer,\n type InternalApi,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { DerivationPathUtils } from \"@ledgerhq/signer-utils\";\nimport { decodeRlp, encodeRlp } from \"ethers\";\nimport { Nothing } from \"purify-ts\";\n\nimport { type Signature } from \"@api/index\";\nimport { ClearSigningType } from \"@api/model/ClearSigningType\";\nimport { TransactionType } from \"@api/model/TransactionType\";\nimport {\n SignTransactionCommand,\n type SignTransactionCommandResponse,\n} from \"@internal/app-binder/command/SignTransactionCommand\";\nimport { StartTransactionCommand } from \"@internal/app-binder/command/StartTransactionCommand\";\nimport { type EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nconst PATH_SIZE = 4;\n\ntype SendSignTransactionTaskArgs = {\n derivationPath: string;\n serializedTransaction: Uint8Array;\n chainId: number;\n transactionType: TransactionType;\n clearSigningType: ClearSigningType;\n};\n\nexport class SendSignTransactionTask {\n constructor(\n private api: InternalApi,\n private args: SendSignTransactionTaskArgs,\n ) {}\n\n async run(): Promise<CommandResult<Signature, EthErrorCodes>> {\n // For generic-parser transactions, the derivation path and transaction were previously sent\n if (this.args.clearSigningType === ClearSigningType.EIP7730) {\n const signature = await this.api.sendCommand(\n new StartTransactionCommand(),\n );\n if (!isSuccessCommandResult(signature)) {\n return signature;\n }\n return this.recoverSignature(signature.data).mapOrDefault(\n (data) => CommandResultFactory({ data }),\n CommandResultFactory({\n error: new InvalidStatusWordError(\"no signature returned\"),\n }),\n );\n }\n\n // For other transactions, add derivation path and transaction to the payload\n const { derivationPath, serializedTransaction } = this.args;\n const paths = DerivationPathUtils.splitPath(derivationPath);\n const builder = new ByteArrayBuilder(\n serializedTransaction.length + 1 + paths.length * 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 const derivations = builder.build();\n\n // Send chunks\n const chunks = this.getChunks(derivations, serializedTransaction);\n let resultData: SignTransactionCommandResponse = Nothing;\n for (let i = 0; i < chunks.length; i++) {\n const result = await this.api.sendCommand(\n new SignTransactionCommand({\n serializedTransaction: chunks[i]!,\n isFirstChunk: i === 0,\n }),\n );\n if (!isSuccessCommandResult(result)) {\n return result;\n }\n resultData = result.data;\n }\n\n return this.recoverSignature(resultData).mapOrDefault(\n (data) => CommandResultFactory({ data }),\n CommandResultFactory({\n error: new InvalidStatusWordError(\"no signature returned\"),\n }),\n );\n }\n\n private getChunks(\n derivations: Uint8Array,\n serializedTransaction: Uint8Array,\n ): Uint8Array[] {\n const buffer = Uint8Array.from([...derivations, ...serializedTransaction]);\n\n // No chunking for small transactions\n let chunkSize = APDU_MAX_PAYLOAD;\n if (buffer.length <= chunkSize) {\n return [buffer];\n }\n\n // Since EIP-155, legacy transactions signature encode the chainId in V parity and\n // it has to be part of the hashed transaction:\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md\n //\n // A known issue is present in ethereum app for those transactions:\n // if the last chunk start at the EIP-155 marker (the chainId), then the app\n // will confuse it with a pre-eip155 transaction, and compute an invalid signature\n // before receiving the last chunk...\n // It cannot be fixed without breaking APDU backward compatibility.\n //\n // Therefore the client has to make sure the last chunk don't start on that marker.\n if (this.args.transactionType === TransactionType.LEGACY) {\n try {\n // Decode the RLP of the transaction and keep only the last 3 elements (v, r, s)\n const decodedRlp = decodeRlp(serializedTransaction);\n if (Array.isArray(decodedRlp)) {\n const decodedVrs = decodedRlp.slice(-3);\n // Encode those values back to RLP in order to get the length of this serialized list\n // Result should be something like [0xc0 + list payload length, list.map(rlp)]\n // since only v can be used to store the chainId in legacy transactions\n const encodedVrs = encodeRlp(decodedVrs);\n // Since chainIds are uint256, the list payload length can be 1B (v rlp description) + 32B (v) + 1B (r) + 1B (s) = 35B max (< 55B)\n // Therefore, the RLP of this vrs list should be prefixed by a value between [0xc1, 0xe3] (0xc0 + 35B = 0xe3 max)\n // @see https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/\n // `encodedVrs` is then everything but the first byte of this serialization\n const encodedVrsBuff = hexaStringToBuffer(encodedVrs)!.subarray(1);\n\n // Now we search for the biggest chunk value that won't chunk just before the v,r,s values.\n for (\n chunkSize = APDU_MAX_PAYLOAD;\n chunkSize > derivations.length;\n chunkSize--\n ) {\n const lastChunkSize = buffer.length % chunkSize;\n if (lastChunkSize === 0 || lastChunkSize > encodedVrsBuff.length) {\n break;\n }\n }\n }\n } catch (_error) {\n // fallback to \"standard\" APDU chunk size if the transaction cannot be decoded\n chunkSize = APDU_MAX_PAYLOAD;\n }\n }\n\n // Finally we can chunk the buffer\n let offset = 0;\n const chunks: Uint8Array[] = [];\n while (offset < buffer.length) {\n chunks.push(buffer.slice(offset, offset + chunkSize));\n offset += chunkSize;\n }\n return chunks;\n }\n\n private recoverSignature(\n data: SignTransactionCommandResponse,\n ): SignTransactionCommandResponse {\n return data.map(({ v, r, s }) => {\n if (this.args.transactionType !== TransactionType.LEGACY) {\n return { v, r, s };\n }\n\n // Legacy transactions after EIP-155 has a signature parity formatted as:\n // V = CHAIN_ID * 2 + 35 + {0,1}\n // where {0,1} is the parity\n // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md\n //\n // A known issue is present in ethereum app:\n // - chainId is encoded on 32 bits\n // - V is encoded on 8 bits\n // It means both can overflow for big chain IDs.\n //\n // That's why the client has to reconstruct it, to keep APDU backward compatibility\n // for main chain IDs.\n //\n // For more infos:\n // https://github.com/LedgerHQ/app-ethereum/blob/1.12.2/src_features/signTx/ui_common_signTx.c#L36\n // https://github.com/LedgerHQ/app-ethereum/blob/1.12.2/client/src/ledger_app_clients/ethereum/utils.py#L35\n\n // First truncate the chainId\n const MAX_UINT32 = 0xffffffff;\n let truncatedChainId = this.args.chainId;\n while (truncatedChainId > MAX_UINT32) {\n truncatedChainId = truncatedChainId >> 8;\n }\n\n // Then truncate the parity encoding\n const MAX_UINT8 = 0xff;\n const v0 = (truncatedChainId * 2 + 35) & MAX_UINT8;\n\n // Now reconstruct the full V\n const parity = v == v0 ? 0 : 1;\n const fullV = parity + this.args.chainId * 2 + 35;\n return { v: fullV, r, s };\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["SendSignTransactionTask_exports", "__export", "SendSignTransactionTask", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_ethers", "import_purify_ts", "import_ClearSigningType", "import_TransactionType", "import_SignTransactionCommand", "import_StartTransactionCommand", "PATH_SIZE", "api", "args", "signature", "data", "derivationPath", "serializedTransaction", "paths", "builder", "path", "derivations", "chunks", "resultData", "i", "result", "buffer", "chunkSize", "decodedRlp", "decodedVrs", "encodedVrs", "encodedVrsBuff", "lastChunkSize", "offset", "v", "r", "s", "MAX_UINT32", "truncatedChainId", "v0"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@ledgerhq/device-management-kit"),p=require("ethers"),r=require("purify-ts"),s=require("../../app-binder/command/SignTransactionCommand"),y=require("../../app-binder/command/StartTransactionCommand"),w=require("../../app-binder/device-action/__test-utils__/makeInternalApi"),t=require("./SendSignTransactionTask");const o=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0]),c=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,248,107,130,6,126,132,87,25,19,31,131,1,16,104,148,218,193,127,149,141,46,229,35,162,32,98,6,153,69,151,193,61,131,30,199,128,184,68,169,5,156,187,0,0]),l=new Uint8Array([249,8,175,38,133,1,178,61,148,131,131,5,193,252,148,222,241,192,222,217,190,199,241,161,103,8,25,131,50,64,240,39,178,94,255,128,185,8,136,65,85,101,176,0,0,0,0,0,0,0,0,0,0,0,0,31,152,64,168,93,90,245,191,29,23,98,249,37,189,173,220,66,1,249,132,0,0,0,0,0,0,0,0,0,0,0,0,160,184,105,145,198,33,139,54,193,209,157,74,46,158,176,206,54,6,235,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,233,51,89,83,149,108,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,3,51,239,18,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,160,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,4,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,128,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,4,64,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,5,64,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,6,64,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,33,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,64,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,3,96,0,0,0,0,0,0,0,0,0]);describe("SendSignTransactionTask",()=>{const x=(0,w.makeDeviceActionInternalApiMock)(),m={v:27,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"},u=(0,e.CommandResultFactory)({data:(0,r.Just)(m)}),d=(0,e.CommandResultFactory)({data:r.Nothing});beforeEach(()=>{vi.resetAllMocks()}),describe("run",()=>{it("should send the transaction in one command",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:c,chainId:1,transactionType:1,isLegacy:!0};x.sendCommand.mockResolvedValueOnce(u);const a=await new t.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...o,...c]),isFirstChunk:!0})),expect(a.data).toStrictEqual(m)}),it("Generic-parser transaction should be signed without payload",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:c,chainId:1,transactionType:1,isLegacy:!1};x.sendCommand.mockResolvedValueOnce(u);const a=await new t.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new y.StartTransactionCommand),expect(a.data).toStrictEqual(m)}),it("should send the transaction in chunks",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:l,chainId:1,transactionType:1,isLegacy:!0};x.sendCommand.mockResolvedValueOnce(d),x.sendCommand.mockResolvedValueOnce(u);const a=await new t.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...o,...l]).slice(0,e.APDU_MAX_PAYLOAD),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...o,...l]).slice(e.APDU_MAX_PAYLOAD,e.APDU_MAX_PAYLOAD*2),isFirstChunk:!1})),expect(a.data).toStrictEqual(m)}),it.each([[458,127,254],[458,0x818181818181,254],[452,0x818181818181,251]])("should prevent chunking legacy transactions just before the [r,s,v] for dataSize %i, chainId %i",async(n,a,f)=>{const i=new p.Transaction;i.to="0x0123456789abcdef0123456789abcdef01234567",i.nonce=0,i.value=0n,i.gasLimit=1n,i.gasPrice=2n,i.data="0x"+new Array(n).fill("00").join(""),i.chainId=a,i.type=0;const b=(0,e.hexaStringToBuffer)(i.unsignedSerialized),g={derivationPath:"44'/60'/0'/0/0",serializedTransaction:b,chainId:a,transactionType:0,isLegacy:!0};x.sendCommand.mockResolvedValueOnce(d),x.sendCommand.mockResolvedValueOnce(d),x.sendCommand.mockResolvedValue(u),await new t.SendSignTransactionTask(x,g).run();const h=Uint8Array.from([...o,...b]);expect(x.sendCommand.mock.calls).toHaveLength(3),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:h.slice(0,f),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:h.slice(f,f*2),isFirstChunk:!1})),expect(x.sendCommand.mock.calls[2][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:h.slice(f*2),isFirstChunk:!1}))}),it("should return an error if the command fails",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:c,chainId:1,transactionType:1,isLegacy:!0};x.sendCommand.mockResolvedValueOnce(d);const a=await new t.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...o,...c]),isFirstChunk:!0})),expect(a.error).toStrictEqual(new e.InvalidStatusWordError("no signature returned"))}),it("should return an error if the generic-parser command fails",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:c,chainId:1,transactionType:1,isLegacy:!1};x.sendCommand.mockResolvedValueOnce(d);const a=await new t.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new y.StartTransactionCommand),expect(a.error).toStrictEqual(new e.InvalidStatusWordError("no signature returned"))}),it("should return an error if the command fails in the middle of the transaction",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:l,chainId:1,transactionType:1,isLegacy:!0};x.sendCommand.mockResolvedValueOnce(d),x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("An error")}));const a=await new t.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...o,...l]).slice(0,e.APDU_MAX_PAYLOAD),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...o,...l]).slice(e.APDU_MAX_PAYLOAD,e.APDU_MAX_PAYLOAD*2),isFirstChunk:!1})),expect(a.error).toStrictEqual(new e.InvalidStatusWordError("An error"))}),it("legacy transaction with small chainId",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:c,chainId:56,transactionType:0,isLegacy:!0};x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({data:(0,r.Just)({v:147,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"})}));const a=await new t.SendSignTransactionTask(x,n).run();expect(a.data.v).toStrictEqual(147)}),it("legacy transaction with small chainId with positive parity",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:c,chainId:56,transactionType:0,isLegacy:!0};x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({data:(0,r.Just)({v:148,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"})}));const a=await new t.SendSignTransactionTask(x,n).run();expect(a.data.v).toStrictEqual(148)}),it("legacy transaction with big chainId",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:c,chainId:11297108109,transactionType:0,isLegacy:!0};x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({data:(0,r.Just)({v:131,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"})}));const a=await new t.SendSignTransactionTask(x,n).run();expect(a.data.v).toStrictEqual(22594216253)}),it("legacy transaction with big chainId with positive parity",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:c,chainId:11297108109,transactionType:0,isLegacy:!0};x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({data:(0,r.Just)({v:132,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"})}));const a=await new t.SendSignTransactionTask(x,n).run();expect(a.data.v).toStrictEqual(22594216254)})})});
1
+ "use strict";var e=require("@ledgerhq/device-management-kit"),g=require("ethers"),o=require("purify-ts"),t=require("../../../api/model/ClearSigningType"),s=require("../../app-binder/command/SignTransactionCommand"),y=require("../../app-binder/command/StartTransactionCommand"),C=require("../../app-binder/device-action/__test-utils__/makeInternalApi"),c=require("./SendSignTransactionTask");const d=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0]),i=new Uint8Array([5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,248,107,130,6,126,132,87,25,19,31,131,1,16,104,148,218,193,127,149,141,46,229,35,162,32,98,6,153,69,151,193,61,131,30,199,128,184,68,169,5,156,187,0,0]),m=new Uint8Array([249,8,175,38,133,1,178,61,148,131,131,5,193,252,148,222,241,192,222,217,190,199,241,161,103,8,25,131,50,64,240,39,178,94,255,128,185,8,136,65,85,101,176,0,0,0,0,0,0,0,0,0,0,0,0,31,152,64,168,93,90,245,191,29,23,98,249,37,189,173,220,66,1,249,132,0,0,0,0,0,0,0,0,0,0,0,0,160,184,105,145,198,33,139,54,193,209,157,74,46,158,176,206,54,6,235,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,233,51,89,83,149,108,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,3,51,239,18,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,160,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,4,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,128,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,4,64,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,5,64,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,6,64,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,33,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,64,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,3,96,0,0,0,0,0,0,0,0,0]);describe("SendSignTransactionTask",()=>{const x=(0,C.makeDeviceActionInternalApiMock)(),u={v:27,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"},f=(0,e.CommandResultFactory)({data:(0,o.Just)(u)}),l=(0,e.CommandResultFactory)({data:o.Nothing});beforeEach(()=>{vi.resetAllMocks()}),describe("run",()=>{it("should send the transaction in one command",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:i,chainId:1,transactionType:1,clearSigningType:t.ClearSigningType.BASIC};x.sendCommand.mockResolvedValueOnce(f);const a=await new c.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...d,...i]),isFirstChunk:!0})),expect(a.data).toStrictEqual(u)}),it("Generic-parser transaction should be signed without payload",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:i,chainId:1,transactionType:1,clearSigningType:t.ClearSigningType.EIP7730};x.sendCommand.mockResolvedValueOnce(f);const a=await new c.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new y.StartTransactionCommand),expect(a.data).toStrictEqual(u)}),it("should send the transaction in chunks",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:m,chainId:1,transactionType:1,clearSigningType:t.ClearSigningType.BASIC};x.sendCommand.mockResolvedValueOnce(l),x.sendCommand.mockResolvedValueOnce(f);const a=await new c.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...d,...m]).slice(0,e.APDU_MAX_PAYLOAD),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...d,...m]).slice(e.APDU_MAX_PAYLOAD,e.APDU_MAX_PAYLOAD*2),isFirstChunk:!1})),expect(a.data).toStrictEqual(u)}),it.each([[458,127,254],[458,0x818181818181,254],[452,0x818181818181,251]])("should prevent chunking legacy transactions just before the [r,s,v] for dataSize %i, chainId %i",async(n,a,p)=>{const r=new g.Transaction;r.to="0x0123456789abcdef0123456789abcdef01234567",r.nonce=0,r.value=0n,r.gasLimit=1n,r.gasPrice=2n,r.data="0x"+new Array(n).fill("00").join(""),r.chainId=a,r.type=0;const b=(0,e.hexaStringToBuffer)(r.unsignedSerialized),T={derivationPath:"44'/60'/0'/0/0",serializedTransaction:b,chainId:a,transactionType:0,clearSigningType:t.ClearSigningType.BASIC};x.sendCommand.mockResolvedValueOnce(l),x.sendCommand.mockResolvedValueOnce(l),x.sendCommand.mockResolvedValue(f),await new c.SendSignTransactionTask(x,T).run();const h=Uint8Array.from([...d,...b]);expect(x.sendCommand.mock.calls).toHaveLength(3),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:h.slice(0,p),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:h.slice(p,p*2),isFirstChunk:!1})),expect(x.sendCommand.mock.calls[2][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:h.slice(p*2),isFirstChunk:!1}))}),it("should return an error if the command fails",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:i,chainId:1,transactionType:1,clearSigningType:t.ClearSigningType.BASIC};x.sendCommand.mockResolvedValueOnce(l);const a=await new c.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...d,...i]),isFirstChunk:!0})),expect(a.error).toStrictEqual(new e.InvalidStatusWordError("no signature returned"))}),it("should return an error if the generic-parser command fails",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:i,chainId:1,transactionType:1,clearSigningType:t.ClearSigningType.EIP7730};x.sendCommand.mockResolvedValueOnce(l);const a=await new c.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(1),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new y.StartTransactionCommand),expect(a.error).toStrictEqual(new e.InvalidStatusWordError("no signature returned"))}),it("should return an error if the command fails in the middle of the transaction",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:m,chainId:1,transactionType:1,clearSigningType:t.ClearSigningType.BASIC};x.sendCommand.mockResolvedValueOnce(l),x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({error:new e.InvalidStatusWordError("An error")}));const a=await new c.SendSignTransactionTask(x,n).run();expect(x.sendCommand.mock.calls).toHaveLength(2),expect(x.sendCommand.mock.calls[0][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...d,...m]).slice(0,e.APDU_MAX_PAYLOAD),isFirstChunk:!0})),expect(x.sendCommand.mock.calls[1][0]).toStrictEqual(new s.SignTransactionCommand({serializedTransaction:new Uint8Array([...d,...m]).slice(e.APDU_MAX_PAYLOAD,e.APDU_MAX_PAYLOAD*2),isFirstChunk:!1})),expect(a.error).toStrictEqual(new e.InvalidStatusWordError("An error"))}),it("legacy transaction with small chainId",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:i,chainId:56,transactionType:0,clearSigningType:t.ClearSigningType.BASIC};x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({data:(0,o.Just)({v:147,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"})}));const a=await new c.SendSignTransactionTask(x,n).run();expect(a.data.v).toStrictEqual(147)}),it("legacy transaction with small chainId with positive parity",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:i,chainId:56,transactionType:0,clearSigningType:t.ClearSigningType.BASIC};x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({data:(0,o.Just)({v:148,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"})}));const a=await new c.SendSignTransactionTask(x,n).run();expect(a.data.v).toStrictEqual(148)}),it("legacy transaction with big chainId",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:i,chainId:11297108109,transactionType:0,clearSigningType:t.ClearSigningType.BASIC};x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({data:(0,o.Just)({v:131,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"})}));const a=await new c.SendSignTransactionTask(x,n).run();expect(a.data.v).toStrictEqual(22594216253)}),it("legacy transaction with big chainId with positive parity",async()=>{const n={derivationPath:"44'/60'/0'/0/0",serializedTransaction:i,chainId:11297108109,transactionType:0,clearSigningType:t.ClearSigningType.BASIC};x.sendCommand.mockResolvedValueOnce((0,e.CommandResultFactory)({data:(0,o.Just)({v:132,r:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",s:"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"})}));const a=await new c.SendSignTransactionTask(x,n).run();expect(a.data.v).toStrictEqual(22594216254)})})});
2
2
  //# sourceMappingURL=SendSignTransactionTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/task/SendSignTransactionTask.test.ts"],
4
- "sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n CommandResultFactory,\n hexaStringToBuffer,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"ethers\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { SignTransactionCommand } from \"@internal/app-binder/command/SignTransactionCommand\";\nimport { StartTransactionCommand } from \"@internal/app-binder/command/StartTransactionCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport { SendSignTransactionTask } from \"./SendSignTransactionTask\";\n\nconst PATH = 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,\n]);\n\nconst SIMPLE_TRANSACTION = 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, 0xf8, 0x6b, 0x82, 0x06, 0x7e,\n 0x84, 0x57, 0x19, 0x13, 0x1f, 0x83, 0x01, 0x10, 0x68, 0x94, 0xda, 0xc1, 0x7f,\n 0x95, 0x8d, 0x2e, 0xe5, 0x23, 0xa2, 0x20, 0x62, 0x06, 0x99, 0x45, 0x97, 0xc1,\n 0x3d, 0x83, 0x1e, 0xc7, 0x80, 0xb8, 0x44, 0xa9, 0x05, 0x9c, 0xbb, 0x00, 0x00,\n]);\n\nconst BIG_TRANSACTION = new Uint8Array([\n 0xf9, 0x08, 0xaf, 0x26, 0x85, 0x01, 0xb2, 0x3d, 0x94, 0x83, 0x83, 0x05, 0xc1,\n 0xfc, 0x94, 0xde, 0xf1, 0xc0, 0xde, 0xd9, 0xbe, 0xc7, 0xf1, 0xa1, 0x67, 0x08,\n 0x19, 0x83, 0x32, 0x40, 0xf0, 0x27, 0xb2, 0x5e, 0xff, 0x80, 0xb9, 0x08, 0x88,\n 0x41, 0x55, 0x65, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x1f, 0x98, 0x40, 0xa8, 0x5d, 0x5a, 0xf5, 0xbf, 0x1d, 0x17,\n 0x62, 0xf9, 0x25, 0xbd, 0xad, 0xdc, 0x42, 0x01, 0xf9, 0x84, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xb8, 0x69, 0x91,\n 0xc6, 0x21, 0x8b, 0x36, 0xc1, 0xd1, 0x9d, 0x4a, 0x2e, 0x9e, 0xb0, 0xce, 0x36,\n 0x06, 0xeb, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x61, 0xe9, 0x33, 0x59, 0x53, 0x95, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x33,\n 0xef, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 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, 0x00,\n 0x04, 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, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40,\n 0x00, 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, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x05, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0x00,\n 0x00, 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, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,\n 0x00, 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, 0x00,\n 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n]);\n\ndescribe(\"SendSignTransactionTask\", () => {\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 vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should send the transaction in one command\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n isLegacy: true,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...SIMPLE_TRANSACTION,\n ]),\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(\"Generic-parser transaction should be signed without payload\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n isLegacy: false,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 StartTransactionCommand(),\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 transaction in chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: BIG_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n isLegacy: true,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...BIG_TRANSACTION,\n ]).slice(0, APDU_MAX_PAYLOAD),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...BIG_TRANSACTION,\n ]).slice(APDU_MAX_PAYLOAD, APDU_MAX_PAYLOAD * 2),\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.each([\n [458, 127, 254],\n [458, 0x818181818181, 254],\n [452, 0x818181818181, 251],\n ])(\n \"should prevent chunking legacy transactions just before the [r,s,v] for dataSize %i, chainId %i\",\n async (dataSize, chainId, chunkSize) => {\n // GIVEN\n const transaction = new Transaction();\n transaction.to = \"0x0123456789abcdef0123456789abcdef01234567\";\n transaction.nonce = 0;\n transaction.value = 0n;\n transaction.gasLimit = 1n;\n transaction.gasPrice = 2n;\n transaction.data = \"0x\" + new Array(dataSize).fill(\"00\").join(\"\");\n transaction.chainId = chainId;\n transaction.type = 0;\n const serialized = hexaStringToBuffer(transaction.unsignedSerialized)!;\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: serialized,\n chainId,\n transactionType: 0,\n isLegacy: true,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValue(resultOk);\n\n // WHEN\n await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n const payload = Uint8Array.from([...PATH, ...serialized]);\n expect(apiMock.sendCommand.mock.calls).toHaveLength(3);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: payload.slice(0, chunkSize),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: payload.slice(chunkSize, chunkSize * 2),\n isFirstChunk: false,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[2]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: payload.slice(chunkSize * 2),\n isFirstChunk: false,\n }),\n );\n },\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 serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n isLegacy: true,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...SIMPLE_TRANSACTION,\n ]),\n isFirstChunk: true,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).error).toStrictEqual(\n new InvalidStatusWordError(\"no signature returned\"),\n );\n });\n\n it(\"should return an error if the generic-parser command fails\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n isLegacy: false,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 StartTransactionCommand(),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).error).toStrictEqual(\n new InvalidStatusWordError(\"no signature returned\"),\n );\n });\n\n it(\"should return an error if the command fails in the middle of the transaction\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: BIG_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n isLegacy: true,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"An error\"),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(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 SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...BIG_TRANSACTION,\n ]).slice(0, APDU_MAX_PAYLOAD),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...BIG_TRANSACTION,\n ]).slice(APDU_MAX_PAYLOAD, APDU_MAX_PAYLOAD * 2),\n isFirstChunk: false,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).error).toStrictEqual(\n new InvalidStatusWordError(\"An error\"),\n );\n });\n\n it(\"legacy transaction with small chainId\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 56,\n transactionType: 0,\n isLegacy: true,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n data: Just({\n v: 147,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n }),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data.v).toStrictEqual(147);\n });\n\n it(\"legacy transaction with small chainId with positive parity\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 56,\n transactionType: 0,\n isLegacy: true,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n data: Just({\n v: 148,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n }),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data.v).toStrictEqual(148);\n });\n\n it(\"legacy transaction with big chainId\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 11297108109,\n transactionType: 0,\n isLegacy: true,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n data: Just({\n v: 131,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n }),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data.v).toStrictEqual(22594216253);\n });\n\n it(\"legacy transaction with big chainId with positive parity\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 11297108109,\n transactionType: 0,\n isLegacy: true,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n data: Just({\n v: 132,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n }),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n expect((result as any).data.v).toStrictEqual(22594216254);\n });\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAKO,2CACPC,EAA4B,kBAC5BC,EAA8B,qBAE9BC,EAAuC,+DACvCC,EAAwC,gEACxCC,EAAgD,6EAEhDC,EAAwC,qCAExC,MAAMC,EAAO,IAAI,WAAW,CAC1B,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAC5C,CAAC,EAEKC,EAAqB,IAAI,WAAW,CACxC,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,IAAM,IAAM,EAAM,IACxE,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IACxE,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,EAAM,IAAM,GAAM,IAAM,IACxE,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,IAAM,EAAM,CAC1E,CAAC,EAEKC,EAAkB,IAAI,WAAW,CACrC,IAAM,EAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,EAAM,IACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EACxE,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,EAAM,IACxE,GAAM,GAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GACxE,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,IAAM,IAAM,IACxE,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GACxE,EAAM,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GACxE,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAA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",
6
- "names": ["import_device_management_kit", "import_ethers", "import_purify_ts", "import_SignTransactionCommand", "import_StartTransactionCommand", "import_makeInternalApi", "import_SendSignTransactionTask", "PATH", "SIMPLE_TRANSACTION", "BIG_TRANSACTION", "apiMock", "signature", "resultOk", "resultNothing", "args", "result", "dataSize", "chainId", "chunkSize", "transaction", "serialized", "payload"]
4
+ "sourcesContent": ["import {\n APDU_MAX_PAYLOAD,\n CommandResultFactory,\n hexaStringToBuffer,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"ethers\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport { ClearSigningType } from \"@api/model/ClearSigningType\";\nimport { SignTransactionCommand } from \"@internal/app-binder/command/SignTransactionCommand\";\nimport { StartTransactionCommand } from \"@internal/app-binder/command/StartTransactionCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport { SendSignTransactionTask } from \"./SendSignTransactionTask\";\n\nconst PATH = 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,\n]);\n\nconst SIMPLE_TRANSACTION = 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, 0xf8, 0x6b, 0x82, 0x06, 0x7e,\n 0x84, 0x57, 0x19, 0x13, 0x1f, 0x83, 0x01, 0x10, 0x68, 0x94, 0xda, 0xc1, 0x7f,\n 0x95, 0x8d, 0x2e, 0xe5, 0x23, 0xa2, 0x20, 0x62, 0x06, 0x99, 0x45, 0x97, 0xc1,\n 0x3d, 0x83, 0x1e, 0xc7, 0x80, 0xb8, 0x44, 0xa9, 0x05, 0x9c, 0xbb, 0x00, 0x00,\n]);\n\nconst BIG_TRANSACTION = new Uint8Array([\n 0xf9, 0x08, 0xaf, 0x26, 0x85, 0x01, 0xb2, 0x3d, 0x94, 0x83, 0x83, 0x05, 0xc1,\n 0xfc, 0x94, 0xde, 0xf1, 0xc0, 0xde, 0xd9, 0xbe, 0xc7, 0xf1, 0xa1, 0x67, 0x08,\n 0x19, 0x83, 0x32, 0x40, 0xf0, 0x27, 0xb2, 0x5e, 0xff, 0x80, 0xb9, 0x08, 0x88,\n 0x41, 0x55, 0x65, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x1f, 0x98, 0x40, 0xa8, 0x5d, 0x5a, 0xf5, 0xbf, 0x1d, 0x17,\n 0x62, 0xf9, 0x25, 0xbd, 0xad, 0xdc, 0x42, 0x01, 0xf9, 0x84, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xb8, 0x69, 0x91,\n 0xc6, 0x21, 0x8b, 0x36, 0xc1, 0xd1, 0x9d, 0x4a, 0x2e, 0x9e, 0xb0, 0xce, 0x36,\n 0x06, 0xeb, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x61, 0xe9, 0x33, 0x59, 0x53, 0x95, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x33,\n 0xef, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 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, 0x00,\n 0x04, 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, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40,\n 0x00, 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, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x05, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0x00,\n 0x00, 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, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,\n 0x00, 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, 0x00,\n 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n]);\n\ndescribe(\"SendSignTransactionTask\", () => {\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 vi.resetAllMocks();\n });\n\n describe(\"run\", () => {\n it(\"should send the transaction in one command\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n clearSigningType: ClearSigningType.BASIC,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...SIMPLE_TRANSACTION,\n ]),\n isFirstChunk: true,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).data).toStrictEqual(signature);\n });\n\n it(\"Generic-parser transaction should be signed without payload\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n clearSigningType: ClearSigningType.EIP7730,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 StartTransactionCommand(),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).data).toStrictEqual(signature);\n });\n\n it(\"should send the transaction in chunks\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: BIG_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n clearSigningType: ClearSigningType.BASIC,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValueOnce(resultOk);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...BIG_TRANSACTION,\n ]).slice(0, APDU_MAX_PAYLOAD),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...BIG_TRANSACTION,\n ]).slice(APDU_MAX_PAYLOAD, APDU_MAX_PAYLOAD * 2),\n isFirstChunk: false,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).data).toStrictEqual(signature);\n });\n\n it.each([\n [458, 127, 254],\n [458, 0x818181818181, 254],\n [452, 0x818181818181, 251],\n ])(\n \"should prevent chunking legacy transactions just before the [r,s,v] for dataSize %i, chainId %i\",\n async (dataSize, chainId, chunkSize) => {\n // GIVEN\n const transaction = new Transaction();\n transaction.to = \"0x0123456789abcdef0123456789abcdef01234567\";\n transaction.nonce = 0;\n transaction.value = 0n;\n transaction.gasLimit = 1n;\n transaction.gasPrice = 2n;\n transaction.data = \"0x\" + new Array(dataSize).fill(\"00\").join(\"\");\n transaction.chainId = chainId;\n transaction.type = 0;\n const serialized = hexaStringToBuffer(transaction.unsignedSerialized)!;\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: serialized,\n chainId,\n transactionType: 0,\n clearSigningType: ClearSigningType.BASIC,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValue(resultOk);\n\n // WHEN\n await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n const payload = Uint8Array.from([...PATH, ...serialized]);\n expect(apiMock.sendCommand.mock.calls).toHaveLength(3);\n expect(apiMock.sendCommand.mock.calls[0]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: payload.slice(0, chunkSize),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: payload.slice(chunkSize, chunkSize * 2),\n isFirstChunk: false,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[2]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: payload.slice(chunkSize * 2),\n isFirstChunk: false,\n }),\n );\n },\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 serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n clearSigningType: ClearSigningType.BASIC,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...SIMPLE_TRANSACTION,\n ]),\n isFirstChunk: true,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).error).toStrictEqual(\n new InvalidStatusWordError(\"no signature returned\"),\n );\n });\n\n it(\"should return an error if the generic-parser command fails\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n clearSigningType: ClearSigningType.EIP7730,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n\n // WHEN\n const result = await new SendSignTransactionTask(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 StartTransactionCommand(),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).error).toStrictEqual(\n new InvalidStatusWordError(\"no signature returned\"),\n );\n });\n\n it(\"should return an error if the command fails in the middle of the transaction\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: BIG_TRANSACTION,\n chainId: 1,\n transactionType: 1,\n clearSigningType: ClearSigningType.BASIC,\n };\n apiMock.sendCommand.mockResolvedValueOnce(resultNothing);\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"An error\"),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(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 SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...BIG_TRANSACTION,\n ]).slice(0, APDU_MAX_PAYLOAD),\n isFirstChunk: true,\n }),\n );\n expect(apiMock.sendCommand.mock.calls[1]![0]).toStrictEqual(\n new SignTransactionCommand({\n serializedTransaction: new Uint8Array([\n ...PATH,\n ...BIG_TRANSACTION,\n ]).slice(APDU_MAX_PAYLOAD, APDU_MAX_PAYLOAD * 2),\n isFirstChunk: false,\n }),\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).error).toStrictEqual(\n new InvalidStatusWordError(\"An error\"),\n );\n });\n\n it(\"legacy transaction with small chainId\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 56,\n transactionType: 0,\n clearSigningType: ClearSigningType.BASIC,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n data: Just({\n v: 147,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n }),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).data.v).toStrictEqual(147);\n });\n\n it(\"legacy transaction with small chainId with positive parity\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 56,\n transactionType: 0,\n clearSigningType: ClearSigningType.BASIC,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n data: Just({\n v: 148,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n }),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).data.v).toStrictEqual(148);\n });\n\n it(\"legacy transaction with big chainId\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 11297108109,\n transactionType: 0,\n clearSigningType: ClearSigningType.BASIC,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n data: Just({\n v: 131,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n }),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).data.v).toStrictEqual(22594216253);\n });\n\n it(\"legacy transaction with big chainId with positive parity\", async () => {\n // GIVEN\n const args = {\n derivationPath: \"44'/60'/0'/0/0\",\n serializedTransaction: SIMPLE_TRANSACTION,\n chainId: 11297108109,\n transactionType: 0,\n clearSigningType: ClearSigningType.BASIC,\n };\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n data: Just({\n v: 132,\n r: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n s: \"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef\",\n }),\n }),\n );\n\n // WHEN\n const result = await new SendSignTransactionTask(apiMock, args).run();\n\n // THEN\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n expect((result as any).data.v).toStrictEqual(22594216254);\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAKO,2CACPC,EAA4B,kBAC5BC,EAA8B,qBAE9BC,EAAiC,uCACjCC,EAAuC,+DACvCC,EAAwC,gEACxCC,EAAgD,6EAEhDC,EAAwC,qCAExC,MAAMC,EAAO,IAAI,WAAW,CAC1B,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAC5C,CAAC,EAEKC,EAAqB,IAAI,WAAW,CACxC,EAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,GAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,IAAM,IAAM,EAAM,IACxE,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IACxE,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,EAAM,IAAM,GAAM,IAAM,IACxE,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,IAAM,EAAM,CAC1E,CAAC,EAEKC,EAAkB,IAAI,WAAW,CACrC,IAAM,EAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,EAAM,IACxE,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EACxE,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,EAAM,IACxE,GAAM,GAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GACxE,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,IAAM,IAAM,IACxE,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GACxE,EAAM,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GACxE,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM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",
6
+ "names": ["import_device_management_kit", "import_ethers", "import_purify_ts", "import_ClearSigningType", "import_SignTransactionCommand", "import_StartTransactionCommand", "import_makeInternalApi", "import_SendSignTransactionTask", "PATH", "SIMPLE_TRANSACTION", "BIG_TRANSACTION", "apiMock", "signature", "resultOk", "resultNothing", "args", "result", "dataSize", "chainId", "chunkSize", "transaction", "serialized", "payload"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var c=(a,t)=>{for(var e in t)o(a,e,{get:t[e],enumerable:!0})},l=(a,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of y(t))!h.call(a,r)&&r!==e&&o(a,r,{get:()=>t[r],enumerable:!(i=m(t,r))||i.enumerable});return a};var g=a=>l(o({},"__esModule",{value:!0}),a);var T={};c(T,{SignTypedDataLegacyTask:()=>u});module.exports=g(T);var n=require("ethers"),p=require("purify-ts"),s=require("../../app-binder/command/SignEIP712Command");class u{constructor(t,e,i){this.api=t;this.data=e;this.derivationPath=i}async run(){const t=n.TypedDataEncoder.hashDomain(this.data.domain);if(!this.data.types[this.data.primaryType])throw new Error(`Primary type "${this.data.primaryType}" is not defined in the types.`);const e=this.data.types,{EIP712Domain:i,...r}=e,d=n.TypedDataEncoder.hashStruct(this.data.primaryType,r,this.data.message);return await this.api.sendCommand(new s.SignEIP712Command({derivationPath:this.derivationPath,legacyArgs:(0,p.Just)({domainHash:t,messageHash:d})}))}}0&&(module.exports={SignTypedDataLegacyTask});
2
+ //# sourceMappingURL=SignTypedDataLegacyTask.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SignTypedDataLegacyTask.ts"],
4
+ "sourcesContent": ["import type {\n CommandResult,\n InternalApi,\n} from \"@ledgerhq/device-management-kit\";\nimport type { TypedDataField } from \"ethers\";\nimport { TypedDataEncoder } from \"ethers\";\nimport { Just } from \"purify-ts\";\n\nimport type { Signature } from \"@api/model/Signature\";\nimport type { TypedData } from \"@api/model/TypedData\";\nimport { SignEIP712Command } from \"@internal/app-binder/command/SignEIP712Command\";\nimport type { EthErrorCodes } from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport class SignTypedDataLegacyTask {\n constructor(\n private readonly api: InternalApi,\n private readonly data: TypedData,\n private readonly derivationPath: string,\n ) {}\n\n async run(): Promise<CommandResult<Signature, EthErrorCodes>> {\n // Compute domain hash and message hash on client side\n const domainHash = TypedDataEncoder.hashDomain(this.data.domain);\n\n if (!this.data.types[this.data.primaryType]) {\n throw new Error(\n `Primary type \"${this.data.primaryType}\" is not defined in the types.`,\n );\n }\n\n const typesRecord: Record<string, TypedDataField[]> = this.data.types;\n const { EIP712Domain, ...rest } = typesRecord;\n const messageHash = TypedDataEncoder.hashStruct(\n this.data.primaryType,\n rest,\n this.data.message,\n );\n\n // Blind sign the hash\n return await this.api.sendCommand(\n new SignEIP712Command({\n derivationPath: this.derivationPath,\n legacyArgs: Just({\n domainHash,\n messageHash,\n }),\n }),\n );\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAKA,IAAAI,EAAiC,kBACjCC,EAAqB,qBAIrBC,EAAkC,0DAG3B,MAAMJ,CAAwB,CACnC,YACmBK,EACAC,EACAC,EACjB,CAHiB,SAAAF,EACA,UAAAC,EACA,oBAAAC,CAChB,CAEH,MAAM,KAAwD,CAE5D,MAAMC,EAAa,mBAAiB,WAAW,KAAK,KAAK,MAAM,EAE/D,GAAI,CAAC,KAAK,KAAK,MAAM,KAAK,KAAK,WAAW,EACxC,MAAM,IAAI,MACR,iBAAiB,KAAK,KAAK,WAAW,gCACxC,EAGF,MAAMC,EAAgD,KAAK,KAAK,MAC1D,CAAE,aAAAC,EAAc,GAAGC,CAAK,EAAIF,EAC5BG,EAAc,mBAAiB,WACnC,KAAK,KAAK,YACVD,EACA,KAAK,KAAK,OACZ,EAGA,OAAO,MAAM,KAAK,IAAI,YACpB,IAAI,oBAAkB,CACpB,eAAgB,KAAK,eACrB,cAAY,QAAK,CACf,WAAAH,EACA,YAAAI,CACF,CAAC,CACH,CAAC,CACH,CACF,CACF",
6
+ "names": ["SignTypedDataLegacyTask_exports", "__export", "SignTypedDataLegacyTask", "__toCommonJS", "import_ethers", "import_purify_ts", "import_SignEIP712Command", "api", "data", "derivationPath", "domainHash", "typesRecord", "EIP712Domain", "rest", "messageHash"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("@ledgerhq/device-management-kit"),s=require("purify-ts"),o=require("../../app-binder/command/SignEIP712Command"),c=require("../../app-binder/device-action/__test-utils__/makeInternalApi"),i=require("./SignTypedDataLegacyTask");describe("SignTypedDataLegacyTask",()=>{const e=(0,c.makeDeviceActionInternalApiMock)(),r={domain:{name:"Permit2",chainId:137,verifyingContract:"0x000000000022d473030f116ddee9f6b43ac78ba3"},primaryType:"PermitSingle",message:{details:{token:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",amount:"69420000000000000000",expiration:"1718184249",nonce:"0"},spender:"0xec7be89e9d109e7e3fec59c222cf297125fefda2",sigDeadline:"1715594049"},types:{PermitSingle:[{name:"details",type:"PermitDetails"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:[{name:"token",type:"address"},{name:"amount",type:"uint"},{name:"expiration",type:"uint"},{name:"nonce",type:"uint"}]}};beforeEach(()=>{vi.resetAllMocks()}),it("Successful legagy signing",async()=>{const n=new i.SignTypedDataLegacyTask(e,r,"44'/60'/0'/0/0");e.sendCommand.mockResolvedValue((0,t.CommandResultFactory)({data:{r:"0x24",s:"0x42",v:0}}));const a=await n.run();expect(e.sendCommand).toHaveBeenCalledWith(new o.SignEIP712Command({derivationPath:"44'/60'/0'/0/0",legacyArgs:(0,s.Just)({domainHash:"0xf033048cb2764f596bc4d98e089fa38bb84b4be3d5da2e77f9bfac0e4d6c68ca",messageHash:"0x1087495b5e10337738059920fe1de8216235299745e8c97e21b409009a4c362a"})})),expect(a).toStrictEqual((0,t.CommandResultFactory)({data:{r:"0x24",s:"0x42",v:0}}))}),it("Should throw error if no primary type",async()=>{const n=new i.SignTypedDataLegacyTask(e,{...r,primaryType:"Wat?"},"44'/60'/0'/0/0");e.sendCommand.mockResolvedValue((0,t.CommandResultFactory)({data:{r:"0x24",s:"0x42",v:0}}));try{await n.run()}catch(a){expect(a).toBeInstanceOf(Error),expect(a.message).toBe('Primary type "Wat?" is not defined in the types.')}})});
2
+ //# sourceMappingURL=SignTypedDataLegacyTask.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/task/SignTypedDataLegacyTask.test.ts"],
4
+ "sourcesContent": ["import { CommandResultFactory } from \"@ledgerhq/device-management-kit\";\nimport { Just } from \"purify-ts\";\n\nimport { SignEIP712Command } from \"@internal/app-binder/command/SignEIP712Command\";\nimport { makeDeviceActionInternalApiMock } from \"@internal/app-binder/device-action/__test-utils__/makeInternalApi\";\n\nimport { SignTypedDataLegacyTask } from \"./SignTypedDataLegacyTask\";\n\ndescribe(\"SignTypedDataLegacyTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n const TEST_DATA = {\n domain: {\n name: \"Permit2\",\n chainId: 137,\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n },\n primaryType: \"PermitSingle\",\n message: {\n details: {\n token: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n amount: \"69420000000000000000\",\n expiration: \"1718184249\",\n nonce: \"0\",\n },\n spender: \"0xec7be89e9d109e7e3fec59c222cf297125fefda2\",\n sigDeadline: \"1715594049\",\n },\n types: {\n PermitSingle: [\n {\n name: \"details\",\n type: \"PermitDetails\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"sigDeadline\",\n type: \"uint256\",\n },\n ],\n PermitDetails: [\n { name: \"token\", type: \"address\" },\n { name: \"amount\", type: \"uint\" },\n { name: \"expiration\", type: \"uint\" },\n { name: \"nonce\", type: \"uint\" },\n ],\n },\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"Successful legagy signing\", async () => {\n // GIVEN\n const task = new SignTypedDataLegacyTask(\n apiMock,\n TEST_DATA,\n \"44'/60'/0'/0/0\",\n );\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({\n data: {\n r: \"0x24\",\n s: \"0x42\",\n v: 0,\n },\n }),\n );\n // WHEN\n const signature = await task.run();\n // THEN\n expect(apiMock.sendCommand).toHaveBeenCalledWith(\n new SignEIP712Command({\n derivationPath: \"44'/60'/0'/0/0\",\n legacyArgs: Just({\n domainHash:\n \"0xf033048cb2764f596bc4d98e089fa38bb84b4be3d5da2e77f9bfac0e4d6c68ca\",\n messageHash:\n \"0x1087495b5e10337738059920fe1de8216235299745e8c97e21b409009a4c362a\",\n }),\n }),\n );\n expect(signature).toStrictEqual(\n CommandResultFactory({\n data: {\n r: \"0x24\",\n s: \"0x42\",\n v: 0,\n },\n }),\n );\n });\n\n it(\"Should throw error if no primary type\", async () => {\n // GIVEN\n const task = new SignTypedDataLegacyTask(\n apiMock,\n {\n ...TEST_DATA,\n primaryType: \"Wat?\",\n },\n \"44'/60'/0'/0/0\",\n );\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({\n data: {\n r: \"0x24\",\n s: \"0x42\",\n v: 0,\n },\n }),\n );\n // WHEN\n try {\n await task.run();\n } catch (e) {\n // THEN\n expect(e).toBeInstanceOf(Error);\n // @ts-expect-error\n expect(e.message).toBe(\n 'Primary type \"Wat?\" is not defined in the types.',\n );\n }\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAAqC,2CACrCC,EAAqB,qBAErBC,EAAkC,0DAClCC,EAAgD,6EAEhDC,EAAwC,qCAExC,SAAS,0BAA2B,IAAM,CACxC,MAAMC,KAAU,mCAAgC,EAE1CC,EAAY,CAChB,OAAQ,CACN,KAAM,UACN,QAAS,IACT,kBAAmB,4CACrB,EACA,YAAa,eACb,QAAS,CACP,QAAS,CACP,MAAO,6CACP,OAAQ,uBACR,WAAY,aACZ,MAAO,GACT,EACA,QAAS,6CACT,YAAa,YACf,EACA,MAAO,CACL,aAAc,CACZ,CACE,KAAM,UACN,KAAM,eACR,EACA,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,cACN,KAAM,SACR,CACF,EACA,cAAe,CACb,CAAE,KAAM,QAAS,KAAM,SAAU,EACjC,CAAE,KAAM,SAAU,KAAM,MAAO,EAC/B,CAAE,KAAM,aAAc,KAAM,MAAO,EACnC,CAAE,KAAM,QAAS,KAAM,MAAO,CAChC,CACF,CACF,EAEA,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,GAAG,4BAA6B,SAAY,CAE1C,MAAMC,EAAO,IAAI,0BACfF,EACAC,EACA,gBACF,EACAD,EAAQ,YAAY,qBAClB,wBAAqB,CACnB,KAAM,CACJ,EAAG,OACH,EAAG,OACH,EAAG,CACL,CACF,CAAC,CACH,EAEA,MAAMG,EAAY,MAAMD,EAAK,IAAI,EAEjC,OAAOF,EAAQ,WAAW,EAAE,qBAC1B,IAAI,oBAAkB,CACpB,eAAgB,iBAChB,cAAY,QAAK,CACf,WACE,qEACF,YACE,oEACJ,CAAC,CACH,CAAC,CACH,EACA,OAAOG,CAAS,EAAE,iBAChB,wBAAqB,CACnB,KAAM,CACJ,EAAG,OACH,EAAG,OACH,EAAG,CACL,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,wCAAyC,SAAY,CAEtD,MAAMD,EAAO,IAAI,0BACfF,EACA,CACE,GAAGC,EACH,YAAa,MACf,EACA,gBACF,EACAD,EAAQ,YAAY,qBAClB,wBAAqB,CACnB,KAAM,CACJ,EAAG,OACH,EAAG,OACH,EAAG,CACL,CACF,CAAC,CACH,EAEA,GAAI,CACF,MAAME,EAAK,IAAI,CACjB,OAASE,EAAG,CAEV,OAAOA,CAAC,EAAE,eAAe,KAAK,EAE9B,OAAOA,EAAE,OAAO,EAAE,KAChB,kDACF,CACF,CACF,CAAC,CACH,CAAC",
6
+ "names": ["import_device_management_kit", "import_purify_ts", "import_SignEIP712Command", "import_makeInternalApi", "import_SignTypedDataLegacyTask", "apiMock", "TEST_DATA", "task", "signature", "e"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var i=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var C=(o,e)=>{for(var n in e)i(o,n,{get:e[n],enumerable:!0})},f=(o,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of u(e))!y.call(o,r)&&r!==n&&i(o,r,{get:()=>e[r],enumerable:!(t=M(e,r))||t.enumerable});return o};var x=o=>f(i({},"__esModule",{value:!0}),o);var v={};C(v,{makeContainer:()=>D});module.exports=x(v);var m=require("inversify"),d=require("./address/di/addressModule"),s=require("./app-binder/di/appBinderModule"),a=require("./externalTypes"),p=require("./message/di/messageModule"),c=require("./transaction/di/transactionModule"),l=require("./typed-data/di/typedDataModule");const D=({dmk:o,sessionId:e,contextModule:n})=>{const t=new m.Container;return t.bind(a.externalTypes.Dmk).toConstantValue(o),t.bind(a.externalTypes.ContextModule).toConstantValue(n),t.bind(a.externalTypes.SessionId).toConstantValue(e),t.load((0,d.addressModuleFactory)(),(0,s.appBindingModuleFactory)(),(0,p.messageModuleFactory)(),(0,c.transactionModuleFactory)(),(0,l.typedDataModuleFactory)()),t};0&&(module.exports={makeContainer});
1
+ "use strict";var i=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var x=(e,o)=>{for(var n in o)i(e,n,{get:o[n],enumerable:!0})},D=(e,o,n,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of f(o))!C.call(e,r)&&r!==n&&i(e,r,{get:()=>o[r],enumerable:!(t=y(o,r))||t.enumerable});return e};var F=e=>D(i({},"__esModule",{value:!0}),e);var g={};x(g,{makeContainer:()=>v});module.exports=F(g);var m=require("inversify"),d=require("./address/di/addressModule"),s=require("./app-binder/di/appBinderModule"),p=require("./eip7702/di/eip7702Module"),a=require("./externalTypes"),c=require("./message/di/messageModule"),l=require("./safe/di/safeModule"),M=require("./transaction/di/transactionModule"),u=require("./typed-data/di/typedDataModule");const v=({dmk:e,sessionId:o,contextModule:n})=>{const t=new m.Container;return t.bind(a.externalTypes.Dmk).toConstantValue(e),t.bind(a.externalTypes.ContextModule).toConstantValue(n),t.bind(a.externalTypes.SessionId).toConstantValue(o),t.loadSync((0,d.addressModuleFactory)(),(0,s.appBindingModuleFactory)(),(0,p.eip7702ModuleFactory)(),(0,c.messageModuleFactory)(),(0,M.transactionModuleFactory)(),(0,u.typedDataModuleFactory)(),(0,l.safeModuleFactory)()),t};0&&(module.exports={makeContainer});
2
2
  //# sourceMappingURL=di.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/internal/di.ts"],
4
- "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\n// import { makeLoggerMiddleware } from \"inversify-logger-middleware\";\nimport { addressModuleFactory } from \"@internal/address/di/addressModule\";\nimport { appBindingModuleFactory } from \"@internal/app-binder/di/appBinderModule\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { messageModuleFactory } from \"@internal/message/di/messageModule\";\nimport { transactionModuleFactory } from \"@internal/transaction/di/transactionModule\";\nimport { typedDataModuleFactory } from \"@internal/typed-data/di/typedDataModule\";\n\n// Uncomment this line to enable the logger middleware\n// const logger = makeLoggerMiddleware();\n\nexport type MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n contextModule: ContextModule;\n};\n\nexport const makeContainer = ({\n dmk,\n sessionId,\n contextModule,\n}: MakeContainerProps) => {\n const container = new Container();\n\n // Uncomment this line to enable the logger middleware\n // container.applyMiddleware(logger);\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<ContextModule>(externalTypes.ContextModule)\n .toConstantValue(contextModule);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container.load(\n addressModuleFactory(),\n appBindingModuleFactory(),\n messageModuleFactory(),\n transactionModuleFactory(),\n typedDataModuleFactory(),\n );\n\n return container;\n};\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAKA,IAAAI,EAA0B,qBAG1BC,EAAqC,8CACrCC,EAAwC,mDACxCC,EAA8B,mCAC9BC,EAAqC,8CACrCC,EAAyC,sDACzCC,EAAuC,mDAWhC,MAAMR,EAAgB,CAAC,CAC5B,IAAAS,EACA,UAAAC,EACA,cAAAC,CACF,IAA0B,CACxB,MAAMC,EAAY,IAAI,YAKtB,OAAAA,EAAU,KAA0B,gBAAc,GAAG,EAAE,gBAAgBH,CAAG,EAC1EG,EACG,KAAoB,gBAAc,aAAa,EAC/C,gBAAgBD,CAAa,EAChCC,EACG,KAAsB,gBAAc,SAAS,EAC7C,gBAAgBF,CAAS,EAE5BE,EAAU,QACR,wBAAqB,KACrB,2BAAwB,KACxB,wBAAqB,KACrB,4BAAyB,KACzB,0BAAuB,CACzB,EAEOA,CACT",
6
- "names": ["di_exports", "__export", "makeContainer", "__toCommonJS", "import_inversify", "import_addressModule", "import_appBinderModule", "import_externalTypes", "import_messageModule", "import_transactionModule", "import_typedDataModule", "dmk", "sessionId", "contextModule", "container"]
4
+ "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceManagementKit,\n type DeviceSessionId,\n} from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { addressModuleFactory } from \"@internal/address/di/addressModule\";\nimport { appBindingModuleFactory } from \"@internal/app-binder/di/appBinderModule\";\nimport { eip7702ModuleFactory } from \"@internal/eip7702/di/eip7702Module\";\nimport { externalTypes } from \"@internal/externalTypes\";\nimport { messageModuleFactory } from \"@internal/message/di/messageModule\";\nimport { safeModuleFactory } from \"@internal/safe/di/safeModule\";\nimport { transactionModuleFactory } from \"@internal/transaction/di/transactionModule\";\nimport { typedDataModuleFactory } from \"@internal/typed-data/di/typedDataModule\";\n\nexport type MakeContainerProps = {\n dmk: DeviceManagementKit;\n sessionId: DeviceSessionId;\n contextModule: ContextModule;\n};\n\nexport const makeContainer = ({\n dmk,\n sessionId,\n contextModule,\n}: MakeContainerProps) => {\n const container = new Container();\n\n container.bind<DeviceManagementKit>(externalTypes.Dmk).toConstantValue(dmk);\n container\n .bind<ContextModule>(externalTypes.ContextModule)\n .toConstantValue(contextModule);\n container\n .bind<DeviceSessionId>(externalTypes.SessionId)\n .toConstantValue(sessionId);\n\n container.loadSync(\n addressModuleFactory(),\n appBindingModuleFactory(),\n eip7702ModuleFactory(),\n messageModuleFactory(),\n transactionModuleFactory(),\n typedDataModuleFactory(),\n safeModuleFactory(),\n );\n\n return container;\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAKA,IAAAI,EAA0B,qBAE1BC,EAAqC,8CACrCC,EAAwC,mDACxCC,EAAqC,8CACrCC,EAA8B,mCAC9BC,EAAqC,8CACrCC,EAAkC,wCAClCC,EAAyC,sDACzCC,EAAuC,mDAQhC,MAAMV,EAAgB,CAAC,CAC5B,IAAAW,EACA,UAAAC,EACA,cAAAC,CACF,IAA0B,CACxB,MAAMC,EAAY,IAAI,YAEtB,OAAAA,EAAU,KAA0B,gBAAc,GAAG,EAAE,gBAAgBH,CAAG,EAC1EG,EACG,KAAoB,gBAAc,aAAa,EAC/C,gBAAgBD,CAAa,EAChCC,EACG,KAAsB,gBAAc,SAAS,EAC7C,gBAAgBF,CAAS,EAE5BE,EAAU,YACR,wBAAqB,KACrB,2BAAwB,KACxB,wBAAqB,KACrB,wBAAqB,KACrB,4BAAyB,KACzB,0BAAuB,KACvB,qBAAkB,CACpB,EAEOA,CACT",
6
+ "names": ["di_exports", "__export", "makeContainer", "__toCommonJS", "import_inversify", "import_addressModule", "import_appBinderModule", "import_eip7702Module", "import_externalTypes", "import_messageModule", "import_safeModule", "import_transactionModule", "import_typedDataModule", "dmk", "sessionId", "contextModule", "container"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var u=(o,e)=>{for(var t in e)r(o,t,{get:e[t],enumerable:!0})},f=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of g(e))!l.call(o,i)&&i!==t&&r(o,i,{get:()=>e[i],enumerable:!(n=s(e,i))||n.enumerable});return o};var C=o=>f(r({},"__esModule",{value:!0}),o);var d={};u(d,{eip7702ModuleFactory:()=>c});module.exports=C(d);var a=require("inversify"),p=require("../../eip7702/di/eip7702Types"),m=require("../../eip7702/use-case/SignDelegationAuthorizationUseCase");const c=()=>new a.ContainerModule(({bind:o})=>{o(p.eip7702Types.SignDelegationAuthorizationUseCase).to(m.SignDelegationAuthorizationUseCase)});0&&(module.exports={eip7702ModuleFactory});
2
+ //# sourceMappingURL=eip7702Module.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/di/eip7702Module.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { eip7702Types } from \"@internal/eip7702/di/eip7702Types\";\nimport { SignDelegationAuthorizationUseCase } from \"@internal/eip7702/use-case/SignDelegationAuthorizationUseCase\";\n\nexport const eip7702ModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(eip7702Types.SignDelegationAuthorizationUseCase).to(\n SignDelegationAuthorizationUseCase,\n );\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6B,6CAC7BC,EAAmD,yEAE5C,MAAMJ,EAAuB,IAClC,IAAI,kBAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAK,eAAa,kCAAkC,EAAE,GACpD,oCACF,CACF,CAAC",
6
+ "names": ["eip7702Module_exports", "__export", "eip7702ModuleFactory", "__toCommonJS", "import_inversify", "import_eip7702Types", "import_SignDelegationAuthorizationUseCase", "bind"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("inversify"),r=require("./eip7702Module");describe("eip7702ModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=(0,r.eip7702ModuleFactory)(),o=new t.Container,o.load(e)}),it("should return the eip7702 module",()=>{expect(e).toBeDefined()})})});
2
+ //# sourceMappingURL=eip7702Module.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/di/eip7702Module.test.ts"],
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { eip7702ModuleFactory } from \"./eip7702Module\";\n\ndescribe(\"eip7702ModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof eip7702ModuleFactory>;\n beforeEach(() => {\n mod = eip7702ModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the eip7702 module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAqC,2BAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,wBAAqB,EAC3BD,EAAY,IAAI,YAChBA,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_inversify", "import_eip7702Module", "container", "mod"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var n=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var l=(o,e)=>{for(var t in e)n(o,t,{get:e[t],enumerable:!0})},p=(o,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of g(e))!r.call(o,i)&&i!==t&&n(o,i,{get:()=>e[i],enumerable:!(a=s(e,i))||a.enumerable});return o};var S=o=>p(n({},"__esModule",{value:!0}),o);var u={};l(u,{eip7702Types:()=>h});module.exports=S(u);const h={SignDelegationAuthorizationUseCase:Symbol.for("SignDelegationAuthorizationUseCase")};0&&(module.exports={eip7702Types});
2
+ //# sourceMappingURL=eip7702Types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/di/eip7702Types.ts"],
4
+ "sourcesContent": ["export const eip7702Types = {\n SignDelegationAuthorizationUseCase: Symbol.for(\n \"SignDelegationAuthorizationUseCase\",\n ),\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAe,CAC1B,mCAAoC,OAAO,IACzC,oCACF,CACF",
6
+ "names": ["eip7702Types_exports", "__export", "eip7702Types", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var b=(t,r)=>{for(var i in r)o(t,i,{get:r[i],enumerable:!0})},g=(t,r,i,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of a(r))!f.call(t,p)&&p!==i&&o(t,p,{get:()=>r[p],enumerable:!(n=u(r,p))||n.enumerable});return t};var s=t=>g(o({},"__esModule",{value:!0}),t),c=(t,r,i,n)=>{for(var p=n>1?void 0:n?u(r,i):r,d=t.length-1,B;d>=0;d--)(B=t[d])&&(p=(n?B(r,i,p):B(p))||p);return n&&p&&o(r,i,p),p},A=(t,r)=>(i,n)=>r(i,n,t);var y={};b(y,{SignDelegationAuthorizationUseCase:()=>e});module.exports=s(y);var m=require("inversify"),h=require("../../app-binder/di/appBinderTypes");let e=class{_appBinder;constructor(r){this._appBinder=r}execute(r,i,n,p){return this._appBinder.signDelegationAuthorization({derivationPath:r,nonce:i,address:n,chainId:p})}};e=c([(0,m.injectable)(),A(0,(0,m.inject)(h.appBinderTypes.AppBinding))],e);0&&(module.exports={SignDelegationAuthorizationUseCase});
2
+ //# sourceMappingURL=SignDelegationAuthorizationUseCase.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.ts"],
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignDelegationAuthorizationDAReturnType } from \"@api/app-binder/SignDelegationAuthorizationTypes\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\n@injectable()\nexport class SignDelegationAuthorizationUseCase {\n private _appBinder: EthAppBinder;\n\n constructor(\n @inject(appBinderTypes.AppBinding)\n appBinding: EthAppBinder,\n ) {\n this._appBinder = appBinding;\n }\n\n execute(\n derivationPath: string,\n nonce: number,\n address: string,\n chainId: number,\n ): SignDelegationAuthorizationDAReturnType {\n return this._appBinder.signDelegationAuthorization({\n derivationPath,\n nonce,\n address,\n chainId,\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAGnCC,EAA+B,kDAIxB,IAAMC,EAAN,KAAyC,CACtC,WAER,YAEEC,EACA,CACA,KAAK,WAAaA,CACpB,CAEA,QACEC,EACAC,EACAC,EACAC,EACyC,CACzC,OAAO,KAAK,WAAW,4BAA4B,CACjD,eAAAH,EACA,MAAAC,EACA,QAAAC,EACA,QAAAC,CACF,CAAC,CACH,CACF,EAvBaL,EAANM,EAAA,IADN,cAAW,EAKPC,EAAA,eAAO,iBAAe,UAAU,IAJxBP",
6
+ "names": ["SignDelegationAuthorizationUseCase_exports", "__export", "SignDelegationAuthorizationUseCase", "__toCommonJS", "import_inversify", "import_appBinderTypes", "SignDelegationAuthorizationUseCase", "appBinding", "derivationPath", "nonce", "address", "chainId", "__decorateClass", "__decorateParam"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var s=require("./SignDelegationAuthorizationUseCase");describe("SignDelegationAuthorizationUseCase",()=>{it("should call signPersonalMessage on appBinder with the correct arguments",()=>{const e="44'/501'/0'/0'",n="address",i={signDelegationAuthorization:vi.fn()};new s.SignDelegationAuthorizationUseCase(i).execute(e,42,n,2),expect(i.signDelegationAuthorization).toHaveBeenCalledWith({derivationPath:e,nonce:42,address:n,chainId:2})})});
2
+ //# sourceMappingURL=SignDelegationAuthorizationUseCase.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.ts"],
4
+ "sourcesContent": ["import { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\nimport { SignDelegationAuthorizationUseCase } from \"./SignDelegationAuthorizationUseCase\";\n\ndescribe(\"SignDelegationAuthorizationUseCase\", () => {\n it(\"should call signPersonalMessage on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"44'/501'/0'/0'\";\n const chainId = 2;\n const nonce = 42;\n const address = \"address\";\n const appBinder = {\n signDelegationAuthorization: vi.fn(),\n };\n const signMessageUseCase = new SignDelegationAuthorizationUseCase(\n appBinder as unknown as EthAppBinder,\n );\n\n // When\n signMessageUseCase.execute(derivationPath, nonce, address, chainId);\n\n // Then\n expect(appBinder.signDelegationAuthorization).toHaveBeenCalledWith({\n derivationPath,\n nonce,\n address,\n chainId,\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAAmD,gDAEnD,SAAS,qCAAsC,IAAM,CACnD,GAAG,0EAA2E,IAAM,CAElF,MAAMC,EAAiB,iBAGjBC,EAAU,UACVC,EAAY,CAChB,4BAA6B,GAAG,GAAG,CACrC,EAC2B,IAAI,qCAC7BA,CACF,EAGmB,QAAQF,EAAgB,GAAOC,EAAS,CAAO,EAGlE,OAAOC,EAAU,2BAA2B,EAAE,qBAAqB,CACjE,eAAAF,EACA,SACA,QAAAC,EACA,SACF,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["import_SignDelegationAuthorizationUseCase", "derivationPath", "address", "appBinder"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var t=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var c=(o,e)=>{for(var s in e)t(o,s,{get:e[s],enumerable:!0})},p=(o,e,s,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of g(e))!_.call(o,n)&&n!==s&&t(o,n,{get:()=>e[n],enumerable:!(i=d(e,n))||i.enumerable});return o};var u=o=>p(t({},"__esModule",{value:!0}),o);var b={};c(b,{messageModuleFactory:()=>M});module.exports=u(b);var a=require("inversify"),r=require("../../message/di/messageTypes"),m=require("../../message/use-case/SignMessageUseCase");const M=()=>new a.ContainerModule((o,e,s,i,n,f,y)=>{o(r.messageTypes.SignMessageUseCase).to(m.SignMessageUseCase)});0&&(module.exports={messageModuleFactory});
1
+ "use strict";var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var f=(e,s)=>{for(var r in s)a(e,r,{get:s[r],enumerable:!0})},C=(e,s,r,m)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of p(s))!M.call(e,o)&&o!==r&&a(e,o,{get:()=>s[o],enumerable:!(m=n(s,o))||m.enumerable});return e};var c=e=>C(a({},"__esModule",{value:!0}),e);var l={};f(l,{messageModuleFactory:()=>d});module.exports=c(l);var t=require("inversify"),g=require("../../message/di/messageTypes"),i=require("../../message/use-case/SignMessageUseCase");const d=()=>new t.ContainerModule(({bind:e})=>{e(g.messageTypes.SignMessageUseCase).to(i.SignMessageUseCase)});0&&(module.exports={messageModuleFactory});
2
2
  //# sourceMappingURL=messageModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/di/messageModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\n\nexport const messageModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(messageTypes.SignMessageUseCase).to(SignMessageUseCase);\n },\n );\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6B,6CAC7BC,EAAmC,yDAE5B,MAAMJ,EAAuB,IAClC,IAAI,kBACF,CACEK,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAK,eAAa,kBAAkB,EAAE,GAAG,oBAAkB,CAC7D,CACF",
6
- "names": ["messageModule_exports", "__export", "messageModuleFactory", "__toCommonJS", "import_inversify", "import_messageTypes", "import_SignMessageUseCase", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\n\nexport const messageModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(messageTypes.SignMessageUseCase).to(SignMessageUseCase);\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6B,6CAC7BC,EAAmC,yDAE5B,MAAMJ,EAAuB,IAClC,IAAI,kBAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAK,eAAa,kBAAkB,EAAE,GAAG,oBAAkB,CAC7D,CAAC",
6
+ "names": ["messageModule_exports", "__export", "messageModuleFactory", "__toCommonJS", "import_inversify", "import_messageTypes", "import_SignMessageUseCase", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("inversify"),r=require("./messageModule");describe("messageModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=(0,r.messageModuleFactory)(),o=new t.Container,o.load(e)}),it("should return the message module",()=>{expect(e).toBeDefined()})})});
1
+ "use strict";var t=require("inversify"),r=require("./messageModule");describe("messageModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=(0,r.messageModuleFactory)(),o=new t.Container,o.loadSync(e)}),it("should return the message module",()=>{expect(e).toBeDefined()})})});
2
2
  //# sourceMappingURL=messageModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/di/messageModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { messageModuleFactory } from \"./messageModule\";\n\ndescribe(\"messageModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof messageModuleFactory>;\n beforeEach(() => {\n mod = messageModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the message module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAqC,2BAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,wBAAqB,EAC3BD,EAAY,IAAI,YAChBA,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { messageModuleFactory } from \"./messageModule\";\n\ndescribe(\"messageModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof messageModuleFactory>;\n beforeEach(() => {\n mod = messageModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the message module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAqC,2BAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,wBAAqB,EAC3BD,EAAY,IAAI,YAChBA,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_inversify", "import_messageModule", "container", "mod"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var u=(p,r)=>{for(var i in r)o(p,i,{get:r[i],enumerable:!0})},f=(p,r,i,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of h(r))!l.call(p,t)&&t!==i&&o(p,t,{get:()=>r[t],enumerable:!(n=B(r,t))||n.enumerable});return p};var y=p=>f(o({},"__esModule",{value:!0}),p),A=(p,r,i,n)=>{for(var t=n>1?void 0:n?B(r,i):r,d=p.length-1,m;d>=0;d--)(m=p[d])&&(t=(n?m(r,i,t):m(t))||t);return n&&t&&o(r,i,t),t},c=(p,r)=>(i,n)=>r(i,n,p);var g={};u(g,{SignMessageUseCase:()=>e});module.exports=y(g);var a=require("inversify"),s=require("../../app-binder/di/appBinderTypes");let e=class{_appBinder;constructor(r){this._appBinder=r}execute(r,i){return this._appBinder.signPersonalMessage({derivationPath:r,message:i})}};e=A([(0,a.injectable)(),c(0,(0,a.inject)(s.appBinderTypes.AppBinding))],e);0&&(module.exports={SignMessageUseCase});
1
+ "use strict";var o=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var g=(r,p)=>{for(var e in p)o(r,e,{get:p[e],enumerable:!0})},h=(r,p,e,n)=>{if(p&&typeof p=="object"||typeof p=="function")for(let i of f(p))!l.call(r,i)&&i!==e&&o(r,i,{get:()=>p[i],enumerable:!(n=A(p,i))||n.enumerable});return r};var u=r=>h(o({},"__esModule",{value:!0}),r),d=(r,p,e,n)=>{for(var i=n>1?void 0:n?A(p,e):p,a=r.length-1,m;a>=0;a--)(m=r[a])&&(i=(n?m(p,e,i):m(i))||i);return n&&i&&o(p,e,i),i},B=(r,p)=>(e,n)=>p(e,n,r);var y={};g(y,{SignMessageUseCase:()=>t});module.exports=u(y);var s=require("inversify"),c=require("../../app-binder/di/appBinderTypes");let t=class{_appBinder;constructor(p){this._appBinder=p}execute(p,e,n){return this._appBinder.signPersonalMessage({derivationPath:p,message:e,skipOpenApp:n?.skipOpenApp??!1})}};t=d([(0,s.injectable)(),B(0,(0,s.inject)(c.appBinderTypes.AppBinding))],t);0&&(module.exports={SignMessageUseCase});
2
2
  //# sourceMappingURL=SignMessageUseCase.js.map