@ledgerhq/device-signer-kit-ethereum 0.0.0-hid-candidate-3-20250528083456 → 0.0.0-intent-queue-1-20251112094350

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 (724) 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.test.js +1 -1
  5. package/lib/cjs/api/SignerEthBuilder.test.js.map +2 -2
  6. package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js +2 -0
  7. package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js.map +7 -0
  8. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  9. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
  10. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  11. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
  12. package/lib/cjs/api/app-binder/VerifySafeAddressDeviceActionTypes.js +2 -0
  13. package/lib/cjs/api/app-binder/VerifySafeAddressDeviceActionTypes.js.map +7 -0
  14. package/lib/cjs/api/index.js +1 -1
  15. package/lib/cjs/api/index.js.map +3 -3
  16. package/lib/cjs/api/model/ClearSigningType.js +2 -0
  17. package/lib/cjs/api/model/ClearSigningType.js.map +7 -0
  18. package/lib/cjs/api/model/SafeAddressOptions.js +2 -0
  19. package/lib/cjs/api/model/SafeAddressOptions.js.map +7 -0
  20. package/lib/cjs/internal/DefaultSignerEth.js +1 -1
  21. package/lib/cjs/internal/DefaultSignerEth.js.map +3 -3
  22. package/lib/cjs/internal/DefaultSignerEth.test.js +1 -1
  23. package/lib/cjs/internal/DefaultSignerEth.test.js.map +3 -3
  24. package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
  25. package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
  26. package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
  27. package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +3 -3
  28. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js +1 -1
  29. package/lib/cjs/internal/app-binder/command/GetAddressCommand.js.map +2 -2
  30. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  31. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  32. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js +1 -1
  33. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js.map +2 -2
  34. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js +1 -1
  35. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +2 -2
  36. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js +1 -1
  37. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js.map +2 -2
  38. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
  39. package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
  40. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js +1 -1
  41. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js.map +2 -2
  42. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
  43. package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
  44. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
  45. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js.map +2 -2
  46. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js +1 -1
  47. package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +3 -3
  48. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  49. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  50. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  51. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  52. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  53. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  54. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  55. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  56. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.js +2 -0
  57. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.js.map +7 -0
  58. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.test.js +2 -0
  59. package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.test.js.map +7 -0
  60. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
  61. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js.map +2 -2
  62. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js +1 -1
  63. package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +2 -2
  64. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
  65. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +2 -2
  66. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
  67. package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
  68. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
  69. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +2 -2
  70. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
  71. package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
  72. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
  73. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js.map +2 -2
  74. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js +1 -1
  75. package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +3 -3
  76. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js +1 -1
  77. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +2 -2
  78. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +1 -1
  79. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +3 -3
  80. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  81. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  82. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  83. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  84. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
  85. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +2 -2
  86. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
  87. package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +3 -3
  88. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
  89. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +2 -2
  90. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +1 -1
  91. package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +3 -3
  92. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
  93. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js.map +2 -2
  94. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
  95. package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
  96. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js +1 -1
  97. package/lib/cjs/internal/app-binder/command/SetPluginCommand.js.map +2 -2
  98. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js +2 -2
  99. package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
  100. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  101. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  102. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  103. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  104. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js +1 -1
  105. package/lib/cjs/internal/app-binder/command/SignEIP712Command.js.map +3 -3
  106. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js +1 -1
  107. package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
  108. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
  109. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js.map +2 -2
  110. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js +1 -1
  111. package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +3 -3
  112. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js +1 -1
  113. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js.map +2 -2
  114. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  115. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +3 -3
  116. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js +1 -1
  117. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js.map +2 -2
  118. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  119. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
  120. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js +1 -1
  121. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js.map +2 -2
  122. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
  123. package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
  124. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js +1 -1
  125. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js.map +2 -2
  126. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js +1 -1
  127. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +3 -3
  128. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  129. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  130. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  131. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  132. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  133. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  134. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  135. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  136. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js +2 -0
  137. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js.map +7 -0
  138. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js +2 -0
  139. package/lib/cjs/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js.map +7 -0
  140. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  141. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  142. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js +2 -0
  143. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js.map +7 -0
  144. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.js +2 -0
  145. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.js.map +7 -0
  146. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.test.js +2 -0
  147. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.test.js.map +7 -0
  148. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  149. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  150. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  151. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  152. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.js +2 -0
  153. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.js.map +7 -0
  154. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.test.js +2 -0
  155. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.test.js.map +7 -0
  156. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.js +2 -0
  157. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.js.map +7 -0
  158. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.test.js +2 -0
  159. package/lib/cjs/internal/app-binder/task/BuildSafeAddressContextTask.test.js.map +7 -0
  160. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.js +2 -0
  161. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.js.map +7 -0
  162. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.test.js +2 -0
  163. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.test.js.map +7 -0
  164. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.js +2 -0
  165. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.js.map +7 -0
  166. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.test.js +2 -0
  167. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.test.js.map +7 -0
  168. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.js +2 -0
  169. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.js.map +7 -0
  170. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.test.js +2 -0
  171. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.test.js.map +7 -0
  172. package/lib/cjs/internal/app-binder/task/ProvideContextTask.js +2 -0
  173. package/lib/cjs/internal/app-binder/task/ProvideContextTask.js.map +7 -0
  174. package/lib/cjs/internal/app-binder/task/ProvideContextTask.test.js +2 -0
  175. package/lib/cjs/internal/app-binder/task/ProvideContextTask.test.js.map +7 -0
  176. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  177. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  178. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  179. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  180. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.js +2 -0
  181. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.js.map +7 -0
  182. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.test.js +2 -0
  183. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextsTask.test.js.map +7 -0
  184. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  185. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  186. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  187. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  188. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  189. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  190. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  191. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  192. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  193. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  194. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  195. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  196. package/lib/cjs/internal/di.js +1 -1
  197. package/lib/cjs/internal/di.js.map +3 -3
  198. package/lib/cjs/internal/eip7702/di/eip7702Module.js +2 -0
  199. package/lib/cjs/internal/eip7702/di/eip7702Module.js.map +7 -0
  200. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js +2 -0
  201. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  202. package/lib/cjs/internal/eip7702/di/eip7702Types.js +2 -0
  203. package/lib/cjs/internal/eip7702/di/eip7702Types.js.map +7 -0
  204. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  205. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  206. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  207. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  208. package/lib/cjs/internal/safe/di/safeModule.js +2 -0
  209. package/lib/cjs/internal/safe/di/safeModule.js.map +7 -0
  210. package/lib/cjs/internal/safe/di/safeModule.test.js +2 -0
  211. package/lib/cjs/internal/safe/di/safeModule.test.js.map +7 -0
  212. package/lib/cjs/internal/safe/di/safeTypes.js +2 -0
  213. package/lib/cjs/internal/safe/di/safeTypes.js.map +7 -0
  214. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.js +2 -0
  215. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.js.map +7 -0
  216. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.test.js +2 -0
  217. package/lib/cjs/internal/safe/use-case/VerifySafeAddressUseCase.test.js.map +7 -0
  218. package/lib/cjs/internal/shared/utils/ApplicationChecker.js +1 -1
  219. package/lib/cjs/internal/shared/utils/ApplicationChecker.js.map +3 -3
  220. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js +1 -1
  221. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js.map +2 -2
  222. package/lib/cjs/internal/transaction/di/transactionModule.js +1 -1
  223. package/lib/cjs/internal/transaction/di/transactionModule.js.map +3 -3
  224. package/lib/cjs/internal/transaction/di/transactionModule.test.js +1 -1
  225. package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +2 -2
  226. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  227. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  228. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  229. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  230. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
  231. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +3 -3
  232. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
  233. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  234. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  235. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  236. package/lib/cjs/package.json +1 -1
  237. package/lib/esm/api/SignerEthBuilder.test.js +1 -1
  238. package/lib/esm/api/SignerEthBuilder.test.js.map +2 -2
  239. package/lib/esm/api/app-binder/SignDelegationAuthorizationTypes.js +1 -0
  240. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  241. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +2 -2
  242. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  243. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js.map +2 -2
  244. package/lib/esm/api/app-binder/VerifySafeAddressDeviceActionTypes.js +2 -0
  245. package/lib/esm/api/app-binder/VerifySafeAddressDeviceActionTypes.js.map +7 -0
  246. package/lib/esm/api/index.js +1 -1
  247. package/lib/esm/api/index.js.map +2 -2
  248. package/lib/esm/api/model/ClearSigningType.js +2 -0
  249. package/lib/esm/api/model/ClearSigningType.js.map +7 -0
  250. package/lib/esm/api/model/SafeAddressOptions.js +1 -0
  251. package/lib/esm/api/model/SafeAddressOptions.js.map +7 -0
  252. package/lib/esm/internal/DefaultSignerEth.js +1 -1
  253. package/lib/esm/internal/DefaultSignerEth.js.map +3 -3
  254. package/lib/esm/internal/DefaultSignerEth.test.js +1 -1
  255. package/lib/esm/internal/DefaultSignerEth.test.js.map +3 -3
  256. package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
  257. package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
  258. package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
  259. package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +3 -3
  260. package/lib/esm/internal/app-binder/command/GetAddressCommand.js +1 -1
  261. package/lib/esm/internal/app-binder/command/GetAddressCommand.js.map +2 -2
  262. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  263. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  264. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js +1 -1
  265. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js.map +2 -2
  266. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js +1 -1
  267. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +2 -2
  268. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js +1 -1
  269. package/lib/esm/internal/app-binder/command/GetChallengeCommand.js.map +2 -2
  270. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
  271. package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
  272. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js +1 -1
  273. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js.map +2 -2
  274. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
  275. package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
  276. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
  277. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js.map +2 -2
  278. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js +1 -1
  279. package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +3 -3
  280. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  281. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  282. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  283. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  284. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  285. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  286. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  287. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  288. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.js +2 -0
  289. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.js.map +7 -0
  290. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.test.js +2 -0
  291. package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.test.js.map +7 -0
  292. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
  293. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js.map +2 -2
  294. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js +1 -1
  295. package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +2 -2
  296. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
  297. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +2 -2
  298. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
  299. package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
  300. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
  301. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +2 -2
  302. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
  303. package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
  304. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
  305. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js.map +2 -2
  306. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js +1 -1
  307. package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +3 -3
  308. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js +1 -1
  309. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +2 -2
  310. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +1 -1
  311. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +3 -3
  312. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  313. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  314. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  315. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  316. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
  317. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +2 -2
  318. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
  319. package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +3 -3
  320. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
  321. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +2 -2
  322. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +1 -1
  323. package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +3 -3
  324. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
  325. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js.map +2 -2
  326. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
  327. package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
  328. package/lib/esm/internal/app-binder/command/SetPluginCommand.js +1 -1
  329. package/lib/esm/internal/app-binder/command/SetPluginCommand.js.map +2 -2
  330. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js +2 -2
  331. package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
  332. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  333. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  334. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  335. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  336. package/lib/esm/internal/app-binder/command/SignEIP712Command.js +1 -1
  337. package/lib/esm/internal/app-binder/command/SignEIP712Command.js.map +2 -2
  338. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js +1 -1
  339. package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
  340. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
  341. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js.map +2 -2
  342. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js +1 -1
  343. package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +3 -3
  344. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js +1 -1
  345. package/lib/esm/internal/app-binder/command/SignTransactionCommand.js.map +2 -2
  346. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  347. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +3 -3
  348. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js +1 -1
  349. package/lib/esm/internal/app-binder/command/StartTransactionCommand.js.map +2 -2
  350. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  351. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
  352. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js +1 -1
  353. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js.map +2 -2
  354. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
  355. package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
  356. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js +1 -1
  357. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js.map +2 -2
  358. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js +1 -1
  359. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +3 -3
  360. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  361. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  362. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  363. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  364. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  365. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  366. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  367. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  368. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js +2 -0
  369. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.js.map +7 -0
  370. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js +2 -0
  371. package/lib/esm/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.js.map +7 -0
  372. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  373. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  374. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js +2 -0
  375. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js.map +7 -0
  376. package/lib/esm/internal/app-binder/task/BuildBaseContexts.js +2 -0
  377. package/lib/esm/internal/app-binder/task/BuildBaseContexts.js.map +7 -0
  378. package/lib/esm/internal/app-binder/task/BuildBaseContexts.test.js +2 -0
  379. package/lib/esm/internal/app-binder/task/BuildBaseContexts.test.js.map +7 -0
  380. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  381. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  382. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  383. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  384. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.js +2 -0
  385. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.js.map +7 -0
  386. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.test.js +2 -0
  387. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.test.js.map +7 -0
  388. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.js +2 -0
  389. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.js.map +7 -0
  390. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.test.js +2 -0
  391. package/lib/esm/internal/app-binder/task/BuildSafeAddressContextTask.test.js.map +7 -0
  392. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.js +2 -0
  393. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.js.map +7 -0
  394. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.test.js +2 -0
  395. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.test.js.map +7 -0
  396. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.js +2 -0
  397. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.js.map +7 -0
  398. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.test.js +2 -0
  399. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.test.js.map +7 -0
  400. package/lib/esm/internal/app-binder/task/ParseTransactionTask.js +2 -0
  401. package/lib/esm/internal/app-binder/task/ParseTransactionTask.js.map +7 -0
  402. package/lib/esm/internal/app-binder/task/ParseTransactionTask.test.js +2 -0
  403. package/lib/esm/internal/app-binder/task/ParseTransactionTask.test.js.map +7 -0
  404. package/lib/esm/internal/app-binder/task/ProvideContextTask.js +2 -0
  405. package/lib/esm/internal/app-binder/task/ProvideContextTask.js.map +7 -0
  406. package/lib/esm/internal/app-binder/task/ProvideContextTask.test.js +2 -0
  407. package/lib/esm/internal/app-binder/task/ProvideContextTask.test.js.map +7 -0
  408. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  409. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  410. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  411. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  412. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.js +2 -0
  413. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.js.map +7 -0
  414. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.test.js +2 -0
  415. package/lib/esm/internal/app-binder/task/ProvideTransactionContextsTask.test.js.map +7 -0
  416. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  417. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  418. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  419. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  420. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  421. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  422. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  423. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  424. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  425. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  426. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  427. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  428. package/lib/esm/internal/di.js +1 -1
  429. package/lib/esm/internal/di.js.map +3 -3
  430. package/lib/esm/internal/eip7702/di/eip7702Module.js +2 -0
  431. package/lib/esm/internal/eip7702/di/eip7702Module.js.map +7 -0
  432. package/lib/esm/internal/eip7702/di/eip7702Module.test.js +2 -0
  433. package/lib/esm/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  434. package/lib/esm/internal/eip7702/di/eip7702Types.js +2 -0
  435. package/lib/esm/internal/eip7702/di/eip7702Types.js.map +7 -0
  436. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  437. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  438. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  439. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  440. package/lib/esm/internal/safe/di/safeModule.js +2 -0
  441. package/lib/esm/internal/safe/di/safeModule.js.map +7 -0
  442. package/lib/esm/internal/safe/di/safeModule.test.js +2 -0
  443. package/lib/esm/internal/safe/di/safeModule.test.js.map +7 -0
  444. package/lib/esm/internal/safe/di/safeTypes.js +2 -0
  445. package/lib/esm/internal/safe/di/safeTypes.js.map +7 -0
  446. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.js +2 -0
  447. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.js.map +7 -0
  448. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.test.js +2 -0
  449. package/lib/esm/internal/safe/use-case/VerifySafeAddressUseCase.test.js.map +7 -0
  450. package/lib/esm/internal/shared/utils/ApplicationChecker.js +1 -1
  451. package/lib/esm/internal/shared/utils/ApplicationChecker.js.map +3 -3
  452. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js +1 -1
  453. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js.map +2 -2
  454. package/lib/esm/internal/transaction/di/transactionModule.js +1 -1
  455. package/lib/esm/internal/transaction/di/transactionModule.js.map +3 -3
  456. package/lib/esm/internal/transaction/di/transactionModule.test.js +1 -1
  457. package/lib/esm/internal/transaction/di/transactionModule.test.js.map +2 -2
  458. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  459. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  460. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  461. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  462. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +0 -1
  463. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +4 -4
  464. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
  465. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  466. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  467. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  468. package/lib/esm/package.json +1 -1
  469. package/lib/types/api/SignerEth.d.ts +7 -2
  470. package/lib/types/api/SignerEth.d.ts.map +1 -1
  471. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts +19 -0
  472. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts.map +1 -0
  473. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +12 -11
  474. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  475. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +6 -0
  476. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
  477. package/lib/types/api/app-binder/VerifySafeAddressDeviceActionTypes.d.ts +30 -0
  478. package/lib/types/api/app-binder/VerifySafeAddressDeviceActionTypes.d.ts.map +1 -0
  479. package/lib/types/api/index.d.ts +5 -4
  480. package/lib/types/api/index.d.ts.map +1 -1
  481. package/lib/types/api/model/ClearSigningType.d.ts +5 -0
  482. package/lib/types/api/model/ClearSigningType.d.ts.map +1 -0
  483. package/lib/types/api/model/SafeAddressOptions.d.ts +5 -0
  484. package/lib/types/api/model/SafeAddressOptions.d.ts.map +1 -0
  485. package/lib/types/internal/DefaultSignerEth.d.ts +5 -0
  486. package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
  487. package/lib/types/internal/app-binder/EthAppBinder.d.ts +14 -1
  488. package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
  489. package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts +1 -0
  490. package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts.map +1 -1
  491. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts +1 -0
  492. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts.map +1 -1
  493. package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts +1 -0
  494. package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts.map +1 -1
  495. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts +1 -0
  496. package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts.map +1 -1
  497. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +1 -0
  498. package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +1 -1
  499. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts +29 -0
  500. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts.map +1 -0
  501. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts +2 -0
  502. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts.map +1 -0
  503. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts +21 -0
  504. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts.map +1 -0
  505. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts +2 -0
  506. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts.map +1 -0
  507. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.d.ts +35 -0
  508. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.d.ts.map +1 -0
  509. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.test.d.ts +2 -0
  510. package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.test.d.ts.map +1 -0
  511. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +1 -0
  512. package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +1 -1
  513. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts +1 -0
  514. package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts.map +1 -1
  515. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts +1 -0
  516. package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts.map +1 -1
  517. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts +1 -0
  518. package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts.map +1 -1
  519. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts +1 -0
  520. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts.map +1 -1
  521. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +30 -1
  522. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -1
  523. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +1 -0
  524. package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +1 -1
  525. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +1 -0
  526. package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +1 -1
  527. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts +1 -0
  528. package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +1 -1
  529. package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts +1 -0
  530. package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts.map +1 -1
  531. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts +30 -0
  532. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts.map +1 -0
  533. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts +2 -0
  534. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts.map +1 -0
  535. package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts +1 -0
  536. package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts.map +1 -1
  537. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts +1 -0
  538. package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +1 -1
  539. package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts +1 -0
  540. package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts.map +1 -1
  541. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts +1 -0
  542. package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts.map +1 -1
  543. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts +1 -0
  544. package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts.map +1 -1
  545. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts +1 -0
  546. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts.map +1 -1
  547. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +19 -36
  548. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
  549. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +9 -0
  550. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
  551. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.d.ts +20 -0
  552. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.d.ts.map +1 -0
  553. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.d.ts +2 -0
  554. package/lib/types/internal/app-binder/device-action/VerifySafeAddress/VerifySafeAddress.test.d.ts.map +1 -0
  555. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  556. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.d.ts +6 -0
  557. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.d.ts.map +1 -0
  558. package/lib/types/internal/app-binder/task/BuildBaseContexts.d.ts +47 -0
  559. package/lib/types/internal/app-binder/task/BuildBaseContexts.d.ts.map +1 -0
  560. package/lib/types/internal/app-binder/task/BuildBaseContexts.test.d.ts +2 -0
  561. package/lib/types/internal/app-binder/task/BuildBaseContexts.test.d.ts.map +1 -0
  562. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts +10 -3
  563. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
  564. package/lib/types/internal/app-binder/task/BuildFullContextsTask.d.ts +39 -0
  565. package/lib/types/internal/app-binder/task/BuildFullContextsTask.d.ts.map +1 -0
  566. package/lib/types/internal/app-binder/task/BuildFullContextsTask.test.d.ts +2 -0
  567. package/lib/types/internal/app-binder/task/BuildFullContextsTask.test.d.ts.map +1 -0
  568. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.d.ts +19 -0
  569. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.d.ts.map +1 -0
  570. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.test.d.ts +2 -0
  571. package/lib/types/internal/app-binder/task/BuildSafeAddressContextTask.test.d.ts.map +1 -0
  572. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.d.ts +28 -0
  573. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.d.ts.map +1 -0
  574. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.test.d.ts +2 -0
  575. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.test.d.ts.map +1 -0
  576. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.d.ts +21 -0
  577. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.d.ts.map +1 -0
  578. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.test.d.ts +2 -0
  579. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.test.d.ts.map +1 -0
  580. package/lib/types/internal/app-binder/task/ParseTransactionTask.d.ts +17 -0
  581. package/lib/types/internal/app-binder/task/ParseTransactionTask.d.ts.map +1 -0
  582. package/lib/types/internal/app-binder/task/ParseTransactionTask.test.d.ts +2 -0
  583. package/lib/types/internal/app-binder/task/ParseTransactionTask.test.d.ts.map +1 -0
  584. package/lib/types/internal/app-binder/task/ProvideContextTask.d.ts +22 -0
  585. package/lib/types/internal/app-binder/task/ProvideContextTask.d.ts.map +1 -0
  586. package/lib/types/internal/app-binder/task/ProvideContextTask.test.d.ts +2 -0
  587. package/lib/types/internal/app-binder/task/ProvideContextTask.test.d.ts.map +1 -0
  588. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +16 -5
  589. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
  590. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.d.ts +36 -0
  591. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.d.ts.map +1 -0
  592. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.test.d.ts +2 -0
  593. package/lib/types/internal/app-binder/task/ProvideTransactionContextsTask.test.d.ts.map +1 -0
  594. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +2 -2
  595. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -1
  596. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts +18 -0
  597. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts.map +1 -0
  598. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts +2 -0
  599. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts.map +1 -0
  600. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +2 -1
  601. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -1
  602. package/lib/types/internal/di.d.ts.map +1 -1
  603. package/lib/types/internal/eip7702/di/eip7702Module.d.ts +3 -0
  604. package/lib/types/internal/eip7702/di/eip7702Module.d.ts.map +1 -0
  605. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts +2 -0
  606. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts.map +1 -0
  607. package/lib/types/internal/eip7702/di/eip7702Types.d.ts +4 -0
  608. package/lib/types/internal/eip7702/di/eip7702Types.d.ts.map +1 -0
  609. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts +8 -0
  610. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts.map +1 -0
  611. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts +2 -0
  612. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts.map +1 -0
  613. package/lib/types/internal/safe/di/safeModule.d.ts +3 -0
  614. package/lib/types/internal/safe/di/safeModule.d.ts.map +1 -0
  615. package/lib/types/internal/safe/di/safeModule.test.d.ts +2 -0
  616. package/lib/types/internal/safe/di/safeModule.test.d.ts.map +1 -0
  617. package/lib/types/internal/safe/di/safeTypes.d.ts +4 -0
  618. package/lib/types/internal/safe/di/safeTypes.d.ts.map +1 -0
  619. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.d.ts +9 -0
  620. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.d.ts.map +1 -0
  621. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.test.d.ts +2 -0
  622. package/lib/types/internal/safe/use-case/VerifySafeAddressUseCase.test.d.ts.map +1 -0
  623. package/lib/types/internal/shared/utils/ApplicationChecker.d.ts.map +1 -1
  624. package/lib/types/internal/transaction/di/transactionModule.d.ts.map +1 -1
  625. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts +8 -0
  626. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts.map +1 -0
  627. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts +2 -0
  628. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts.map +1 -0
  629. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts +4 -7
  630. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -1
  631. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts +2 -2
  632. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -1
  633. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  634. package/package.json +9 -9
  635. package/lib/cjs/internal/app-binder/constant/plugins.js +0 -2
  636. package/lib/cjs/internal/app-binder/constant/plugins.js.map +0 -7
  637. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +0 -2
  638. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +0 -7
  639. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +0 -2
  640. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +0 -7
  641. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js +0 -2
  642. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js.map +0 -7
  643. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js +0 -2
  644. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js.map +0 -7
  645. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +0 -2
  646. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +0 -7
  647. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +0 -2
  648. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +0 -7
  649. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  650. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  651. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  652. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  653. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  654. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  655. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  656. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  657. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  658. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  659. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  660. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  661. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +0 -2
  662. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +0 -7
  663. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  664. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  665. package/lib/esm/internal/app-binder/constant/plugins.js +0 -2
  666. package/lib/esm/internal/app-binder/constant/plugins.js.map +0 -7
  667. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +0 -2
  668. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +0 -7
  669. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +0 -2
  670. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +0 -7
  671. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js +0 -2
  672. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js.map +0 -7
  673. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js +0 -2
  674. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js.map +0 -7
  675. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +0 -2
  676. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +0 -7
  677. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +0 -2
  678. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +0 -7
  679. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  680. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  681. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  682. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  683. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  684. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  685. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  686. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  687. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  688. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  689. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  690. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  691. package/lib/esm/internal/transaction/service/mapper/TransactionMapper.js +0 -1
  692. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  693. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  694. package/lib/types/internal/app-binder/constant/plugins.d.ts +0 -2
  695. package/lib/types/internal/app-binder/constant/plugins.d.ts.map +0 -1
  696. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +0 -32
  697. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +0 -1
  698. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts +0 -2
  699. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts.map +0 -1
  700. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts +0 -30
  701. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts.map +0 -1
  702. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts +0 -2
  703. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts.map +0 -1
  704. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +0 -38
  705. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +0 -1
  706. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts +0 -2
  707. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts.map +0 -1
  708. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +0 -80
  709. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +0 -1
  710. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts +0 -2
  711. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts.map +0 -1
  712. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +0 -28
  713. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +0 -1
  714. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts +0 -2
  715. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts.map +0 -1
  716. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts +0 -7
  717. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts.map +0 -1
  718. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts +0 -2
  719. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts.map +0 -1
  720. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -6
  721. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
  722. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts +0 -2
  723. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts.map +0 -1
  724. /package/lib/esm/{internal/transaction/service/mapper/TransactionMapper.js.map → api/app-binder/SignDelegationAuthorizationTypes.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";var v=require("@ledgerhq/device-management-kit"),c=require("@ledgerhq/device-management-kit"),g=require("@ledgerhq/device-management-kit"),S=require("@ledgerhq/device-management-kit"),y=require("ethers"),A=require("rxjs"),f=require("./command/GetAddressCommand"),h=require("./constant/plugins"),u=require("./EthAppBinder");describe("EthAppBinder",()=>{const a={sendCommand:vi.fn(),executeDeviceAction:vi.fn()},m={getContext:vi.fn(),getContexts:vi.fn(),getTypedDataFilters:vi.fn(),getWeb3Checks:vi.fn()},D={mapTransactionToSubset:vi.fn()},l={extractValue:vi.fn()};beforeEach(()=>{vi.clearAllMocks()}),describe("getAddress",()=>{it("should return the address, publicKey, and chainCode",()=>new Promise((s,r)=>{const e="0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",i="04e3785ca";vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:(0,A.from)([{status:c.DeviceActionStatus.Completed,output:{address:e,publicKey:i,chainCode:void 0}}]),cancel:vi.fn()});const p=new u.EthAppBinder(a,m,D,l,"sessionId"),{observable:o}=p.getAddress({derivationPath:"44'/60'/3'/2/1",checkOnDevice:!1,returnChainCode:!1,skipOpenApp:!1}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{r(n)},complete:()=>{try{expect(t).toEqual([{status:c.DeviceActionStatus.Completed,output:{address:e,publicKey:i,chainCode:void 0}}]),s()}catch(n){r(n)}}})})),describe("calls of executeDeviceAction with the correct params",()=>{const s={derivationPath:"44'/60'/3'/2/1",checkOnDevice:!1,returnChainCode:!1,skipOpenApp:!1};test("when checkOnDevice is true: UserInteractionRequired.VerifyAddress",()=>{const e={...s,checkOnDevice:!0};new u.EthAppBinder(a,m,D,l,"sessionId").getAddress(e),expect(a.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new g.SendCommandInAppDeviceAction({input:{command:new f.GetAddressCommand(e),appName:"Ethereum",requiredUserInteraction:S.UserInteractionRequired.VerifyAddress,compatibleAppNames:h.ETHEREUM_PLUGINS,skipOpenApp:!1}})})}),test("when checkOnDevice is false: UserInteractionRequired.None",()=>{const e={...s,checkOnDevice:!1};new u.EthAppBinder(a,m,D,l,"sessionId").getAddress(e),expect(a.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new g.SendCommandInAppDeviceAction({input:{command:new f.GetAddressCommand(e),appName:"Ethereum",requiredUserInteraction:S.UserInteractionRequired.None,compatibleAppNames:h.ETHEREUM_PLUGINS,skipOpenApp:!1}})})})})}),describe("signTransaction",()=>{it("should return the signature",()=>new Promise((s,r)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i=(0,v.hexaStringToBuffer)(y.Transaction.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized),d={};vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:(0,A.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const p=new u.EthAppBinder(a,m,D,l,"sessionId"),{observable:o}=p.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:i,options:d}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{r(n)},complete:()=>{try{expect(t).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),s()}catch(n){r(n)}}})})),it("should return the signature without options",()=>new Promise((s,r)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i=(0,v.hexaStringToBuffer)(y.Transaction.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized);vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:(0,A.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const d=new u.EthAppBinder(a,m,D,l,"sessionId"),{observable:p}=d.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:i,options:void 0}),o=[];p.subscribe({next:t=>{o.push(t)},error:t=>{r(t)},complete:()=>{try{expect(o).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),s()}catch(t){r(t)}}})}))}),describe("signMessage",()=>{it("should return the signature",()=>new Promise((s,r)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i="Hello, World!";vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:(0,A.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const d=new u.EthAppBinder(a,m,D,l,"sessionId"),{observable:p}=d.signPersonalMessage({derivationPath:"44'/60'/3'/2/1",message:i,skipOpenApp:!1}),o=[];p.subscribe({next:t=>{o.push(t)},error:t=>{r(t)},complete:()=>{try{expect(o).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),s()}catch(t){r(t)}}})}))}),describe("signTypedData",()=>{it("should return the signature",()=>new Promise((s,r)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i={domain:{},types:{},primaryType:"test",message:{}},d={parse:vi.fn()};vi.spyOn(a,"executeDeviceAction").mockReturnValue({observable:(0,A.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const p=new u.EthAppBinder(a,m,D,l,"sessionId"),{observable:o}=p.signTypedData({derivationPath:"44'/60'/3'/2/1",parser:d,data:i,skipOpenApp:!1}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{r(n)},complete:()=>{try{expect(t).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),s()}catch(n){r(n)}}})}))})});
1
+ "use strict";var v=require("@ledgerhq/device-management-kit"),c=require("@ledgerhq/device-management-kit"),S=require("@ledgerhq/device-management-kit"),h=require("@ledgerhq/device-management-kit"),y=require("ethers"),m=require("rxjs"),f=require("./command/GetAddressCommand"),d=require("./EthAppBinder");describe("EthAppBinder",()=>{const r={sendCommand:vi.fn(),executeDeviceAction:vi.fn()},l={getFieldContext:vi.fn(),getContexts:vi.fn(),getTypedDataFilters:vi.fn()},D={mapTransactionToSubset:vi.fn()},A={extractValue:vi.fn()};beforeEach(()=>{vi.clearAllMocks()}),describe("getAddress",()=>{it("should return the address, publicKey, and chainCode",()=>new Promise((s,a)=>{const e="0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",i="04e3785ca";vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:{address:e,publicKey:i,chainCode:void 0}}]),cancel:vi.fn()});const u=new d.EthAppBinder(r,l,D,A,"sessionId"),{observable:o}=u.getAddress({derivationPath:"44'/60'/3'/2/1",checkOnDevice:!1,returnChainCode:!1,skipOpenApp:!1}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{a(n)},complete:()=>{try{expect(t).toEqual([{status:c.DeviceActionStatus.Completed,output:{address:e,publicKey:i,chainCode:void 0}}]),s()}catch(n){a(n)}}})})),describe("calls of executeDeviceAction with the correct params",()=>{const s={derivationPath:"44'/60'/3'/2/1",checkOnDevice:!1,returnChainCode:!1,skipOpenApp:!1};test("when checkOnDevice is true: UserInteractionRequired.VerifyAddress",()=>{const e={...s,checkOnDevice:!0};new d.EthAppBinder(r,l,D,A,"sessionId").getAddress(e),expect(r.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new S.SendCommandInAppDeviceAction({input:{command:new f.GetAddressCommand(e),appName:"Ethereum",requiredUserInteraction:h.UserInteractionRequired.VerifyAddress,skipOpenApp:!1}})})}),test("when checkOnDevice is false: UserInteractionRequired.None",()=>{const e={...s,checkOnDevice:!1};new d.EthAppBinder(r,l,D,A,"sessionId").getAddress(e),expect(r.executeDeviceAction).toHaveBeenCalledWith({sessionId:"sessionId",deviceAction:new S.SendCommandInAppDeviceAction({input:{command:new f.GetAddressCommand(e),appName:"Ethereum",requiredUserInteraction:h.UserInteractionRequired.None,skipOpenApp:!1}})})})})}),describe("signTransaction",()=>{it("should return the signature",()=>new Promise((s,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i=(0,v.hexaStringToBuffer)(y.Transaction.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized),p={};vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const u=new d.EthAppBinder(r,l,D,A,"sessionId"),{observable:o}=u.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:i,options:p}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{a(n)},complete:()=>{try{expect(t).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),s()}catch(n){a(n)}}})})),it("should return the signature without options",()=>new Promise((s,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i=(0,v.hexaStringToBuffer)(y.Transaction.from({to:"0x1234567890123456789012345678901234567890",value:0n}).unsignedSerialized);vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const p=new d.EthAppBinder(r,l,D,A,"sessionId"),{observable:u}=p.signTransaction({derivationPath:"44'/60'/3'/2/1",transaction:i,options:void 0}),o=[];u.subscribe({next:t=>{o.push(t)},error:t=>{a(t)},complete:()=>{try{expect(o).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),s()}catch(t){a(t)}}})}))}),describe("signMessage",()=>{it("should return the signature",()=>new Promise((s,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i="Hello, World!";vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const p=new d.EthAppBinder(r,l,D,A,"sessionId"),{observable:u}=p.signPersonalMessage({derivationPath:"44'/60'/3'/2/1",message:i,skipOpenApp:!1}),o=[];u.subscribe({next:t=>{o.push(t)},error:t=>{a(t)},complete:()=>{try{expect(o).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),s()}catch(t){a(t)}}})}))}),describe("signDelegationAuthorization",()=>{it("should return the signature",()=>new Promise((s,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i=2,p=42,u="0xaddress";vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const o=new d.EthAppBinder(r,l,D,A,"sessionId"),{observable:t}=o.signDelegationAuthorization({derivationPath:"44'/60'/3'/2/1",chainId:i,address:u,nonce:p}),n=[];t.subscribe({next:g=>{n.push(g)},error:g=>{a(g)},complete:()=>{try{expect(n).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),s()}catch(g){a(g)}}})}))}),describe("signTypedData",()=>{it("should return the signature",()=>new Promise((s,a)=>{const e={r:"0xDEAD",s:"0xBEEF",v:0},i={domain:{},types:{},primaryType:"test",message:{}},p={parse:vi.fn()};vi.spyOn(r,"executeDeviceAction").mockReturnValue({observable:(0,m.from)([{status:c.DeviceActionStatus.Completed,output:e}]),cancel:vi.fn()});const u=new d.EthAppBinder(r,l,D,A,"sessionId"),{observable:o}=u.signTypedData({derivationPath:"44'/60'/3'/2/1",parser:p,data:i,skipOpenApp:!1}),t=[];o.subscribe({next:n=>{t.push(n)},error:n=>{a(n)},complete:()=>{try{expect(t).toEqual([{status:c.DeviceActionStatus.Completed,output:e}]),s()}catch(n){a(n)}}})}))})});
2
2
  //# sourceMappingURL=EthAppBinder.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/app-binder/EthAppBinder.test.ts"],
4
- "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceActionState,\n type DeviceManagementKit,\n hexaStringToBuffer,\n} from \"@ledgerhq/device-management-kit\";\nimport { DeviceActionStatus } from \"@ledgerhq/device-management-kit\";\nimport { SendCommandInAppDeviceAction } from \"@ledgerhq/device-management-kit\";\nimport { UserInteractionRequired } from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"ethers\";\nimport { from } from \"rxjs\";\n\nimport {\n type GetAddressDAError,\n type GetAddressDAIntermediateValue,\n type GetAddressDAOutput,\n} from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport {\n type SignPersonalMessageDAError,\n type SignPersonalMessageDAIntermediateValue,\n type SignPersonalMessageDAOutput,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport {\n type SignTransactionDAError,\n type SignTransactionDAIntermediateValue,\n type SignTransactionDAOutput,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport {\n type SignTypedDataDAError,\n type SignTypedDataDAIntermediateValue,\n type SignTypedDataDAOutput,\n} from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type Signature } from \"@api/model/Signature\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nimport { GetAddressCommand } from \"./command/GetAddressCommand\";\nimport { ETHEREUM_PLUGINS } from \"./constant/plugins\";\nimport { EthAppBinder } from \"./EthAppBinder\";\n\ndescribe(\"EthAppBinder\", () => {\n const mockedDmk: DeviceManagementKit = {\n sendCommand: vi.fn(),\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n const mockedContextModule: ContextModule = {\n getContext: vi.fn(),\n getContexts: vi.fn(),\n getTypedDataFilters: vi.fn(),\n getWeb3Checks: vi.fn(),\n };\n const mockedMapper: TransactionMapperService = {\n mapTransactionToSubset: vi.fn(),\n } as unknown as TransactionMapperService;\n const mockedParser: TransactionParserService = {\n extractValue: vi.fn(),\n } as unknown as TransactionParserService;\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"getAddress\", () => {\n it(\"should return the address, publicKey, and chainCode\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const address = \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\";\n const publicKey = \"04e3785ca\";\n const chainCode = undefined;\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: { address, publicKey, chainCode },\n } as DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.getAddress({\n derivationPath: \"44'/60'/3'/2/1\",\n checkOnDevice: false,\n returnChainCode: false,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: { address, publicKey, chainCode },\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls of executeDeviceAction with the correct params\", () => {\n const baseParams = {\n derivationPath: \"44'/60'/3'/2/1\",\n checkOnDevice: false,\n returnChainCode: false,\n skipOpenApp: false,\n };\n\n test(\"when checkOnDevice is true: UserInteractionRequired.VerifyAddress\", () => {\n // GIVEN\n const checkOnDevice = true;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n appBinder.getAddress(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(params),\n appName: \"Ethereum\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n compatibleAppNames: ETHEREUM_PLUGINS,\n skipOpenApp: false,\n },\n }),\n });\n });\n\n test(\"when checkOnDevice is false: UserInteractionRequired.None\", () => {\n // GIVEN\n const checkOnDevice = false;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n appBinder.getAddress(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(params),\n appName: \"Ethereum\",\n requiredUserInteraction: UserInteractionRequired.None,\n compatibleAppNames: ETHEREUM_PLUGINS,\n skipOpenApp: false,\n },\n }),\n });\n });\n });\n });\n\n describe(\"signTransaction\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const transaction: Uint8Array = hexaStringToBuffer(\n Transaction.from({\n to: \"0x1234567890123456789012345678901234567890\",\n value: 0n,\n }).unsignedSerialized,\n )!;\n const options = {};\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTransaction({\n derivationPath: \"44'/60'/3'/2/1\",\n transaction,\n options,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n it(\"should return the signature without options\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const transaction: Uint8Array = hexaStringToBuffer(\n Transaction.from({\n to: \"0x1234567890123456789012345678901234567890\",\n value: 0n,\n }).unsignedSerialized,\n )!;\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTransaction({\n derivationPath: \"44'/60'/3'/2/1\",\n transaction,\n options: undefined,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n\n describe(\"signMessage\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const message = \"Hello, World!\";\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signPersonalMessage({\n derivationPath: \"44'/60'/3'/2/1\",\n message,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n\n describe(\"signTypedData\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const typedData: TypedData = {\n domain: {},\n types: {},\n primaryType: \"test\",\n message: {},\n };\n const parser: TypedDataParserService = {\n parse: vi.fn(),\n };\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTypedData({\n derivationPath: \"44'/60'/3'/2/1\",\n parser,\n data: typedData,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["import_device_management_kit", "import_ethers", "import_rxjs", "import_GetAddressCommand", "import_plugins", "import_EthAppBinder", "mockedDmk", "mockedContextModule", "mockedMapper", "mockedParser", "resolve", "reject", "address", "publicKey", "appBinder", "observable", "states", "state", "err", "baseParams", "params", "signature", "transaction", "options", "message", "typedData", "parser"]
4
+ "sourcesContent": ["import { type ContextModule } from \"@ledgerhq/context-module\";\nimport {\n type DeviceActionState,\n type DeviceManagementKit,\n hexaStringToBuffer,\n} from \"@ledgerhq/device-management-kit\";\nimport { DeviceActionStatus } from \"@ledgerhq/device-management-kit\";\nimport { SendCommandInAppDeviceAction } from \"@ledgerhq/device-management-kit\";\nimport { UserInteractionRequired } from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"ethers\";\nimport { from } from \"rxjs\";\n\nimport {\n type GetAddressDAError,\n type GetAddressDAIntermediateValue,\n type GetAddressDAOutput,\n} from \"@api/app-binder/GetAddressDeviceActionTypes\";\nimport {\n type SignDelegationAuthorizationDAError,\n type SignDelegationAuthorizationDAIntermediateValue,\n type SignDelegationAuthorizationDAOutput,\n} from \"@api/app-binder/SignDelegationAuthorizationTypes\";\nimport {\n type SignPersonalMessageDAError,\n type SignPersonalMessageDAIntermediateValue,\n type SignPersonalMessageDAOutput,\n} from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport {\n type SignTransactionDAError,\n type SignTransactionDAIntermediateValue,\n type SignTransactionDAOutput,\n} from \"@api/app-binder/SignTransactionDeviceActionTypes\";\nimport {\n type SignTypedDataDAError,\n type SignTypedDataDAIntermediateValue,\n type SignTypedDataDAOutput,\n} from \"@api/app-binder/SignTypedDataDeviceActionTypes\";\nimport { type Signature } from \"@api/model/Signature\";\nimport { type TypedData } from \"@api/model/TypedData\";\nimport { type TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { type TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { type TypedDataParserService } from \"@internal/typed-data/service/TypedDataParserService\";\n\nimport { GetAddressCommand } from \"./command/GetAddressCommand\";\nimport { EthAppBinder } from \"./EthAppBinder\";\n\ndescribe(\"EthAppBinder\", () => {\n const mockedDmk: DeviceManagementKit = {\n sendCommand: vi.fn(),\n executeDeviceAction: vi.fn(),\n } as unknown as DeviceManagementKit;\n const mockedContextModule = {\n getFieldContext: vi.fn(),\n getContexts: vi.fn(),\n getTypedDataFilters: vi.fn(),\n };\n const mockedMapper: TransactionMapperService = {\n mapTransactionToSubset: vi.fn(),\n } as unknown as TransactionMapperService;\n const mockedParser: TransactionParserService = {\n extractValue: vi.fn(),\n } as unknown as TransactionParserService;\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"getAddress\", () => {\n it(\"should return the address, publicKey, and chainCode\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const address = \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\";\n const publicKey = \"04e3785ca\";\n const chainCode = undefined;\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: { address, publicKey, chainCode },\n } as DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule as unknown as ContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.getAddress({\n derivationPath: \"44'/60'/3'/2/1\",\n checkOnDevice: false,\n returnChainCode: false,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n GetAddressDAOutput,\n GetAddressDAError,\n GetAddressDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: { address, publicKey, chainCode },\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n describe(\"calls of executeDeviceAction with the correct params\", () => {\n const baseParams = {\n derivationPath: \"44'/60'/3'/2/1\",\n checkOnDevice: false,\n returnChainCode: false,\n skipOpenApp: false,\n };\n\n test(\"when checkOnDevice is true: UserInteractionRequired.VerifyAddress\", () => {\n // GIVEN\n const checkOnDevice = true;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule as unknown as ContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n appBinder.getAddress(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(params),\n appName: \"Ethereum\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n skipOpenApp: false,\n },\n }),\n });\n });\n\n test(\"when checkOnDevice is false: UserInteractionRequired.None\", () => {\n // GIVEN\n const checkOnDevice = false;\n const params = {\n ...baseParams,\n checkOnDevice,\n };\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule as unknown as ContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n appBinder.getAddress(params);\n\n // THEN\n expect(mockedDmk.executeDeviceAction).toHaveBeenCalledWith({\n sessionId: \"sessionId\",\n deviceAction: new SendCommandInAppDeviceAction({\n input: {\n command: new GetAddressCommand(params),\n appName: \"Ethereum\",\n requiredUserInteraction: UserInteractionRequired.None,\n skipOpenApp: false,\n },\n }),\n });\n });\n });\n });\n\n describe(\"signTransaction\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const transaction: Uint8Array = hexaStringToBuffer(\n Transaction.from({\n to: \"0x1234567890123456789012345678901234567890\",\n value: 0n,\n }).unsignedSerialized,\n )!;\n const options = {};\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule as unknown as ContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTransaction({\n derivationPath: \"44'/60'/3'/2/1\",\n transaction,\n options,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n\n it(\"should return the signature without options\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const transaction: Uint8Array = hexaStringToBuffer(\n Transaction.from({\n to: \"0x1234567890123456789012345678901234567890\",\n value: 0n,\n }).unsignedSerialized,\n )!;\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule as unknown as ContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTransaction({\n derivationPath: \"44'/60'/3'/2/1\",\n transaction,\n options: undefined,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTransactionDAOutput,\n SignTransactionDAError,\n SignTransactionDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n\n describe(\"signMessage\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const message = \"Hello, World!\";\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule as unknown as ContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signPersonalMessage({\n derivationPath: \"44'/60'/3'/2/1\",\n message,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n SignPersonalMessageDAOutput,\n SignPersonalMessageDAError,\n SignPersonalMessageDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n\n describe(\"signDelegationAuthorization\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const chainId = 2;\n const nonce = 42;\n const address = \"0xaddress\";\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignDelegationAuthorizationDAOutput,\n SignDelegationAuthorizationDAError,\n SignDelegationAuthorizationDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule as unknown as ContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signDelegationAuthorization({\n derivationPath: \"44'/60'/3'/2/1\",\n chainId,\n address,\n nonce,\n });\n\n // THEN\n const states: DeviceActionState<\n SignDelegationAuthorizationDAOutput,\n SignDelegationAuthorizationDAError,\n SignDelegationAuthorizationDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n\n describe(\"signTypedData\", () => {\n it(\"should return the signature\", () =>\n new Promise<void>((resolve, reject) => {\n // GIVEN\n const signature: Signature = {\n r: `0xDEAD`,\n s: `0xBEEF`,\n v: 0,\n };\n const typedData: TypedData = {\n domain: {},\n types: {},\n primaryType: \"test\",\n message: {},\n };\n const parser: TypedDataParserService = {\n parse: vi.fn(),\n };\n\n vi.spyOn(mockedDmk, \"executeDeviceAction\").mockReturnValue({\n observable: from([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n } as DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >,\n ]),\n cancel: vi.fn(),\n });\n\n // WHEN\n const appBinder = new EthAppBinder(\n mockedDmk,\n mockedContextModule as unknown as ContextModule,\n mockedMapper,\n mockedParser,\n \"sessionId\",\n );\n const { observable } = appBinder.signTypedData({\n derivationPath: \"44'/60'/3'/2/1\",\n parser,\n data: typedData,\n skipOpenApp: false,\n });\n\n // THEN\n const states: DeviceActionState<\n SignTypedDataDAOutput,\n SignTypedDataDAError,\n SignTypedDataDAIntermediateValue\n >[] = [];\n observable.subscribe({\n next: (state) => {\n states.push(state);\n },\n error: (err) => {\n reject(err);\n },\n complete: () => {\n try {\n expect(states).toEqual([\n {\n status: DeviceActionStatus.Completed,\n output: signature,\n },\n ]);\n resolve();\n } catch (err) {\n reject(err as Error);\n }\n },\n });\n }));\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_device_management_kit", "import_ethers", "import_rxjs", "import_GetAddressCommand", "import_EthAppBinder", "mockedDmk", "mockedContextModule", "mockedMapper", "mockedParser", "resolve", "reject", "address", "publicKey", "appBinder", "observable", "states", "state", "err", "baseParams", "params", "signature", "transaction", "options", "message", "chainId", "nonce", "typedData", "parser"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var C=(n,t)=>{for(var e in t)m(n,e,{get:t[e],enumerable:!0})},f=(n,t,e,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of g(t))!A.call(n,s)&&s!==e&&m(n,s,{get:()=>t[s],enumerable:!(d=c(t,s))||d.enumerable});return n};var E=n=>f(m({},"__esModule",{value:!0}),n);var x={};C(x,{GetAddressCommand:()=>y});module.exports=E(x);var r=require("@ledgerhq/device-management-kit"),a=require("@ledgerhq/signer-utils"),h=require("purify-ts"),i=require("./utils/ethAppErrors");const u=32;class y{args;errorHelper=new a.CommandErrorHelper(i.ETH_APP_ERRORS,i.EthAppCommandErrorFactory);constructor(t){this.args=t}getApdu(){const t={cla:224,ins:2,p1:this.args.checkOnDevice?1:0,p2:this.args.returnChainCode?1:0},e=new r.ApduBuilder(t),d=this.args.derivationPath,s=a.DerivationPathUtils.splitPath(d);return e.add8BitUIntToData(s.length),s.forEach(o=>{e.add32BitUIntToData(o)}),e.add32BitUIntToData(0),e.add32BitUIntToData(1),e.build()}parseResponse(t){return h.Maybe.fromNullable(this.errorHelper.getError(t)).orDefaultLazy(()=>{const e=new r.ApduParser(t),d=e.extract8BitUInt();if(d===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Public key length is missing")});if(e.testMinimalLength(d)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Public key is missing")});const s=e.encodeToHexaString(e.extractFieldByLength(d)),o=e.extract8BitUInt();if(o===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Ethereum address length is missing")});if(e.testMinimalLength(o)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Ethereum address is missing")});const l=`0x${e.encodeToString(e.extractFieldByLength(o))}`;if((0,r.isHexaString)(l)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Invalid Ethereum address")});let p;if(this.args.returnChainCode){if(e.testMinimalLength(u)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Invalid Chaincode")});p=e.encodeToHexaString(e.extractFieldByLength(u))}return(0,r.CommandResultFactory)({data:{publicKey:s,address:l,chainCode:p}})})}}0&&(module.exports={GetAddressCommand});
1
+ "use strict";var m=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var C=(n,t)=>{for(var e in t)m(n,e,{get:t[e],enumerable:!0})},f=(n,t,e,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of c(t))!A.call(n,s)&&s!==e&&m(n,s,{get:()=>t[s],enumerable:!(d=g(t,s))||d.enumerable});return n};var y=n=>f(m({},"__esModule",{value:!0}),n);var x={};C(x,{GetAddressCommand:()=>E});module.exports=y(x);var r=require("@ledgerhq/device-management-kit"),a=require("@ledgerhq/signer-utils"),h=require("purify-ts"),i=require("./utils/ethAppErrors");const u=32;class E{name="getAddress";args;errorHelper=new a.CommandErrorHelper(i.ETH_APP_ERRORS,i.EthAppCommandErrorFactory);constructor(t){this.args=t}getApdu(){const t={cla:224,ins:2,p1:this.args.checkOnDevice?1:0,p2:this.args.returnChainCode?1:0},e=new r.ApduBuilder(t),d=this.args.derivationPath,s=a.DerivationPathUtils.splitPath(d);return e.add8BitUIntToData(s.length),s.forEach(o=>{e.add32BitUIntToData(o)}),e.add32BitUIntToData(0),e.add32BitUIntToData(1),e.build()}parseResponse(t){return h.Maybe.fromNullable(this.errorHelper.getError(t)).orDefaultLazy(()=>{const e=new r.ApduParser(t),d=e.extract8BitUInt();if(d===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Public key length is missing")});if(e.testMinimalLength(d)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Public key is missing")});const s=e.encodeToHexaString(e.extractFieldByLength(d)),o=e.extract8BitUInt();if(o===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Ethereum address length is missing")});if(e.testMinimalLength(o)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Ethereum address is missing")});const l=`0x${e.encodeToString(e.extractFieldByLength(o))}`;if((0,r.isHexaString)(l)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Invalid Ethereum address")});let p;if(this.args.returnChainCode){if(e.testMinimalLength(u)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Invalid Chaincode")});p=e.encodeToHexaString(e.extractFieldByLength(u))}return(0,r.CommandResultFactory)({data:{publicKey:s,address:l,chainCode:p}})})}}0&&(module.exports={GetAddressCommand});
2
2
  //# sourceMappingURL=GetAddressCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/GetAddressCommand.ts"],
4
- "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n isHexaString,\n} from \"@ledgerhq/device-management-kit\";\nimport {\n CommandErrorHelper,\n DerivationPathUtils,\n} from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type GetAddressCommandArgs,\n type GetAddressCommandResponse,\n} from \"@api/app-binder/GetAddressCommandTypes\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nconst CHAIN_CODE_LENGTH = 32;\n\nexport class GetAddressCommand\n implements\n Command<GetAddressCommandResponse, GetAddressCommandArgs, EthErrorCodes>\n{\n private readonly args: GetAddressCommandArgs;\n private readonly errorHelper = new CommandErrorHelper<\n GetAddressCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor(args: GetAddressCommandArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const getEthAddressArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x02,\n p1: this.args.checkOnDevice ? 0x01 : 0x00,\n p2: this.args.returnChainCode ? 0x01 : 0x00,\n };\n const builder = new ApduBuilder(getEthAddressArgs);\n const derivationPath = this.args.derivationPath;\n\n const path = DerivationPathUtils.splitPath(derivationPath);\n builder.add8BitUIntToData(path.length);\n path.forEach((element) => {\n builder.add32BitUIntToData(element);\n });\n\n // TODO: replace by 64\n builder.add32BitUIntToData(0);\n builder.add32BitUIntToData(1);\n\n return builder.build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetAddressCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n const publicKeyLength = parser.extract8BitUInt();\n if (publicKeyLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key length is missing\"),\n });\n }\n\n if (parser.testMinimalLength(publicKeyLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key is missing\"),\n });\n }\n\n const publicKey = parser.encodeToHexaString(\n parser.extractFieldByLength(publicKeyLength),\n );\n\n const addressLength = parser.extract8BitUInt();\n if (addressLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Ethereum address length is missing\",\n ),\n });\n }\n\n if (parser.testMinimalLength(addressLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Ethereum address is missing\"),\n });\n }\n\n const result = parser.encodeToString(\n parser.extractFieldByLength(addressLength),\n );\n\n const address = `0x${result}`;\n\n if (isHexaString(address) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Ethereum address\"),\n });\n }\n\n let chainCode = undefined;\n if (this.args.returnChainCode) {\n if (parser.testMinimalLength(CHAIN_CODE_LENGTH) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Chaincode\"),\n });\n }\n\n chainCode = parser.encodeToHexaString(\n parser.extractFieldByLength(CHAIN_CODE_LENGTH),\n );\n }\n\n return CommandResultFactory({\n data: {\n publicKey,\n address,\n chainCode,\n },\n });\n });\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAWO,2CACPC,EAGO,kCACPC,EAAsB,qBAOtBC,EAIO,gCAEP,MAAMC,EAAoB,GAEnB,MAAMN,CAGb,CACmB,KACA,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAE3C,YAAYO,EAA6B,CACvC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAqC,CACzC,IAAK,IACL,IAAK,EACL,GAAI,KAAK,KAAK,cAAgB,EAAO,EACrC,GAAI,KAAK,KAAK,gBAAkB,EAAO,CACzC,EACMC,EAAU,IAAI,cAAYD,CAAiB,EAC3CE,EAAiB,KAAK,KAAK,eAE3BC,EAAO,sBAAoB,UAAUD,CAAc,EACzD,OAAAD,EAAQ,kBAAkBE,EAAK,MAAM,EACrCA,EAAK,QAASC,GAAY,CACxBH,EAAQ,mBAAmBG,CAAO,CACpC,CAAC,EAGDH,EAAQ,mBAAmB,CAAC,EAC5BA,EAAQ,mBAAmB,CAAC,EAErBA,EAAQ,MAAM,CACvB,CAEA,cACEI,EACyD,CACzD,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEhCE,EAAkBD,EAAO,gBAAgB,EAC/C,GAAIC,IAAoB,OACtB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,8BAA8B,CAClE,CAAC,EAGH,GAAID,EAAO,kBAAkBC,CAAe,IAAM,GAChD,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,uBAAuB,CAC3D,CAAC,EAGH,MAAMC,EAAYF,EAAO,mBACvBA,EAAO,qBAAqBC,CAAe,CAC7C,EAEME,EAAgBH,EAAO,gBAAgB,EAC7C,GAAIG,IAAkB,OACpB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBACT,oCACF,CACF,CAAC,EAGH,GAAIH,EAAO,kBAAkBG,CAAa,IAAM,GAC9C,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,6BAA6B,CACjE,CAAC,EAOH,MAAMC,EAAU,KAJDJ,EAAO,eACpBA,EAAO,qBAAqBG,CAAa,CAC3C,CAE2B,GAE3B,MAAI,gBAAaC,CAAO,IAAM,GAC5B,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,0BAA0B,CAC9D,CAAC,EAGH,IAAIC,EACJ,GAAI,KAAK,KAAK,gBAAiB,CAC7B,GAAIL,EAAO,kBAAkBR,CAAiB,IAAM,GAClD,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,mBAAmB,CACvD,CAAC,EAGHa,EAAYL,EAAO,mBACjBA,EAAO,qBAAqBR,CAAiB,CAC/C,CACF,CAEA,SAAO,wBAAqB,CAC1B,KAAM,CACJ,UAAAU,EACA,QAAAE,EACA,UAAAC,CACF,CACF,CAAC,CACH,CAAC,CACH,CACF",
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n isHexaString,\n} from \"@ledgerhq/device-management-kit\";\nimport {\n CommandErrorHelper,\n DerivationPathUtils,\n} from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n type GetAddressCommandArgs,\n type GetAddressCommandResponse,\n} from \"@api/app-binder/GetAddressCommandTypes\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nconst CHAIN_CODE_LENGTH = 32;\n\nexport class GetAddressCommand\n implements\n Command<GetAddressCommandResponse, GetAddressCommandArgs, EthErrorCodes>\n{\n readonly name = \"getAddress\";\n private readonly args: GetAddressCommandArgs;\n private readonly errorHelper = new CommandErrorHelper<\n GetAddressCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor(args: GetAddressCommandArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const getEthAddressArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x02,\n p1: this.args.checkOnDevice ? 0x01 : 0x00,\n p2: this.args.returnChainCode ? 0x01 : 0x00,\n };\n const builder = new ApduBuilder(getEthAddressArgs);\n const derivationPath = this.args.derivationPath;\n\n const path = DerivationPathUtils.splitPath(derivationPath);\n builder.add8BitUIntToData(path.length);\n path.forEach((element) => {\n builder.add32BitUIntToData(element);\n });\n\n // TODO: replace by 64\n builder.add32BitUIntToData(0);\n builder.add32BitUIntToData(1);\n\n return builder.build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetAddressCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n const publicKeyLength = parser.extract8BitUInt();\n if (publicKeyLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key length is missing\"),\n });\n }\n\n if (parser.testMinimalLength(publicKeyLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Public key is missing\"),\n });\n }\n\n const publicKey = parser.encodeToHexaString(\n parser.extractFieldByLength(publicKeyLength),\n );\n\n const addressLength = parser.extract8BitUInt();\n if (addressLength === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\n \"Ethereum address length is missing\",\n ),\n });\n }\n\n if (parser.testMinimalLength(addressLength) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Ethereum address is missing\"),\n });\n }\n\n const result = parser.encodeToString(\n parser.extractFieldByLength(addressLength),\n );\n\n const address = `0x${result}`;\n\n if (isHexaString(address) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Ethereum address\"),\n });\n }\n\n let chainCode = undefined;\n if (this.args.returnChainCode) {\n if (parser.testMinimalLength(CHAIN_CODE_LENGTH) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Invalid Chaincode\"),\n });\n }\n\n chainCode = parser.encodeToHexaString(\n parser.extractFieldByLength(CHAIN_CODE_LENGTH),\n );\n }\n\n return CommandResultFactory({\n data: {\n publicKey,\n address,\n chainCode,\n },\n });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAWO,2CACPC,EAGO,kCACPC,EAAsB,qBAOtBC,EAIO,gCAEP,MAAMC,EAAoB,GAEnB,MAAMN,CAGb,CACW,KAAO,aACC,KACA,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAE3C,YAAYO,EAA6B,CACvC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAqC,CACzC,IAAK,IACL,IAAK,EACL,GAAI,KAAK,KAAK,cAAgB,EAAO,EACrC,GAAI,KAAK,KAAK,gBAAkB,EAAO,CACzC,EACMC,EAAU,IAAI,cAAYD,CAAiB,EAC3CE,EAAiB,KAAK,KAAK,eAE3BC,EAAO,sBAAoB,UAAUD,CAAc,EACzD,OAAAD,EAAQ,kBAAkBE,EAAK,MAAM,EACrCA,EAAK,QAASC,GAAY,CACxBH,EAAQ,mBAAmBG,CAAO,CACpC,CAAC,EAGDH,EAAQ,mBAAmB,CAAC,EAC5BA,EAAQ,mBAAmB,CAAC,EAErBA,EAAQ,MAAM,CACvB,CAEA,cACEI,EACyD,CACzD,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEhCE,EAAkBD,EAAO,gBAAgB,EAC/C,GAAIC,IAAoB,OACtB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,8BAA8B,CAClE,CAAC,EAGH,GAAID,EAAO,kBAAkBC,CAAe,IAAM,GAChD,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,uBAAuB,CAC3D,CAAC,EAGH,MAAMC,EAAYF,EAAO,mBACvBA,EAAO,qBAAqBC,CAAe,CAC7C,EAEME,EAAgBH,EAAO,gBAAgB,EAC7C,GAAIG,IAAkB,OACpB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBACT,oCACF,CACF,CAAC,EAGH,GAAIH,EAAO,kBAAkBG,CAAa,IAAM,GAC9C,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,6BAA6B,CACjE,CAAC,EAOH,MAAMC,EAAU,KAJDJ,EAAO,eACpBA,EAAO,qBAAqBG,CAAa,CAC3C,CAE2B,GAE3B,MAAI,gBAAaC,CAAO,IAAM,GAC5B,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,0BAA0B,CAC9D,CAAC,EAGH,IAAIC,EACJ,GAAI,KAAK,KAAK,gBAAiB,CAC7B,GAAIL,EAAO,kBAAkBR,CAAiB,IAAM,GAClD,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,mBAAmB,CACvD,CAAC,EAGHa,EAAYL,EAAO,mBACjBA,EAAO,qBAAqBR,CAAiB,CAC/C,CACF,CAEA,SAAO,wBAAqB,CAC1B,KAAM,CACJ,UAAAU,EACA,QAAAE,EACA,UAAAC,CACF,CACF,CAAC,CACH,CAAC,CACH,CACF",
6
6
  "names": ["GetAddressCommand_exports", "__export", "GetAddressCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "CHAIN_CODE_LENGTH", "args", "getEthAddressArgs", "builder", "derivationPath", "path", "element", "response", "parser", "publicKeyLength", "publicKey", "addressLength", "address", "chainCode"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var r=require("@ledgerhq/device-management-kit"),a=require("./GetAddressCommand");const i=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),c=Uint8Array.from([224,2,1,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),u=Uint8Array.from([224,2,0,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),p=Uint8Array.from([224,2,1,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),f=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,1]),l=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51]),A=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:l}),o=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51,66,62,101,31,43,22,180,24,109,94,172,22,124,196,154,173,228,169,126,179,177,55,222,54,51,71,153,104,77,12,113,74]),n=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:o});describe("GetAddressCommand",()=>{let t;const s={derivationPath:"44'/60'/0'/0/0",checkOnDevice:!1,returnChainCode:!1};beforeEach(()=>{t=new a.GetAddressCommand(s)}),describe("getApdu",()=>{it("should return the GetAddress apdu with default args",()=>{const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(i)}),it("should return the GetAddress apdu with checkOnDevice set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(c)}),it("should return the GetAddress apdu with returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(u)}),it("should return the GetAddress apdu with checkOnDevice and returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(p)}),it("should return the GetAddress apdu with a custom derivation path",()=>{const x="44'/60'/3'/2/1";t=new a.GetAddressCommand({...s,derivationPath:x});const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(f)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const x=t.parseResponse(A);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),it("should parse the response with chainCode",()=>{t.args.returnChainCode=!0;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a"}}))}),it("should not return chainCode if it is not requested",()=>{t.args.returnChainCode=!1;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),describe("should return an error",()=>{it("when the response is not successfull",()=>{const x=new r.ApduResponse({statusCode:Uint8Array.from([109,0]),data:new Uint8Array(0)}),e=t.parseResponse(x);expect((0,r.isSuccessCommandResult)(e)).toBe(!1)}),it("when publicKeyLength is invalid",()=>{const x={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Public key length is missing")))}),it("when publicKey is invalid",()=>{const x={data:Uint8Array.from([1]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Public key is missing")))}),it("when addressLength is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2)]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Ethereum address length is missing")))}),it("when address is missing",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Ethereum address is missing")))}),it("when the address is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1,2]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Invalid Ethereum address")))}),it("when chainCode is invalid",()=>{const x={data:o.slice(0,-1),statusCode:Uint8Array.from([144,0])},d=new a.GetAddressCommand({...s,returnChainCode:!0}).parseResponse(x);(0,r.isSuccessCommandResult)(d)?assert.fail("Expected an error"):(expect(d.error).toBeInstanceOf(r.InvalidStatusWordError),expect(d.error.originalError).toEqual(new Error("Invalid Chaincode")))})})})});
1
+ "use strict";var r=require("@ledgerhq/device-management-kit"),a=require("./GetAddressCommand");const i=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),c=Uint8Array.from([224,2,1,0,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),u=Uint8Array.from([224,2,0,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),p=Uint8Array.from([224,2,1,1,29,5,128,0,0,44,128,0,0,60,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),f=Uint8Array.from([224,2,0,0,29,5,128,0,0,44,128,0,0,60,128,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,1]),l=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51]),A=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:l}),o=Uint8Array.from([65,4,227,120,92,166,165,170,116,140,98,94,61,221,214,217,123,89,178,111,216,21,47,181,46,178,157,36,64,79,1,11,228,247,37,195,114,94,120,190,217,83,240,116,119,141,113,121,116,222,33,243,71,11,115,87,54,235,61,86,116,122,182,208,115,167,40,70,55,67,54,57,66,101,100,66,50,57,50,68,100,51,102,67,50,99,65,52,49,48,51,57,56,57,66,53,66,68,55,48,53,49,54,52,99,52,51,66,62,101,31,43,22,180,24,109,94,172,22,124,196,154,173,228,169,126,179,177,55,222,54,51,71,153,104,77,12,113,74]),n=new r.ApduResponse({statusCode:Uint8Array.from([144,0]),data:o});describe("GetAddressCommand",()=>{let t;const s={derivationPath:"44'/60'/0'/0/0",checkOnDevice:!1,returnChainCode:!1};beforeEach(()=>{t=new a.GetAddressCommand(s)}),describe("name",()=>{it("should be 'getAddress'",()=>{expect(t.name).toBe("getAddress")})}),describe("getApdu",()=>{it("should return the GetAddress apdu with default args",()=>{const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(i)}),it("should return the GetAddress apdu with checkOnDevice set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(c)}),it("should return the GetAddress apdu with returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(u)}),it("should return the GetAddress apdu with checkOnDevice and returnChainCode set to true",()=>{t=new a.GetAddressCommand({...s,checkOnDevice:!0,returnChainCode:!0});const x=t.getApdu();expect(x.getRawApdu()).toStrictEqual(p)}),it("should return the GetAddress apdu with a custom derivation path",()=>{const x="44'/60'/3'/2/1";t=new a.GetAddressCommand({...s,derivationPath:x});const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(f)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const x=t.parseResponse(A);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),it("should parse the response with chainCode",()=>{t.args.returnChainCode=!0;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a"}}))}),it("should not return chainCode if it is not requested",()=>{t.args.returnChainCode=!1;const x=t.parseResponse(n);expect(x).toStrictEqual((0,r.CommandResultFactory)({data:{publicKey:"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7",address:"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43",chainCode:void 0}}))}),describe("should return an error",()=>{it("when the response is not successfull",()=>{const x=new r.ApduResponse({statusCode:Uint8Array.from([109,0]),data:new Uint8Array(0)}),e=t.parseResponse(x);expect((0,r.isSuccessCommandResult)(e)).toBe(!1)}),it("when publicKeyLength is invalid",()=>{const x={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Public key length is missing")))}),it("when publicKey is invalid",()=>{const x={data:Uint8Array.from([1]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Public key is missing")))}),it("when addressLength is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2)]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Ethereum address length is missing")))}),it("when address is missing",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Ethereum address is missing")))}),it("when the address is invalid",()=>{const x={data:Uint8Array.from([32,...Array(32).fill(2),1,2]),statusCode:Uint8Array.from([144,0])},e=t.parseResponse(x);(0,r.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(r.InvalidStatusWordError),expect(e.error.originalError).toEqual(new Error("Invalid Ethereum address")))}),it("when chainCode is invalid",()=>{const x={data:o.slice(0,-1),statusCode:Uint8Array.from([144,0])},d=new a.GetAddressCommand({...s,returnChainCode:!0}).parseResponse(x);(0,r.isSuccessCommandResult)(d)?assert.fail("Expected an error"):(expect(d.error).toBeInstanceOf(r.InvalidStatusWordError),expect(d.error.originalError).toEqual(new Error("Invalid Chaincode")))})})})});
2
2
  //# sourceMappingURL=GetAddressCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/GetAddressCommand.test.ts"],
4
- "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { GetAddressCommand } from \"./GetAddressCommand\";\n\nconst GET_ADDRESS_APDU = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE = Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE =\n Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00,\n 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n ]);\n\nconst GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([\n 0x41, 0x04, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x01, 0x0b, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0x0b, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33,\n]);\n\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n});\n\nconst LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE = Uint8Array.from([\n 0x41, 0x4, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x1, 0xb, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0xb, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33, 0x42, 0x3e, 0x65, 0x1f, 0x2b, 0x16, 0xb4, 0x18, 0x6d, 0x5e,\n 0xac, 0x16, 0x7c, 0xc4, 0x9a, 0xad, 0xe4, 0xa9, 0x7e, 0xb3, 0xb1, 0x37, 0xde,\n 0x36, 0x33, 0x47, 0x99, 0x68, 0x4d, 0xc, 0x71, 0x4a,\n]);\n\nconst LNX_RESPONSE_GOOD_WITH_CHAIN_CODE = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE,\n});\n\ndescribe(\"GetAddressCommand\", () => {\n let command: GetAddressCommand;\n const defaultArgs = {\n derivationPath: \"44'/60'/0'/0/0\",\n checkOnDevice: false,\n returnChainCode: false,\n };\n\n beforeEach(() => {\n command = new GetAddressCommand(defaultArgs);\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAddress apdu with default args\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_ADDRESS_APDU);\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice set to true\", () => {\n command = new GetAddressCommand({ ...defaultArgs, checkOnDevice: true });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE,\n );\n });\n\n it(\"should return the GetAddress apdu with returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice and returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n checkOnDevice: true,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with a custom derivation path\", () => {\n const customDerivationPath = \"44'/60'/3'/2/1\";\n command = new GetAddressCommand({\n ...defaultArgs,\n derivationPath: customDerivationPath,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n it(\"should parse the response with chainCode\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = true;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode:\n \"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a\",\n },\n }),\n );\n });\n\n it(\"should not return chainCode if it is not requested\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = false;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n describe(\"should return an error\", () => {\n it(\"when the response is not successfull\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6d, 0x00]),\n data: new Uint8Array(0),\n });\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"when publicKeyLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]), // Invalid public key length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key length is missing\"),\n );\n }\n });\n\n it(\"when publicKey is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x01]), // Invalid public key\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key is missing\"),\n );\n }\n });\n\n it(\"when addressLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02)]), // Invalid address length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address length is missing\"),\n );\n }\n });\n\n it(\"when address is missing\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02), 0x01]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address is missing\"),\n );\n }\n });\n\n it(\"when the address is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x20,\n ...Array<number>(32).fill(0x02),\n 0x01,\n 0x02,\n ]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Ethereum address\"),\n );\n }\n });\n\n it(\"when chainCode is invalid\", () => {\n // GIVEN\n const response = {\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE.slice(0, -1), // Invalid chainCode\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const commandWithChainCode = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const result = commandWithChainCode.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Chaincode\"),\n );\n }\n });\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { GetAddressCommand } from \"./GetAddressCommand\";\n\nconst GET_ADDRESS_APDU = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE = Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE =\n Uint8Array.from([\n 0xe0, 0x02, 0x01, 0x01, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00,\n 0x00, 0x3c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n ]);\n\nconst GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH = Uint8Array.from([\n 0xe0, 0x02, 0x00, 0x00, 0x1d, 0x05, 0x80, 0x00, 0x00, 0x2c, 0x80, 0x00, 0x00,\n 0x3c, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([\n 0x41, 0x04, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x01, 0x0b, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0x0b, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33,\n]);\n\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n});\n\nconst LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE = Uint8Array.from([\n 0x41, 0x4, 0xe3, 0x78, 0x5c, 0xa6, 0xa5, 0xaa, 0x74, 0x8c, 0x62, 0x5e, 0x3d,\n 0xdd, 0xd6, 0xd9, 0x7b, 0x59, 0xb2, 0x6f, 0xd8, 0x15, 0x2f, 0xb5, 0x2e, 0xb2,\n 0x9d, 0x24, 0x40, 0x4f, 0x1, 0xb, 0xe4, 0xf7, 0x25, 0xc3, 0x72, 0x5e, 0x78,\n 0xbe, 0xd9, 0x53, 0xf0, 0x74, 0x77, 0x8d, 0x71, 0x79, 0x74, 0xde, 0x21, 0xf3,\n 0x47, 0xb, 0x73, 0x57, 0x36, 0xeb, 0x3d, 0x56, 0x74, 0x7a, 0xb6, 0xd0, 0x73,\n 0xa7, 0x28, 0x46, 0x37, 0x43, 0x36, 0x39, 0x42, 0x65, 0x64, 0x42, 0x32, 0x39,\n 0x32, 0x44, 0x64, 0x33, 0x66, 0x43, 0x32, 0x63, 0x41, 0x34, 0x31, 0x30, 0x33,\n 0x39, 0x38, 0x39, 0x42, 0x35, 0x42, 0x44, 0x37, 0x30, 0x35, 0x31, 0x36, 0x34,\n 0x63, 0x34, 0x33, 0x42, 0x3e, 0x65, 0x1f, 0x2b, 0x16, 0xb4, 0x18, 0x6d, 0x5e,\n 0xac, 0x16, 0x7c, 0xc4, 0x9a, 0xad, 0xe4, 0xa9, 0x7e, 0xb3, 0xb1, 0x37, 0xde,\n 0x36, 0x33, 0x47, 0x99, 0x68, 0x4d, 0xc, 0x71, 0x4a,\n]);\n\nconst LNX_RESPONSE_GOOD_WITH_CHAIN_CODE = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE,\n});\n\ndescribe(\"GetAddressCommand\", () => {\n let command: GetAddressCommand;\n const defaultArgs = {\n derivationPath: \"44'/60'/0'/0/0\",\n checkOnDevice: false,\n returnChainCode: false,\n };\n\n beforeEach(() => {\n command = new GetAddressCommand(defaultArgs);\n });\n\n describe(\"name\", () => {\n it(\"should be 'getAddress'\", () => {\n expect(command.name).toBe(\"getAddress\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAddress apdu with default args\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_ADDRESS_APDU);\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice set to true\", () => {\n command = new GetAddressCommand({ ...defaultArgs, checkOnDevice: true });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE,\n );\n });\n\n it(\"should return the GetAddress apdu with returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with checkOnDevice and returnChainCode set to true\", () => {\n command = new GetAddressCommand({\n ...defaultArgs,\n checkOnDevice: true,\n returnChainCode: true,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE,\n );\n });\n\n it(\"should return the GetAddress apdu with a custom derivation path\", () => {\n const customDerivationPath = \"44'/60'/3'/2/1\";\n command = new GetAddressCommand({\n ...defaultArgs,\n derivationPath: customDerivationPath,\n });\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(\n GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n it(\"should parse the response with chainCode\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = true;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode:\n \"423e651f2b16b4186d5eac167cc49aade4a97eb3b137de36334799684d0c714a\",\n },\n }),\n );\n });\n\n it(\"should not return chainCode if it is not requested\", () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n (command as any)[\"args\"].returnChainCode = false;\n const parsed = command.parseResponse(LNX_RESPONSE_GOOD_WITH_CHAIN_CODE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n publicKey:\n \"04e3785ca6a5aa748c625e3dddd6d97b59b26fd8152fb52eb29d24404f010be4f725c3725e78bed953f074778d717974de21f3470b735736eb3d56747ab6d073a7\",\n address: \"0xF7C69BedB292Dd3fC2cA4103989B5BD705164c43\",\n chainCode: undefined,\n },\n }),\n );\n });\n\n describe(\"should return an error\", () => {\n it(\"when the response is not successfull\", () => {\n const response = new ApduResponse({\n statusCode: Uint8Array.from([0x6d, 0x00]),\n data: new Uint8Array(0),\n });\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"when publicKeyLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]), // Invalid public key length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key length is missing\"),\n );\n }\n });\n\n it(\"when publicKey is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x01]), // Invalid public key\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Public key is missing\"),\n );\n }\n });\n\n it(\"when addressLength is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02)]), // Invalid address length\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address length is missing\"),\n );\n }\n });\n\n it(\"when address is missing\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x20, ...Array<number>(32).fill(0x02), 0x01]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Ethereum address is missing\"),\n );\n }\n });\n\n it(\"when the address is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x20,\n ...Array<number>(32).fill(0x02),\n 0x01,\n 0x02,\n ]), // Invalid address\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Ethereum address\"),\n );\n }\n });\n\n it(\"when chainCode is invalid\", () => {\n // GIVEN\n const response = {\n data: LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE.slice(0, -1), // Invalid chainCode\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const commandWithChainCode = new GetAddressCommand({\n ...defaultArgs,\n returnChainCode: true,\n });\n const result = commandWithChainCode.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(\n new Error(\"Invalid Chaincode\"),\n );\n }\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_device_management_kit", "import_GetAddressCommand", "GET_ADDRESS_APDU", "GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE", "GET_ADDRESS_APDU_WITH_RETURN_CHAIN_CODE", "GET_ADDRESS_APDU_WITH_CHECK_ON_DEVICE_WITH_RETURN_CHAIN_CODE", "GET_ADDRESS_APDU_WITH_CUSTOM_DERIVATION_PATH", "LNX_RESPONSE_DATA_GOOD", "LNX_RESPONSE_GOOD", "LNX_RESPONSE_DATA_GOOD_WITH_CHAIN_CODE", "LNX_RESPONSE_GOOD_WITH_CHAIN_CODE", "command", "defaultArgs", "apdu", "customDerivationPath", "parsed", "response", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var R=(t,e)=>{for(var o in e)a(t,o,{get:e[o],enumerable:!0})},x=(t,e,o,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of A(e))!E.call(t,n)&&n!==o&&a(t,n,{get:()=>e[n],enumerable:!(p=g(e,n))||p.enumerable});return t};var y=t=>x(a({},"__esModule",{value:!0}),t);var h={};R(h,{GetAppConfiguration:()=>b});module.exports=y(h);var r=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils"),u=require("purify-ts"),s=require("./utils/ethAppErrors");class b{errorHelper=new m.CommandErrorHelper(s.ETH_APP_ERRORS,s.EthAppCommandErrorFactory);constructor(){}getApdu(){const e={cla:224,ins:6,p1:0,p2:0};return new r.ApduBuilder(e).build()}parseResponse(e){return u.Maybe.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const o=new r.ApduParser(e),p=o.extract8BitUInt();if(p===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Cannot extract config flags")});const n=o.extract8BitUInt(),i=o.extract8BitUInt(),d=o.extract8BitUInt();if(n===void 0||i===void 0||d===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Cannot extract version")});const C=!!(p&1),c=!!(p&16),l=!!(p&32),f={blindSigningEnabled:C,web3ChecksEnabled:c,web3ChecksOptIn:l,version:`${n}.${i}.${d}`};return(0,r.CommandResultFactory)({data:f})})}}0&&(module.exports={GetAppConfiguration});
1
+ "use strict";var s=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var R=(n,e)=>{for(var o in e)s(n,o,{get:e[o],enumerable:!0})},x=(n,e,o,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of A(e))!E.call(n,t)&&t!==o&&s(n,t,{get:()=>e[t],enumerable:!(p=g(e,t))||p.enumerable});return n};var y=n=>x(s({},"__esModule",{value:!0}),n);var h={};R(h,{GetAppConfiguration:()=>b});module.exports=y(h);var r=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils"),u=require("purify-ts"),a=require("./utils/ethAppErrors");class b{name="getAppConfiguration";errorHelper=new m.CommandErrorHelper(a.ETH_APP_ERRORS,a.EthAppCommandErrorFactory);constructor(){}getApdu(){const e={cla:224,ins:6,p1:0,p2:0};return new r.ApduBuilder(e).build()}parseResponse(e){return u.Maybe.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const o=new r.ApduParser(e),p=o.extract8BitUInt();if(p===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Cannot extract config flags")});const t=o.extract8BitUInt(),i=o.extract8BitUInt(),d=o.extract8BitUInt();if(t===void 0||i===void 0||d===void 0)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Cannot extract version")});const C=!!(p&1),c=!!(p&16),l=!!(p&32),f={blindSigningEnabled:C,web3ChecksEnabled:c,web3ChecksOptIn:l,version:`${t}.${i}.${d}`};return(0,r.CommandResultFactory)({data:f})})}}0&&(module.exports={GetAppConfiguration});
2
2
  //# sourceMappingURL=GetAppConfigurationCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/GetAppConfigurationCommand.ts"],
4
- "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport { type GetConfigCommandResponse as GetAppConfigurationCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport class GetAppConfiguration\n implements Command<GetAppConfigurationCommandResponse, void, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<\n GetAppConfigurationCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor() {}\n\n getApdu(): Apdu {\n const getEthConfigArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x06,\n p1: 0x00,\n p2: 0x00,\n };\n const builder = new ApduBuilder(getEthConfigArgs);\n return builder.build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetAppConfigurationCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n const configFlags = parser.extract8BitUInt();\n if (configFlags === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot extract config flags\"),\n });\n }\n\n const major = parser.extract8BitUInt();\n const minor = parser.extract8BitUInt();\n const patch = parser.extract8BitUInt();\n\n if (major === undefined || minor === undefined || patch === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot extract version\"),\n });\n }\n\n const blindSigningEnabled = !!(configFlags & 0x00000001);\n const web3ChecksEnabled = !!(configFlags & 0x00000010);\n const web3ChecksOptIn = !!(configFlags & 0x00000020);\n\n const data: GetAppConfigurationCommandResponse = {\n blindSigningEnabled,\n web3ChecksEnabled,\n web3ChecksOptIn,\n version: `${major}.${minor}.${patch}`,\n };\n\n return CommandResultFactory({\n data,\n });\n });\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAUO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAItBC,EAIO,gCAEA,MAAML,CAEb,CACmB,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAE3C,aAAc,CAAC,CAEf,SAAgB,CACd,MAAMM,EAAoC,CACxC,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EAEA,OADgB,IAAI,cAAYA,CAAgB,EACjC,MAAM,CACvB,CAEA,cACEC,EACkE,CAClE,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEhCE,EAAcD,EAAO,gBAAgB,EAC3C,GAAIC,IAAgB,OAClB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,6BAA6B,CACjE,CAAC,EAGH,MAAMC,EAAQF,EAAO,gBAAgB,EAC/BG,EAAQH,EAAO,gBAAgB,EAC/BI,EAAQJ,EAAO,gBAAgB,EAErC,GAAIE,IAAU,QAAaC,IAAU,QAAaC,IAAU,OAC1D,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,wBAAwB,CAC5D,CAAC,EAGH,MAAMC,EAAsB,CAAC,EAAEJ,EAAc,GACvCK,EAAoB,CAAC,EAAEL,EAAc,IACrCM,EAAkB,CAAC,EAAEN,EAAc,IAEnCO,EAA2C,CAC/C,oBAAAH,EACA,kBAAAC,EACA,gBAAAC,EACA,QAAS,GAAGL,CAAK,IAAIC,CAAK,IAAIC,CAAK,EACrC,EAEA,SAAO,wBAAqB,CAC1B,KAAAI,CACF,CAAC,CACH,CAAC,CACH,CACF",
4
+ "sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport { type GetConfigCommandResponse as GetAppConfigurationCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport class GetAppConfiguration\n implements Command<GetAppConfigurationCommandResponse, void, EthErrorCodes>\n{\n readonly name = \"getAppConfiguration\";\n private readonly errorHelper = new CommandErrorHelper<\n GetAppConfigurationCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor() {}\n\n getApdu(): Apdu {\n const getEthConfigArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x06,\n p1: 0x00,\n p2: 0x00,\n };\n const builder = new ApduBuilder(getEthConfigArgs);\n return builder.build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetAppConfigurationCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n const configFlags = parser.extract8BitUInt();\n if (configFlags === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot extract config flags\"),\n });\n }\n\n const major = parser.extract8BitUInt();\n const minor = parser.extract8BitUInt();\n const patch = parser.extract8BitUInt();\n\n if (major === undefined || minor === undefined || patch === undefined) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot extract version\"),\n });\n }\n\n const blindSigningEnabled = !!(configFlags & 0x00000001);\n const web3ChecksEnabled = !!(configFlags & 0x00000010);\n const web3ChecksOptIn = !!(configFlags & 0x00000020);\n\n const data: GetAppConfigurationCommandResponse = {\n blindSigningEnabled,\n web3ChecksEnabled,\n web3ChecksOptIn,\n version: `${major}.${minor}.${patch}`,\n };\n\n return CommandResultFactory({\n data,\n });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAUO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAItBC,EAIO,gCAEA,MAAML,CAEb,CACW,KAAO,sBACC,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAE3C,aAAc,CAAC,CAEf,SAAgB,CACd,MAAMM,EAAoC,CACxC,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EAEA,OADgB,IAAI,cAAYA,CAAgB,EACjC,MAAM,CACvB,CAEA,cACEC,EACkE,CAClE,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEhCE,EAAcD,EAAO,gBAAgB,EAC3C,GAAIC,IAAgB,OAClB,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,6BAA6B,CACjE,CAAC,EAGH,MAAMC,EAAQF,EAAO,gBAAgB,EAC/BG,EAAQH,EAAO,gBAAgB,EAC/BI,EAAQJ,EAAO,gBAAgB,EAErC,GAAIE,IAAU,QAAaC,IAAU,QAAaC,IAAU,OAC1D,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,wBAAwB,CAC5D,CAAC,EAGH,MAAMC,EAAsB,CAAC,EAAEJ,EAAc,GACvCK,EAAoB,CAAC,EAAEL,EAAc,IACrCM,EAAkB,CAAC,EAAEN,EAAc,IAEnCO,EAA2C,CAC/C,oBAAAH,EACA,kBAAAC,EACA,gBAAAC,EACA,QAAS,GAAGL,CAAK,IAAIC,CAAK,IAAIC,CAAK,EACrC,EAEA,SAAO,wBAAqB,CAC1B,KAAAI,CACF,CAAC,CACH,CAAC,CACH,CACF",
6
6
  "names": ["GetAppConfigurationCommand_exports", "__export", "GetAppConfiguration", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "getEthConfigArgs", "response", "parser", "configFlags", "major", "minor", "patch", "blindSigningEnabled", "web3ChecksEnabled", "web3ChecksOptIn", "data"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("@ledgerhq/device-management-kit"),a=require("./GetAppConfigurationCommand");describe("GetConfigCommand",()=>{let s;beforeEach(()=>{s=new a.GetAppConfiguration}),describe("getApdu",()=>{it("should return the raw APDU",()=>{const r=s.getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,6,0,0,0]))})}),describe("parseResponse",()=>{it("should return the app configuration",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([49,1,2,3])},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?expect(e.data).toEqual({blindSigningEnabled:!0,web3ChecksEnabled:!0,web3ChecksOptIn:!0,version:"1.2.3"}):assert.fail("Expected a success")}),it("should return the app configuration with flags disabled",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([0,1,2,3])},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?expect(e.data).toEqual({blindSigningEnabled:!1,web3ChecksEnabled:!1,web3ChecksOptIn:!1,version:"1.2.3"}):assert.fail("Expected a success")}),it("should return an error if the device is locked",()=>{const r={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"5515",message:"Device is locked."}))}),it("should return an error if data is invalid",()=>{const r={statusCode:Uint8Array.from([106,128]),data:new Uint8Array},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"6a80",message:"Invalid data"}))}),it("should return an error if no flags are extracted",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(t.InvalidStatusWordError),expect(e.error).toEqual(expect.objectContaining({originalError:new Error("Cannot extract config flags")})))}),it("should return an error if no version is extracted",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([1])},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(t.InvalidStatusWordError),expect(e.error).toEqual(expect.objectContaining({originalError:new Error("Cannot extract version")})))})})});
1
+ "use strict";var t=require("@ledgerhq/device-management-kit"),a=require("./GetAppConfigurationCommand");describe("GetConfigCommand",()=>{let s;beforeEach(()=>{s=new a.GetAppConfiguration}),describe("name",()=>{it("should be 'getAppConfiguration'",()=>{expect(s.name).toBe("getAppConfiguration")})}),describe("getApdu",()=>{it("should return the raw APDU",()=>{const r=s.getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,6,0,0,0]))})}),describe("parseResponse",()=>{it("should return the app configuration",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([49,1,2,3])},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?expect(e.data).toEqual({blindSigningEnabled:!0,web3ChecksEnabled:!0,web3ChecksOptIn:!0,version:"1.2.3"}):assert.fail("Expected a success")}),it("should return the app configuration with flags disabled",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([0,1,2,3])},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?expect(e.data).toEqual({blindSigningEnabled:!1,web3ChecksEnabled:!1,web3ChecksOptIn:!1,version:"1.2.3"}):assert.fail("Expected a success")}),it("should return an error if the device is locked",()=>{const r={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"5515",message:"Device is locked."}))}),it("should return an error if data is invalid",()=>{const r={statusCode:Uint8Array.from([106,128]),data:new Uint8Array},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"6a80",message:"Invalid data"}))}),it("should return an error if no flags are extracted",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(t.InvalidStatusWordError),expect(e.error).toEqual(expect.objectContaining({originalError:new Error("Cannot extract config flags")})))}),it("should return an error if no version is extracted",()=>{const r={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([1])},e=s.parseResponse(r);(0,t.isSuccessCommandResult)(e)?assert.fail("Expected an error"):(expect(e.error).toBeInstanceOf(t.InvalidStatusWordError),expect(e.error).toEqual(expect.objectContaining({originalError:new Error("Cannot extract version")})))})})});
2
2
  //# sourceMappingURL=GetAppConfigurationCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/GetAppConfigurationCommand.test.ts"],
4
- "sourcesContent": ["import {\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { GetAppConfiguration } from \"./GetAppConfigurationCommand\";\n\ndescribe(\"GetConfigCommand\", () => {\n let command: GetAppConfiguration;\n\n beforeEach(() => {\n command = new GetAppConfiguration();\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x06, 0x00, 0x00, 0x00]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return the app configuration\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x31, 0x01, 0x02, 0x03]),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual({\n blindSigningEnabled: true,\n web3ChecksEnabled: true,\n web3ChecksOptIn: true,\n version: \"1.2.3\",\n });\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return the app configuration with flags disabled\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x00, 0x01, 0x02, 0x03]),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual({\n blindSigningEnabled: false,\n web3ChecksEnabled: false,\n web3ChecksOptIn: false,\n version: \"1.2.3\",\n });\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return an error if the device is locked\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"5515\",\n message: \"Device is locked.\",\n }),\n );\n }\n });\n\n it(\"should return an error if data is invalid\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x6a, 0x80]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"6a80\",\n message: \"Invalid data\",\n }),\n );\n }\n });\n\n it(\"should return an error if no flags are extracted\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error).toEqual(\n expect.objectContaining({\n originalError: new Error(\"Cannot extract config flags\"),\n }),\n );\n }\n });\n\n it(\"should return an error if no version is extracted\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x01]),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error).toEqual(\n expect.objectContaining({\n originalError: new Error(\"Cannot extract version\"),\n }),\n );\n }\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { GetAppConfiguration } from \"./GetAppConfigurationCommand\";\n\ndescribe(\"GetConfigCommand\", () => {\n let command: GetAppConfiguration;\n\n beforeEach(() => {\n command = new GetAppConfiguration();\n });\n\n describe(\"name\", () => {\n it(\"should be 'getAppConfiguration'\", () => {\n expect(command.name).toBe(\"getAppConfiguration\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x06, 0x00, 0x00, 0x00]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return the app configuration\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x31, 0x01, 0x02, 0x03]),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual({\n blindSigningEnabled: true,\n web3ChecksEnabled: true,\n web3ChecksOptIn: true,\n version: \"1.2.3\",\n });\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return the app configuration with flags disabled\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x00, 0x01, 0x02, 0x03]),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toEqual({\n blindSigningEnabled: false,\n web3ChecksEnabled: false,\n web3ChecksOptIn: false,\n version: \"1.2.3\",\n });\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return an error if the device is locked\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"5515\",\n message: \"Device is locked.\",\n }),\n );\n }\n });\n\n it(\"should return an error if data is invalid\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x6a, 0x80]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"6a80\",\n message: \"Invalid data\",\n }),\n );\n }\n });\n\n it(\"should return an error if no flags are extracted\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error).toEqual(\n expect.objectContaining({\n originalError: new Error(\"Cannot extract config flags\"),\n }),\n );\n }\n });\n\n it(\"should return an error if no version is extracted\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x01]),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error).toEqual(\n expect.objectContaining({\n originalError: new Error(\"Cannot extract version\"),\n }),\n );\n }\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_device_management_kit", "import_GetAppConfigurationCommand", "command", "apdu", "response", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var l=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var g=(o,e)=>{for(var t in e)l(o,t,{get:e[t],enumerable:!0})},E=(o,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of C(e))!i.call(o,n)&&n!==t&&l(o,n,{get:()=>e[n],enumerable:!(a=u(e,n))||a.enumerable});return o};var h=o=>E(l({},"__esModule",{value:!0}),o);var c={};g(c,{GetChallengeCommand:()=>A});module.exports=h(c);var r=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils"),d=require("purify-ts"),s=require("./utils/ethAppErrors");const p=4;class A{errorHelper=new m.CommandErrorHelper(s.ETH_APP_ERRORS,s.EthAppCommandErrorFactory);constructor(){}getApdu(){const e={cla:224,ins:32,p1:0,p2:0};return new r.ApduBuilder(e).build()}parseResponse(e){return d.Maybe.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const t=new r.ApduParser(e);if(t.testMinimalLength(p)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Challenge key is missing")});const a=t.encodeToHexaString(t.extractFieldByLength(p));return(0,r.CommandResultFactory)({data:{challenge:a}})})}}0&&(module.exports={GetChallengeCommand});
1
+ "use strict";var s=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var g=(o,e)=>{for(var t in e)s(o,t,{get:e[t],enumerable:!0})},h=(o,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of u(e))!i.call(o,n)&&n!==t&&s(o,n,{get:()=>e[n],enumerable:!(a=C(e,n))||a.enumerable});return o};var E=o=>h(s({},"__esModule",{value:!0}),o);var A={};g(A,{GetChallengeCommand:()=>y});module.exports=E(A);var r=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils"),d=require("purify-ts"),l=require("./utils/ethAppErrors");const p=4;class y{name="getChallenge";errorHelper=new m.CommandErrorHelper(l.ETH_APP_ERRORS,l.EthAppCommandErrorFactory);constructor(){}getApdu(){const e={cla:224,ins:32,p1:0,p2:0};return new r.ApduBuilder(e).build()}parseResponse(e){return d.Maybe.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const t=new r.ApduParser(e);if(t.testMinimalLength(p)===!1)return(0,r.CommandResultFactory)({error:new r.InvalidStatusWordError("Challenge key is missing")});const a=t.encodeToHexaString(t.extractFieldByLength(p));return(0,r.CommandResultFactory)({data:{challenge:a}})})}}0&&(module.exports={GetChallengeCommand});
2
2
  //# sourceMappingURL=GetChallengeCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/GetChallengeCommand.ts"],
4
- "sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#get-challenge\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nconst CHALLENGE_LENGTH = 4;\n\nexport type GetChallengeCommandResponse = {\n challenge: string;\n};\n\nexport class GetChallengeCommand\n implements Command<GetChallengeCommandResponse, void, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<\n GetChallengeCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor() {}\n\n getApdu(): Apdu {\n const getChallengeArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x20,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getChallengeArgs).build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetChallengeCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n if (parser.testMinimalLength(CHALLENGE_LENGTH) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Challenge key is missing\"),\n });\n }\n\n const challenge = parser.encodeToHexaString(\n parser.extractFieldByLength(CHALLENGE_LENGTH),\n );\n\n return CommandResultFactory({\n data: {\n challenge,\n },\n });\n });\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAUO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAEP,MAAMC,EAAmB,EAMlB,MAAMN,CAEb,CACmB,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAE3C,aAAc,CAAC,CAEf,SAAgB,CACd,MAAMO,EAAoC,CACxC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAgB,EAAE,MAAM,CACjD,CAEA,cACEC,EAC2D,CAC3D,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEtC,GAAIC,EAAO,kBAAkBH,CAAgB,IAAM,GACjD,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,0BAA0B,CAC9D,CAAC,EAGH,MAAMI,EAAYD,EAAO,mBACvBA,EAAO,qBAAqBH,CAAgB,CAC9C,EAEA,SAAO,wBAAqB,CAC1B,KAAM,CACJ,UAAAI,CACF,CACF,CAAC,CACH,CAAC,CACH,CACF",
4
+ "sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#get-challenge\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n InvalidStatusWordError,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nconst CHALLENGE_LENGTH = 4;\n\nexport type GetChallengeCommandResponse = {\n challenge: string;\n};\n\nexport class GetChallengeCommand\n implements Command<GetChallengeCommandResponse, void, EthErrorCodes>\n{\n readonly name = \"getChallenge\";\n private readonly errorHelper = new CommandErrorHelper<\n GetChallengeCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor() {}\n\n getApdu(): Apdu {\n const getChallengeArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x20,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getChallengeArgs).build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<GetChallengeCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n\n if (parser.testMinimalLength(CHALLENGE_LENGTH) === false) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Challenge key is missing\"),\n });\n }\n\n const challenge = parser.encodeToHexaString(\n parser.extractFieldByLength(CHALLENGE_LENGTH),\n );\n\n return CommandResultFactory({\n data: {\n challenge,\n },\n });\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAUO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAEP,MAAMC,EAAmB,EAMlB,MAAMN,CAEb,CACW,KAAO,eACC,YAAc,IAAI,qBAGjC,iBAAgB,2BAAyB,EAE3C,aAAc,CAAC,CAEf,SAAgB,CACd,MAAMO,EAAoC,CACxC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAgB,EAAE,MAAM,CACjD,CAEA,cACEC,EAC2D,CAC3D,OAAO,QAAM,aACX,KAAK,YAAY,SAASA,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAI,aAAWD,CAAQ,EAEtC,GAAIC,EAAO,kBAAkBH,CAAgB,IAAM,GACjD,SAAO,wBAAqB,CAC1B,MAAO,IAAI,yBAAuB,0BAA0B,CAC9D,CAAC,EAGH,MAAMI,EAAYD,EAAO,mBACvBA,EAAO,qBAAqBH,CAAgB,CAC9C,EAEA,SAAO,wBAAqB,CAC1B,KAAM,CACJ,UAAAI,CACF,CACF,CAAC,CACH,CAAC,CACH,CACF",
6
6
  "names": ["GetChallengeCommand_exports", "__export", "GetChallengeCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "CHALLENGE_LENGTH", "getChallengeArgs", "response", "parser", "challenge"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("@ledgerhq/device-management-kit"),s=require("./GetChallengeCommand");const o=Uint8Array.from([224,32,0,0,0]),n=Uint8Array.from([1,2,3,4]),a={statusCode:Uint8Array.from([144,0]),data:n},d={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},p=Uint8Array.from([1,2]),c={statusCode:Uint8Array.from([144,0]),data:p};describe("GetChallengeCommand",()=>{let r;beforeEach(()=>{r=new s.GetChallengeCommand}),describe("getApdu",()=>{it("should return the challenge apdu",()=>{const e=r.getApdu();expect(e.getRawApdu()).toStrictEqual(o)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const e=r.parseResponse(a);expect(e).toStrictEqual((0,t.CommandResultFactory)({data:{challenge:"01020304"}}))}),it("should return an error if the response is not successful",()=>{const e=r.parseResponse(d);expect((0,t.isSuccessCommandResult)(e)).toBe(!1)}),it("should return an error if the response is too short",()=>{const e=r.parseResponse(c);expect((0,t.isSuccessCommandResult)(e)).toBe(!1),expect(e.error).toBeInstanceOf(t.InvalidStatusWordError)})})});
1
+ "use strict";var t=require("@ledgerhq/device-management-kit"),s=require("./GetChallengeCommand");const o=Uint8Array.from([224,32,0,0,0]),n=Uint8Array.from([1,2,3,4]),a={statusCode:Uint8Array.from([144,0]),data:n},d={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},p=Uint8Array.from([1,2]),c={statusCode:Uint8Array.from([144,0]),data:p};describe("GetChallengeCommand",()=>{let r;beforeEach(()=>{r=new s.GetChallengeCommand}),describe("name",()=>{it("should be 'getChallenge'",()=>{expect(r.name).toBe("getChallenge")})}),describe("getApdu",()=>{it("should return the challenge apdu",()=>{const e=r.getApdu();expect(e.getRawApdu()).toStrictEqual(o)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const e=r.parseResponse(a);expect(e).toStrictEqual((0,t.CommandResultFactory)({data:{challenge:"01020304"}}))}),it("should return an error if the response is not successful",()=>{const e=r.parseResponse(d);expect((0,t.isSuccessCommandResult)(e)).toBe(!1)}),it("should return an error if the response is too short",()=>{const e=r.parseResponse(c);expect((0,t.isSuccessCommandResult)(e)).toBe(!1),expect(e.error).toBeInstanceOf(t.InvalidStatusWordError)})})});
2
2
  //# sourceMappingURL=GetChallengeCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/GetChallengeCommand.test.ts"],
4
- "sourcesContent": ["import {\n type Command,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type EthErrorCodes } from \"./utils/ethAppErrors\";\nimport {\n GetChallengeCommand,\n type GetChallengeCommandResponse,\n} from \"./GetChallengeCommand\";\n\nconst GET_CHALLENGE_APDU = Uint8Array.from([0xe0, 0x20, 0x00, 0x00, 0x00]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([0x01, 0x02, 0x03, 0x04]);\n\nconst LNX_RESPONSE_GOOD = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n};\n\nconst LNX_RESPONSE_LOCKED = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n};\n\nconst LNX_RESPONSE_DATA_TOO_SHORT = Uint8Array.from([0x01, 0x02]);\n\nconst LNX_RESPONSE_TOO_SHORT = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_TOO_SHORT,\n};\n\ndescribe(\"GetChallengeCommand\", () => {\n let command: Command<GetChallengeCommandResponse, EthErrorCodes, string>;\n\n beforeEach(() => {\n command = new GetChallengeCommand();\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the challenge apdu\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_CHALLENGE_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsedResponse = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsedResponse).toStrictEqual(\n CommandResultFactory({\n data: {\n challenge: \"01020304\",\n },\n }),\n );\n });\n\n it(\"should return an error if the response is not successful\", () => {\n const result = command.parseResponse(LNX_RESPONSE_LOCKED);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should return an error if the response is too short\", () => {\n const result = command.parseResponse(LNX_RESPONSE_TOO_SHORT);\n\n expect(isSuccessCommandResult(result)).toBe(false);\n // @ts-ignore\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n });\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAKO,2CAGPC,EAGO,iCAEP,MAAMC,EAAqB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,CAAI,CAAC,EAEnEC,EAAyB,WAAW,KAAK,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,EAEjEC,EAAoB,CACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMD,CACR,EAEME,EAAsB,CAC1B,WAAY,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAEMC,EAA8B,WAAW,KAAK,CAAC,EAAM,CAAI,CAAC,EAE1DC,EAAyB,CAC7B,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMD,CACR,EAEA,SAAS,sBAAuB,IAAM,CACpC,IAAIE,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAI,qBAChB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,mCAAoC,IAAM,CAC3C,MAAMC,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcP,CAAkB,CAC5D,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,4BAA6B,IAAM,CACpC,MAAMQ,EAAiBF,EAAQ,cAAcJ,CAAiB,EAC9D,OAAOM,CAAc,EAAE,iBACrB,wBAAqB,CACnB,KAAM,CACJ,UAAW,UACb,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,2DAA4D,IAAM,CACnE,MAAMC,EAASH,EAAQ,cAAcH,CAAmB,EACxD,UAAO,0BAAuBM,CAAM,CAAC,EAAE,KAAK,EAAK,CACnD,CAAC,EAED,GAAG,sDAAuD,IAAM,CAC9D,MAAMA,EAASH,EAAQ,cAAcD,CAAsB,EAE3D,UAAO,0BAAuBI,CAAM,CAAC,EAAE,KAAK,EAAK,EAEjD,OAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,CAC5D,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import {\n type Command,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type EthErrorCodes } from \"./utils/ethAppErrors\";\nimport {\n GetChallengeCommand,\n type GetChallengeCommandResponse,\n} from \"./GetChallengeCommand\";\n\nconst GET_CHALLENGE_APDU = Uint8Array.from([0xe0, 0x20, 0x00, 0x00, 0x00]);\n\nconst LNX_RESPONSE_DATA_GOOD = Uint8Array.from([0x01, 0x02, 0x03, 0x04]);\n\nconst LNX_RESPONSE_GOOD = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_GOOD,\n};\n\nconst LNX_RESPONSE_LOCKED = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n};\n\nconst LNX_RESPONSE_DATA_TOO_SHORT = Uint8Array.from([0x01, 0x02]);\n\nconst LNX_RESPONSE_TOO_SHORT = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA_TOO_SHORT,\n};\n\ndescribe(\"GetChallengeCommand\", () => {\n let command: Command<GetChallengeCommandResponse, EthErrorCodes, string>;\n\n beforeEach(() => {\n command = new GetChallengeCommand();\n });\n\n describe(\"name\", () => {\n it(\"should be 'getChallenge'\", () => {\n expect(command.name).toBe(\"getChallenge\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the challenge apdu\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_CHALLENGE_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n const parsedResponse = command.parseResponse(LNX_RESPONSE_GOOD);\n expect(parsedResponse).toStrictEqual(\n CommandResultFactory({\n data: {\n challenge: \"01020304\",\n },\n }),\n );\n });\n\n it(\"should return an error if the response is not successful\", () => {\n const result = command.parseResponse(LNX_RESPONSE_LOCKED);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should return an error if the response is too short\", () => {\n const result = command.parseResponse(LNX_RESPONSE_TOO_SHORT);\n\n expect(isSuccessCommandResult(result)).toBe(false);\n // @ts-ignore\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAKO,2CAGPC,EAGO,iCAEP,MAAMC,EAAqB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,CAAI,CAAC,EAEnEC,EAAyB,WAAW,KAAK,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,EAEjEC,EAAoB,CACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMD,CACR,EAEME,EAAsB,CAC1B,WAAY,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAEMC,EAA8B,WAAW,KAAK,CAAC,EAAM,CAAI,CAAC,EAE1DC,EAAyB,CAC7B,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAMD,CACR,EAEA,SAAS,sBAAuB,IAAM,CACpC,IAAIE,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAI,qBAChB,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,GAAG,2BAA4B,IAAM,CACnC,OAAOA,EAAQ,IAAI,EAAE,KAAK,cAAc,CAC1C,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,mCAAoC,IAAM,CAC3C,MAAMC,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcP,CAAkB,CAC5D,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,4BAA6B,IAAM,CACpC,MAAMQ,EAAiBF,EAAQ,cAAcJ,CAAiB,EAC9D,OAAOM,CAAc,EAAE,iBACrB,wBAAqB,CACnB,KAAM,CACJ,UAAW,UACb,CACF,CAAC,CACH,CACF,CAAC,EAED,GAAG,2DAA4D,IAAM,CACnE,MAAMC,EAASH,EAAQ,cAAcH,CAAmB,EACxD,UAAO,0BAAuBM,CAAM,CAAC,EAAE,KAAK,EAAK,CACnD,CAAC,EAED,GAAG,sDAAuD,IAAM,CAC9D,MAAMA,EAASH,EAAQ,cAAcD,CAAsB,EAE3D,UAAO,0BAAuBI,CAAM,CAAC,EAAE,KAAK,EAAK,EAEjD,OAAOA,EAAO,KAAK,EAAE,eAAe,wBAAsB,CAC5D,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_device_management_kit", "import_GetChallengeCommand", "GET_CHALLENGE_APDU", "LNX_RESPONSE_DATA_GOOD", "LNX_RESPONSE_GOOD", "LNX_RESPONSE_LOCKED", "LNX_RESPONSE_DATA_TOO_SHORT", "LNX_RESPONSE_TOO_SHORT", "command", "apdu", "parsedResponse", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var E=(e,r)=>{for(var d in r)m(e,d,{get:r[d],enumerable:!0})},A=(e,r,d,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of u(r))!l.call(e,o)&&o!==d&&m(e,o,{get:()=>r[o],enumerable:!(n=i(r,o))||n.enumerable});return e};var C=e=>A(m({},"__esModule",{value:!0}),e);var g={};E(g,{ProvideEnumCommand:()=>y});module.exports=C(g);var t=require("@ledgerhq/device-management-kit"),s=require("@ledgerhq/signer-utils"),p=require("purify-ts"),a=require("./utils/ethAppErrors");class y{constructor(r){this.args=r}errorHelper=new s.CommandErrorHelper(a.ETH_APP_ERRORS,a.EthAppCommandErrorFactory);getApdu(){const r={cla:224,ins:36,p1:this.args.isFirstChunk?1:0,p2:0};return new t.ApduBuilder(r).addBufferToData(this.args.data).build()}parseResponse(r){return p.Maybe.fromNullable(this.errorHelper.getError(r)).orDefault((0,t.CommandResultFactory)({data:void 0}))}}0&&(module.exports={ProvideEnumCommand});
1
+ "use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var E=(e,r)=>{for(var d in r)m(e,d,{get:r[d],enumerable:!0})},A=(e,r,d,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of u(r))!l.call(e,o)&&o!==d&&m(e,o,{get:()=>r[o],enumerable:!(n=i(r,o))||n.enumerable});return e};var C=e=>A(m({},"__esModule",{value:!0}),e);var g={};E(g,{ProvideEnumCommand:()=>y});module.exports=C(g);var t=require("@ledgerhq/device-management-kit"),p=require("@ledgerhq/signer-utils"),s=require("purify-ts"),a=require("./utils/ethAppErrors");class y{constructor(r){this.args=r}name="provideEnum";errorHelper=new p.CommandErrorHelper(a.ETH_APP_ERRORS,a.EthAppCommandErrorFactory);getApdu(){const r={cla:224,ins:36,p1:this.args.isFirstChunk?1:0,p2:0};return new t.ApduBuilder(r).addBufferToData(this.args.data).build()}parseResponse(r){return s.Maybe.fromNullable(this.errorHelper.getError(r)).orDefault((0,t.CommandResultFactory)({data:void 0}))}}0&&(module.exports={ProvideEnumCommand});
2
2
  //# sourceMappingURL=ProvideEnumCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/ProvideEnumCommand.ts"],
4
- "sourcesContent": ["// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#provide-enum\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideEnumCommandArgs = {\n /**\n * The enum data to provide in chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class ProvideEnumCommand\n implements Command<void, ProvideEnumCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: ProvideEnumCommandArgs) {}\n\n getApdu(): Apdu {\n const ProvideEnumArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x24,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(ProvideEnumArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAQO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAaA,MAAML,CAEb,CAME,YAA6BM,EAA8B,CAA9B,UAAAA,CAA+B,CAL3C,YAAc,IAAI,qBACjC,iBACA,2BACF,EAIA,SAAgB,CACd,MAAMC,EAAmC,CACvC,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,aAAe,EAAO,EACpC,GAAI,CACN,EAEA,OAAO,IAAI,cAAYA,CAAe,EACnC,gBAAgB,KAAK,KAAK,IAAI,EAC9B,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAO,QAAM,aAAa,KAAK,YAAY,SAASA,CAAQ,CAAC,EAAE,aAC7D,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
4
+ "sourcesContent": ["// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#provide-enum\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideEnumCommandArgs = {\n /**\n * The enum data to provide in chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class ProvideEnumCommand\n implements Command<void, ProvideEnumCommandArgs, EthErrorCodes>\n{\n readonly name = \"provideEnum\";\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: ProvideEnumCommandArgs) {}\n\n getApdu(): Apdu {\n const ProvideEnumArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x24,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(ProvideEnumArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAQO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAaA,MAAML,CAEb,CAOE,YAA6BM,EAA8B,CAA9B,UAAAA,CAA+B,CANnD,KAAO,cACC,YAAc,IAAI,qBACjC,iBACA,2BACF,EAIA,SAAgB,CACd,MAAMC,EAAmC,CACvC,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,aAAe,EAAO,EACpC,GAAI,CACN,EAEA,OAAO,IAAI,cAAYA,CAAe,EACnC,gBAAgB,KAAK,KAAK,IAAI,EAC9B,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAO,QAAM,aAAa,KAAK,YAAY,SAASA,CAAQ,CAAC,EAAE,aAC7D,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
6
6
  "names": ["ProvideEnumCommand_exports", "__export", "ProvideEnumCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "args", "ProvideEnumArgs", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=require("@ledgerhq/device-management-kit"),n=require("./utils/ethAppErrors"),t=require("./ProvideEnumCommand");describe("ProvideEnumCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU for the first chunk",()=>{const r={data:Uint8Array.from([1,2,3]),isFirstChunk:!0},e=new t.ProvideEnumCommand(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,36,1,0,3,1,2,3]))}),it("should return the raw APDU for the subsequent chunk",()=>{const r={data:Uint8Array.from([4,5,6]),isFirstChunk:!1},e=new t.ProvideEnumCommand(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,36,0,0,3,4,5,6]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([109,0])},e=new t.ProvideEnumCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);if((0,o.isSuccessCommandResult)(e))throw new Error("Expected an error");expect(e.error).toBeDefined(),expect(e.error).toBeInstanceOf(n.EthAppCommandError)}),it("should return a success result if the response status code is valid",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=new t.ProvideEnumCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);expect((0,o.isSuccessCommandResult)(e)).toBe(!0)})})});
1
+ "use strict";var s=require("@ledgerhq/device-management-kit"),o=require("./utils/ethAppErrors"),t=require("./ProvideEnumCommand");describe("ProvideEnumCommand",()=>{describe("name",()=>{it("should be 'provideEnum'",()=>{const e=new t.ProvideEnumCommand({data:new Uint8Array,isFirstChunk:!0});expect(e.name).toBe("provideEnum")})}),describe("getApdu",()=>{it("should return the raw APDU for the first chunk",()=>{const e={data:Uint8Array.from([1,2,3]),isFirstChunk:!0},r=new t.ProvideEnumCommand(e).getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,36,1,0,3,1,2,3]))}),it("should return the raw APDU for the subsequent chunk",()=>{const e={data:Uint8Array.from([4,5,6]),isFirstChunk:!1},r=new t.ProvideEnumCommand(e).getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,36,0,0,3,4,5,6]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const e={data:Uint8Array.from([]),statusCode:Uint8Array.from([109,0])},r=new t.ProvideEnumCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(e);if((0,s.isSuccessCommandResult)(r))throw new Error("Expected an error");expect(r.error).toBeDefined(),expect(r.error).toBeInstanceOf(o.EthAppCommandError)}),it("should return a success result if the response status code is valid",()=>{const e={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},r=new t.ProvideEnumCommand({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(e);expect((0,s.isSuccessCommandResult)(r)).toBe(!0)})})});
2
2
  //# sourceMappingURL=ProvideEnumCommand.test.js.map