@ledgerhq/device-signer-kit-ethereum 0.0.0-signer-eth-20250122093657 → 0.0.0-test-recursive-stack-20251002122259

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 (650) hide show
  1. package/README.md +80 -15
  2. package/lib/cjs/api/SignerEth.js +1 -1
  3. package/lib/cjs/api/SignerEth.js.map +1 -1
  4. package/lib/cjs/api/SignerEthBuilder.js +1 -1
  5. package/lib/cjs/api/SignerEthBuilder.js.map +3 -3
  6. package/lib/cjs/api/SignerEthBuilder.test.js +1 -1
  7. package/lib/cjs/api/SignerEthBuilder.test.js.map +3 -3
  8. package/lib/cjs/api/app-binder/GetConfigCommandTypes.js +2 -0
  9. package/lib/cjs/api/app-binder/GetConfigCommandTypes.js.map +7 -0
  10. package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js +2 -0
  11. package/lib/cjs/api/app-binder/SignDelegationAuthorizationTypes.js.map +7 -0
  12. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js +1 -1
  13. package/lib/cjs/api/app-binder/SignPersonalMessageDeviceActionTypes.js.map +1 -1
  14. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js +1 -1
  15. package/lib/cjs/api/app-binder/SignTransactionDeviceActionTypes.js.map +3 -3
  16. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -1
  17. package/lib/cjs/api/app-binder/SignTypedDataDeviceActionTypes.js.map +3 -3
  18. package/lib/cjs/api/index.js +1 -1
  19. package/lib/cjs/api/index.js.map +3 -3
  20. package/lib/cjs/api/model/AddressOptions.js +1 -1
  21. package/lib/cjs/api/model/AddressOptions.js.map +1 -1
  22. package/lib/cjs/api/model/ClearSigningType.js +2 -0
  23. package/lib/cjs/api/model/ClearSigningType.js.map +7 -0
  24. package/lib/cjs/api/model/MessageOptions.js +2 -0
  25. package/lib/cjs/api/model/MessageOptions.js.map +7 -0
  26. package/lib/cjs/api/model/TransactionOptions.js +1 -1
  27. package/lib/cjs/api/model/TransactionOptions.js.map +1 -1
  28. package/lib/cjs/api/model/TypedDataOptions.js +2 -0
  29. package/lib/cjs/api/model/TypedDataOptions.js.map +7 -0
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/internal/DefaultSignerEth.js +1 -1
  32. package/lib/cjs/internal/DefaultSignerEth.js.map +3 -3
  33. package/lib/cjs/internal/DefaultSignerEth.test.js +1 -1
  34. package/lib/cjs/internal/DefaultSignerEth.test.js.map +3 -3
  35. package/lib/cjs/internal/address/di/addressModule.js +1 -1
  36. package/lib/cjs/internal/address/di/addressModule.js.map +3 -3
  37. package/lib/cjs/internal/address/di/addressModule.test.js +1 -1
  38. package/lib/cjs/internal/address/di/addressModule.test.js.map +2 -2
  39. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js +1 -1
  40. package/lib/cjs/internal/address/use-case/GetAddressUseCase.js.map +2 -2
  41. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  42. package/lib/cjs/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  43. package/lib/cjs/internal/app-binder/EthAppBinder.js +1 -1
  44. package/lib/cjs/internal/app-binder/EthAppBinder.js.map +3 -3
  45. package/lib/cjs/internal/app-binder/EthAppBinder.test.js +1 -1
  46. package/lib/cjs/internal/app-binder/EthAppBinder.test.js.map +3 -3
  47. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  48. package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  49. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js +2 -0
  50. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js.map +7 -0
  51. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js +2 -0
  52. package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +7 -0
  53. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  54. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  55. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  56. package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  57. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  58. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  59. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  60. package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  61. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js +2 -0
  62. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +7 -0
  63. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +2 -0
  64. package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +7 -0
  65. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  66. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  67. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  68. package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  69. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  70. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  71. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  72. package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  73. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  74. package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
  75. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  76. package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +2 -2
  77. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js +2 -0
  78. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js.map +7 -0
  79. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js +2 -0
  80. package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +7 -0
  81. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js +1 -1
  82. package/lib/cjs/internal/app-binder/command/utils/ethAppErrors.test.js.map +2 -2
  83. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  84. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  85. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  86. package/lib/cjs/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  87. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  88. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  89. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  90. package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  91. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  92. package/lib/cjs/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  93. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  94. package/lib/cjs/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  95. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  96. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  97. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js +2 -0
  98. package/lib/cjs/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js.map +7 -0
  99. package/lib/cjs/internal/app-binder/di/appBinderModule.js +1 -1
  100. package/lib/cjs/internal/app-binder/di/appBinderModule.js.map +3 -3
  101. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.js +2 -0
  102. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.js.map +7 -0
  103. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.test.js +2 -0
  104. package/lib/cjs/internal/app-binder/task/BuildBaseContexts.test.js.map +7 -0
  105. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  106. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  107. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  108. package/lib/cjs/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  109. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.js +2 -0
  110. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.js.map +7 -0
  111. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.test.js +2 -0
  112. package/lib/cjs/internal/app-binder/task/BuildFullContextsTask.test.js.map +7 -0
  113. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.js +2 -0
  114. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.js.map +7 -0
  115. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.test.js +2 -0
  116. package/lib/cjs/internal/app-binder/task/BuildSubcontextsTask.test.js.map +7 -0
  117. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js +2 -0
  118. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.js.map +7 -0
  119. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js +2 -0
  120. package/lib/cjs/internal/app-binder/task/GetWeb3CheckTask.test.js.map +7 -0
  121. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.js +2 -0
  122. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.js.map +7 -0
  123. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.test.js +2 -0
  124. package/lib/cjs/internal/app-binder/task/ParseNestedTransactionTask.test.js.map +7 -0
  125. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.js +2 -0
  126. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.js.map +7 -0
  127. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.test.js +2 -0
  128. package/lib/cjs/internal/app-binder/task/ParseTransactionTask.test.js.map +7 -0
  129. package/lib/cjs/internal/app-binder/task/ProvideContextsTask.js +2 -0
  130. package/lib/cjs/internal/app-binder/task/ProvideContextsTask.js.map +7 -0
  131. package/lib/cjs/internal/app-binder/task/ProvideContextsTask.test.js +2 -0
  132. package/lib/cjs/internal/app-binder/task/ProvideContextsTask.test.js.map +7 -0
  133. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  134. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  135. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  136. package/lib/cjs/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  137. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
  138. package/lib/cjs/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
  139. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  140. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  141. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  142. package/lib/cjs/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  143. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  144. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  145. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  146. package/lib/cjs/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  147. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
  148. package/lib/cjs/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
  149. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  150. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  151. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  152. package/lib/cjs/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  153. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
  154. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
  155. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
  156. package/lib/cjs/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
  157. package/lib/cjs/internal/di.js +1 -1
  158. package/lib/cjs/internal/di.js.map +3 -3
  159. package/lib/cjs/internal/eip7702/di/eip7702Module.js +2 -0
  160. package/lib/cjs/internal/eip7702/di/eip7702Module.js.map +7 -0
  161. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js +2 -0
  162. package/lib/cjs/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  163. package/lib/cjs/internal/eip7702/di/eip7702Types.js +2 -0
  164. package/lib/cjs/internal/eip7702/di/eip7702Types.js.map +7 -0
  165. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  166. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  167. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  168. package/lib/cjs/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  169. package/lib/cjs/internal/message/di/messageModule.js +1 -1
  170. package/lib/cjs/internal/message/di/messageModule.js.map +3 -3
  171. package/lib/cjs/internal/message/di/messageModule.test.js +1 -1
  172. package/lib/cjs/internal/message/di/messageModule.test.js.map +2 -2
  173. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js +1 -1
  174. package/lib/cjs/internal/message/use-case/SignMessageUseCase.js.map +3 -3
  175. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  176. package/lib/cjs/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  177. package/lib/cjs/internal/shared/utils/ApplicationChecker.js +2 -0
  178. package/lib/cjs/internal/shared/utils/ApplicationChecker.js.map +7 -0
  179. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js +2 -0
  180. package/lib/cjs/internal/shared/utils/ApplicationChecker.test.js.map +7 -0
  181. package/lib/cjs/internal/transaction/di/transactionModule.js +1 -1
  182. package/lib/cjs/internal/transaction/di/transactionModule.js.map +3 -3
  183. package/lib/cjs/internal/transaction/di/transactionModule.test.js +1 -1
  184. package/lib/cjs/internal/transaction/di/transactionModule.test.js.map +2 -2
  185. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  186. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  187. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  188. package/lib/cjs/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  189. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js +1 -1
  190. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.js.map +3 -3
  191. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js +1 -1
  192. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  193. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  194. package/lib/cjs/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  195. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
  196. package/lib/cjs/internal/transaction/use-case/SignTransactionUseCase.test.js.map +2 -2
  197. package/lib/cjs/internal/typed-data/di/typedDataModule.js +1 -1
  198. package/lib/cjs/internal/typed-data/di/typedDataModule.js.map +3 -3
  199. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js +1 -1
  200. package/lib/cjs/internal/typed-data/di/typedDataModule.test.js.map +2 -2
  201. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
  202. package/lib/cjs/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
  203. package/lib/cjs/internal/typed-data/service/TypedDataParser.js +1 -1
  204. package/lib/cjs/internal/typed-data/service/TypedDataParser.js.map +3 -3
  205. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js +1 -1
  206. package/lib/cjs/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
  207. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
  208. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
  209. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  210. package/lib/cjs/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  211. package/lib/cjs/package.json +17 -18
  212. package/lib/esm/api/SignerEthBuilder.js +1 -1
  213. package/lib/esm/api/SignerEthBuilder.js.map +3 -3
  214. package/lib/esm/api/SignerEthBuilder.test.js +1 -1
  215. package/lib/esm/api/SignerEthBuilder.test.js.map +3 -3
  216. package/lib/esm/api/app-binder/GetConfigCommandTypes.js +1 -0
  217. package/lib/esm/api/app-binder/SignDelegationAuthorizationTypes.js +1 -0
  218. package/lib/esm/api/app-binder/SignDelegationAuthorizationTypes.js.map +7 -0
  219. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js +1 -0
  220. package/lib/esm/api/app-binder/SignTransactionDeviceActionTypes.js.map +4 -4
  221. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js +1 -0
  222. package/lib/esm/api/app-binder/SignTypedDataDeviceActionTypes.js.map +4 -4
  223. package/lib/esm/api/index.js +1 -1
  224. package/lib/esm/api/index.js.map +3 -3
  225. package/lib/esm/api/model/ClearSigningType.js +2 -0
  226. package/lib/esm/api/model/ClearSigningType.js.map +7 -0
  227. package/lib/esm/api/model/MessageOptions.js +1 -0
  228. package/lib/esm/api/model/MessageOptions.js.map +7 -0
  229. package/lib/esm/api/model/TypedDataOptions.js +1 -0
  230. package/lib/esm/api/model/TypedDataOptions.js.map +7 -0
  231. package/lib/esm/internal/DefaultSignerEth.js +1 -1
  232. package/lib/esm/internal/DefaultSignerEth.js.map +3 -3
  233. package/lib/esm/internal/DefaultSignerEth.test.js +1 -1
  234. package/lib/esm/internal/DefaultSignerEth.test.js.map +3 -3
  235. package/lib/esm/internal/address/di/addressModule.js +1 -1
  236. package/lib/esm/internal/address/di/addressModule.js.map +3 -3
  237. package/lib/esm/internal/address/di/addressModule.test.js +1 -1
  238. package/lib/esm/internal/address/di/addressModule.test.js.map +2 -2
  239. package/lib/esm/internal/address/use-case/GetAddressUseCase.js +1 -1
  240. package/lib/esm/internal/address/use-case/GetAddressUseCase.js.map +2 -2
  241. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js +1 -1
  242. package/lib/esm/internal/address/use-case/GetAddressUseCase.test.js.map +2 -2
  243. package/lib/esm/internal/app-binder/EthAppBinder.js +1 -1
  244. package/lib/esm/internal/app-binder/EthAppBinder.js.map +3 -3
  245. package/lib/esm/internal/app-binder/EthAppBinder.test.js +1 -1
  246. package/lib/esm/internal/app-binder/EthAppBinder.test.js.map +3 -3
  247. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +1 -1
  248. package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
  249. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js +2 -0
  250. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js.map +7 -0
  251. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js +2 -0
  252. package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +7 -0
  253. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +2 -0
  254. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +7 -0
  255. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +2 -0
  256. package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +7 -0
  257. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js +2 -0
  258. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js.map +7 -0
  259. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js +2 -0
  260. package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +7 -0
  261. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js +2 -0
  262. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +7 -0
  263. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +2 -0
  264. package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +7 -0
  265. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
  266. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +3 -3
  267. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
  268. package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
  269. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js +2 -0
  270. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +7 -0
  271. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +2 -0
  272. package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +7 -0
  273. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
  274. package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +2 -2
  275. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
  276. package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +2 -2
  277. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js +2 -0
  278. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js.map +7 -0
  279. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js +2 -0
  280. package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +7 -0
  281. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js +1 -1
  282. package/lib/esm/internal/app-binder/command/utils/ethAppErrors.test.js.map +2 -2
  283. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js +1 -1
  284. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.js.map +3 -3
  285. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js +1 -1
  286. package/lib/esm/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.test.js.map +3 -3
  287. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
  288. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +3 -3
  289. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
  290. package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
  291. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js +1 -1
  292. package/lib/esm/internal/app-binder/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  293. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js +1 -1
  294. package/lib/esm/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.js.map +2 -2
  295. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  296. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  297. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js +2 -0
  298. package/lib/esm/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.js.map +7 -0
  299. package/lib/esm/internal/app-binder/di/appBinderModule.js +1 -1
  300. package/lib/esm/internal/app-binder/di/appBinderModule.js.map +3 -3
  301. package/lib/esm/internal/app-binder/task/BuildBaseContexts.js +2 -0
  302. package/lib/esm/internal/app-binder/task/BuildBaseContexts.js.map +7 -0
  303. package/lib/esm/internal/app-binder/task/BuildBaseContexts.test.js +2 -0
  304. package/lib/esm/internal/app-binder/task/BuildBaseContexts.test.js.map +7 -0
  305. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js +1 -1
  306. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.js.map +3 -3
  307. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js +1 -1
  308. package/lib/esm/internal/app-binder/task/BuildEIP712ContextTask.test.js.map +3 -3
  309. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.js +2 -0
  310. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.js.map +7 -0
  311. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.test.js +2 -0
  312. package/lib/esm/internal/app-binder/task/BuildFullContextsTask.test.js.map +7 -0
  313. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.js +2 -0
  314. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.js.map +7 -0
  315. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.test.js +2 -0
  316. package/lib/esm/internal/app-binder/task/BuildSubcontextsTask.test.js.map +7 -0
  317. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js +2 -0
  318. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.js.map +7 -0
  319. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js +2 -0
  320. package/lib/esm/internal/app-binder/task/GetWeb3CheckTask.test.js.map +7 -0
  321. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.js +2 -0
  322. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.js.map +7 -0
  323. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.test.js +2 -0
  324. package/lib/esm/internal/app-binder/task/ParseNestedTransactionTask.test.js.map +7 -0
  325. package/lib/esm/internal/app-binder/task/ParseTransactionTask.js +2 -0
  326. package/lib/esm/internal/app-binder/task/ParseTransactionTask.js.map +7 -0
  327. package/lib/esm/internal/app-binder/task/ParseTransactionTask.test.js +2 -0
  328. package/lib/esm/internal/app-binder/task/ParseTransactionTask.test.js.map +7 -0
  329. package/lib/esm/internal/app-binder/task/ProvideContextsTask.js +2 -0
  330. package/lib/esm/internal/app-binder/task/ProvideContextsTask.js.map +7 -0
  331. package/lib/esm/internal/app-binder/task/ProvideContextsTask.test.js +2 -0
  332. package/lib/esm/internal/app-binder/task/ProvideContextsTask.test.js.map +7 -0
  333. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js +1 -1
  334. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.js.map +3 -3
  335. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js +1 -1
  336. package/lib/esm/internal/app-binder/task/ProvideEIP712ContextTask.test.js.map +3 -3
  337. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js +1 -1
  338. package/lib/esm/internal/app-binder/task/SendEIP712StructImplemTask.test.js.map +2 -2
  339. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js +1 -1
  340. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.js.map +3 -3
  341. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js +1 -1
  342. package/lib/esm/internal/app-binder/task/SendPayloadInChunksTask.test.js.map +3 -3
  343. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js +2 -0
  344. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.js.map +7 -0
  345. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js +2 -0
  346. package/lib/esm/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.js.map +7 -0
  347. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js +1 -1
  348. package/lib/esm/internal/app-binder/task/SendSignPersonalMessageTask.test.js.map +2 -2
  349. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js +1 -1
  350. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.js.map +3 -3
  351. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js +1 -1
  352. package/lib/esm/internal/app-binder/task/SendSignTransactionTask.test.js.map +3 -3
  353. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js +2 -0
  354. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.js.map +7 -0
  355. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js +2 -0
  356. package/lib/esm/internal/app-binder/task/SignTypedDataLegacyTask.test.js.map +7 -0
  357. package/lib/esm/internal/di.js +1 -1
  358. package/lib/esm/internal/di.js.map +3 -3
  359. package/lib/esm/internal/eip7702/di/eip7702Module.js +2 -0
  360. package/lib/esm/internal/eip7702/di/eip7702Module.js.map +7 -0
  361. package/lib/esm/internal/eip7702/di/eip7702Module.test.js +2 -0
  362. package/lib/esm/internal/eip7702/di/eip7702Module.test.js.map +7 -0
  363. package/lib/esm/internal/eip7702/di/eip7702Types.js +2 -0
  364. package/lib/esm/internal/eip7702/di/eip7702Types.js.map +7 -0
  365. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js +2 -0
  366. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.js.map +7 -0
  367. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js +2 -0
  368. package/lib/esm/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.js.map +7 -0
  369. package/lib/esm/internal/message/di/messageModule.js +1 -1
  370. package/lib/esm/internal/message/di/messageModule.js.map +3 -3
  371. package/lib/esm/internal/message/di/messageModule.test.js +1 -1
  372. package/lib/esm/internal/message/di/messageModule.test.js.map +2 -2
  373. package/lib/esm/internal/message/use-case/SignMessageUseCase.js +1 -1
  374. package/lib/esm/internal/message/use-case/SignMessageUseCase.js.map +3 -3
  375. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js +1 -1
  376. package/lib/esm/internal/message/use-case/SignMessageUseCase.test.js.map +2 -2
  377. package/lib/esm/internal/shared/utils/ApplicationChecker.js +2 -0
  378. package/lib/esm/internal/shared/utils/ApplicationChecker.js.map +7 -0
  379. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js +2 -0
  380. package/lib/esm/internal/shared/utils/ApplicationChecker.test.js.map +7 -0
  381. package/lib/esm/internal/transaction/di/transactionModule.js +1 -1
  382. package/lib/esm/internal/transaction/di/transactionModule.js.map +3 -3
  383. package/lib/esm/internal/transaction/di/transactionModule.test.js +1 -1
  384. package/lib/esm/internal/transaction/di/transactionModule.test.js.map +2 -2
  385. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js +2 -0
  386. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.js.map +7 -0
  387. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js +2 -0
  388. package/lib/esm/internal/transaction/service/mapper/EthersTransactionMapperService.test.js.map +7 -0
  389. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js +0 -1
  390. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.js.map +4 -4
  391. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js +1 -1
  392. package/lib/esm/internal/transaction/service/parser/TransactionParserService.js.map +3 -3
  393. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js +1 -1
  394. package/lib/esm/internal/transaction/service/parser/TransactionParserService.test.js.map +3 -3
  395. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js +1 -1
  396. package/lib/esm/internal/transaction/use-case/SignTransactionUseCase.test.js.map +2 -2
  397. package/lib/esm/internal/typed-data/di/typedDataModule.js +1 -1
  398. package/lib/esm/internal/typed-data/di/typedDataModule.js.map +3 -3
  399. package/lib/esm/internal/typed-data/di/typedDataModule.test.js +1 -1
  400. package/lib/esm/internal/typed-data/di/typedDataModule.test.js.map +2 -2
  401. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js +1 -1
  402. package/lib/esm/internal/typed-data/service/DefaultTypedDataParserService.js.map +2 -2
  403. package/lib/esm/internal/typed-data/service/TypedDataParser.js +1 -1
  404. package/lib/esm/internal/typed-data/service/TypedDataParser.js.map +3 -3
  405. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js +1 -1
  406. package/lib/esm/internal/typed-data/service/TypedDataParser.test.js.map +2 -2
  407. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js +1 -1
  408. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.js.map +3 -3
  409. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js +1 -1
  410. package/lib/esm/internal/typed-data/use-case/SignTypedDataUseCase.test.js.map +2 -2
  411. package/lib/esm/package.json +17 -18
  412. package/lib/types/api/SignerEth.d.ts +8 -4
  413. package/lib/types/api/SignerEth.d.ts.map +1 -1
  414. package/lib/types/api/SignerEthBuilder.d.ts +4 -2
  415. package/lib/types/api/SignerEthBuilder.d.ts.map +1 -1
  416. package/lib/types/api/app-binder/GetConfigCommandTypes.d.ts +7 -0
  417. package/lib/types/api/app-binder/GetConfigCommandTypes.d.ts.map +1 -0
  418. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts +19 -0
  419. package/lib/types/api/app-binder/SignDelegationAuthorizationTypes.d.ts.map +1 -0
  420. package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts +1 -10
  421. package/lib/types/api/app-binder/SignPersonalMessageDeviceActionTypes.d.ts.map +1 -1
  422. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts +25 -8
  423. package/lib/types/api/app-binder/SignTransactionDeviceActionTypes.d.ts.map +1 -1
  424. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts +24 -1
  425. package/lib/types/api/app-binder/SignTypedDataDeviceActionTypes.d.ts.map +1 -1
  426. package/lib/types/api/index.d.ts +5 -4
  427. package/lib/types/api/index.d.ts.map +1 -1
  428. package/lib/types/api/model/AddressOptions.d.ts +1 -0
  429. package/lib/types/api/model/AddressOptions.d.ts.map +1 -1
  430. package/lib/types/api/model/ClearSigningType.d.ts +5 -0
  431. package/lib/types/api/model/ClearSigningType.d.ts.map +1 -0
  432. package/lib/types/api/model/MessageOptions.d.ts +4 -0
  433. package/lib/types/api/model/MessageOptions.d.ts.map +1 -0
  434. package/lib/types/api/model/TransactionOptions.d.ts +1 -0
  435. package/lib/types/api/model/TransactionOptions.d.ts.map +1 -1
  436. package/lib/types/api/model/TypedDataOptions.d.ts +4 -0
  437. package/lib/types/api/model/TypedDataOptions.d.ts.map +1 -0
  438. package/lib/types/internal/DefaultSignerEth.d.ts +7 -3
  439. package/lib/types/internal/DefaultSignerEth.d.ts.map +1 -1
  440. package/lib/types/internal/address/di/addressModule.d.ts.map +1 -1
  441. package/lib/types/internal/address/use-case/GetAddressUseCase.d.ts.map +1 -1
  442. package/lib/types/internal/app-binder/EthAppBinder.d.ts +13 -3
  443. package/lib/types/internal/app-binder/EthAppBinder.d.ts.map +1 -1
  444. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts +10 -0
  445. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts.map +1 -0
  446. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.test.d.ts +2 -0
  447. package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.test.d.ts.map +1 -0
  448. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts +28 -0
  449. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts.map +1 -0
  450. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts +2 -0
  451. package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.d.ts.map +1 -0
  452. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts +20 -0
  453. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts.map +1 -0
  454. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts +2 -0
  455. package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.test.d.ts.map +1 -0
  456. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts +17 -0
  457. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts.map +1 -0
  458. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.test.d.ts +2 -0
  459. package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.test.d.ts.map +1 -0
  460. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +36 -1
  461. package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -1
  462. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts +29 -0
  463. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts.map +1 -0
  464. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts +2 -0
  465. package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.test.d.ts.map +1 -0
  466. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts +15 -0
  467. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts.map +1 -0
  468. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.test.d.ts +2 -0
  469. package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.test.d.ts.map +1 -0
  470. package/lib/types/internal/app-binder/command/utils/ethAppErrors.d.ts.map +1 -1
  471. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts +19 -35
  472. package/lib/types/internal/app-binder/device-action/SignTransaction/SignTransactionDeviceAction.d.ts.map +1 -1
  473. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts +12 -2
  474. package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
  475. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  476. package/lib/types/internal/app-binder/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  477. package/lib/types/internal/app-binder/device-action/__test-utils__/setupOpenAppDAMock.d.ts.map +1 -1
  478. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  479. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  480. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.d.ts +6 -0
  481. package/lib/types/internal/app-binder/device-action/__test-utils__/testDeviceActionUntilStep.d.ts.map +1 -0
  482. package/lib/types/internal/app-binder/di/appBinderModule.d.ts.map +1 -1
  483. package/lib/types/internal/app-binder/task/BuildBaseContexts.d.ts +49 -0
  484. package/lib/types/internal/app-binder/task/BuildBaseContexts.d.ts.map +1 -0
  485. package/lib/types/internal/app-binder/task/BuildBaseContexts.test.d.ts +2 -0
  486. package/lib/types/internal/app-binder/task/BuildBaseContexts.test.d.ts.map +1 -0
  487. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts +17 -5
  488. package/lib/types/internal/app-binder/task/BuildEIP712ContextTask.d.ts.map +1 -1
  489. package/lib/types/internal/app-binder/task/BuildFullContextsTask.d.ts +39 -0
  490. package/lib/types/internal/app-binder/task/BuildFullContextsTask.d.ts.map +1 -0
  491. package/lib/types/internal/app-binder/task/BuildFullContextsTask.test.d.ts +2 -0
  492. package/lib/types/internal/app-binder/task/BuildFullContextsTask.test.d.ts.map +1 -0
  493. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.d.ts +28 -0
  494. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.d.ts.map +1 -0
  495. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.test.d.ts +2 -0
  496. package/lib/types/internal/app-binder/task/BuildSubcontextsTask.test.d.ts.map +1 -0
  497. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts +29 -0
  498. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.d.ts.map +1 -0
  499. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts +2 -0
  500. package/lib/types/internal/app-binder/task/GetWeb3CheckTask.test.d.ts.map +1 -0
  501. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.d.ts +21 -0
  502. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.d.ts.map +1 -0
  503. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.test.d.ts +2 -0
  504. package/lib/types/internal/app-binder/task/ParseNestedTransactionTask.test.d.ts.map +1 -0
  505. package/lib/types/internal/app-binder/task/ParseTransactionTask.d.ts +17 -0
  506. package/lib/types/internal/app-binder/task/ParseTransactionTask.d.ts.map +1 -0
  507. package/lib/types/internal/app-binder/task/ParseTransactionTask.test.d.ts +2 -0
  508. package/lib/types/internal/app-binder/task/ParseTransactionTask.test.d.ts.map +1 -0
  509. package/lib/types/internal/app-binder/task/ProvideContextsTask.d.ts +44 -0
  510. package/lib/types/internal/app-binder/task/ProvideContextsTask.d.ts.map +1 -0
  511. package/lib/types/internal/app-binder/task/ProvideContextsTask.test.d.ts +2 -0
  512. package/lib/types/internal/app-binder/task/ProvideContextsTask.test.d.ts.map +1 -0
  513. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts +19 -5
  514. package/lib/types/internal/app-binder/task/ProvideEIP712ContextTask.d.ts.map +1 -1
  515. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts +2 -2
  516. package/lib/types/internal/app-binder/task/SendPayloadInChunksTask.d.ts.map +1 -1
  517. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts +18 -0
  518. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.d.ts.map +1 -0
  519. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts +2 -0
  520. package/lib/types/internal/app-binder/task/SendSignAuthorizationDelegationTask.test.d.ts.map +1 -0
  521. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts +2 -1
  522. package/lib/types/internal/app-binder/task/SendSignTransactionTask.d.ts.map +1 -1
  523. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts +12 -0
  524. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.d.ts.map +1 -0
  525. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts +2 -0
  526. package/lib/types/internal/app-binder/task/SignTypedDataLegacyTask.test.d.ts.map +1 -0
  527. package/lib/types/internal/di.d.ts.map +1 -1
  528. package/lib/types/internal/eip7702/di/eip7702Module.d.ts +3 -0
  529. package/lib/types/internal/eip7702/di/eip7702Module.d.ts.map +1 -0
  530. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts +2 -0
  531. package/lib/types/internal/eip7702/di/eip7702Module.test.d.ts.map +1 -0
  532. package/lib/types/internal/eip7702/di/eip7702Types.d.ts +4 -0
  533. package/lib/types/internal/eip7702/di/eip7702Types.d.ts.map +1 -0
  534. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts +8 -0
  535. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.d.ts.map +1 -0
  536. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts +2 -0
  537. package/lib/types/internal/eip7702/use-case/SignDelegationAuthorizationUseCase.test.d.ts.map +1 -0
  538. package/lib/types/internal/message/di/messageModule.d.ts.map +1 -1
  539. package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts +2 -1
  540. package/lib/types/internal/message/use-case/SignMessageUseCase.d.ts.map +1 -1
  541. package/lib/types/internal/shared/utils/ApplicationChecker.d.ts +13 -0
  542. package/lib/types/internal/shared/utils/ApplicationChecker.d.ts.map +1 -0
  543. package/lib/types/internal/shared/utils/ApplicationChecker.test.d.ts +2 -0
  544. package/lib/types/internal/shared/utils/ApplicationChecker.test.d.ts.map +1 -0
  545. package/lib/types/internal/transaction/di/transactionModule.d.ts.map +1 -1
  546. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts +8 -0
  547. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.d.ts.map +1 -0
  548. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts +2 -0
  549. package/lib/types/internal/transaction/service/mapper/EthersTransactionMapperService.test.d.ts.map +1 -0
  550. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts +4 -7
  551. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.d.ts.map +1 -1
  552. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts +2 -2
  553. package/lib/types/internal/transaction/service/parser/TransactionParserService.d.ts.map +1 -1
  554. package/lib/types/internal/typed-data/di/typedDataModule.d.ts.map +1 -1
  555. package/lib/types/internal/typed-data/service/TypedDataParser.d.ts +4 -2
  556. package/lib/types/internal/typed-data/service/TypedDataParser.d.ts.map +1 -1
  557. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts +2 -1
  558. package/lib/types/internal/typed-data/use-case/SignTypedDataUseCase.d.ts.map +1 -1
  559. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  560. package/package.json +23 -24
  561. package/lib/cjs/internal/app-binder/constant/plugins.js +0 -2
  562. package/lib/cjs/internal/app-binder/constant/plugins.js.map +0 -7
  563. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
  564. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
  565. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
  566. package/lib/cjs/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
  567. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js +0 -2
  568. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.js.map +0 -7
  569. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js +0 -2
  570. package/lib/cjs/internal/app-binder/task/BuildTransactionContextTask.test.js.map +0 -7
  571. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js +0 -2
  572. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.js.map +0 -7
  573. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js +0 -2
  574. package/lib/cjs/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +0 -7
  575. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  576. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  577. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  578. package/lib/cjs/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  579. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  580. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  581. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  582. package/lib/cjs/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  583. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  584. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  585. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  586. package/lib/cjs/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  587. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js +0 -2
  588. package/lib/cjs/internal/transaction/service/mapper/TransactionMapper.js.map +0 -7
  589. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  590. package/lib/cjs/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  591. package/lib/esm/internal/app-binder/constant/plugins.js +0 -2
  592. package/lib/esm/internal/app-binder/constant/plugins.js.map +0 -7
  593. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js +0 -2
  594. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.js.map +0 -7
  595. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js +0 -2
  596. package/lib/esm/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.js.map +0 -7
  597. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js +0 -2
  598. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.js.map +0 -7
  599. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js +0 -2
  600. package/lib/esm/internal/app-binder/task/BuildTransactionContextTask.test.js.map +0 -7
  601. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js +0 -2
  602. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.js.map +0 -7
  603. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js +0 -2
  604. package/lib/esm/internal/app-binder/task/ProvideTransactionContextTask.test.js.map +0 -7
  605. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js +0 -2
  606. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.js.map +0 -7
  607. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js +0 -2
  608. package/lib/esm/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.js.map +0 -7
  609. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js +0 -2
  610. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.js.map +0 -7
  611. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js +0 -2
  612. package/lib/esm/internal/app-binder/task/ProvideTransactionGenericContextTask.test.js.map +0 -7
  613. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js +0 -2
  614. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.js.map +0 -7
  615. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js +0 -2
  616. package/lib/esm/internal/transaction/service/mapper/EthersRawTransactionMapper.test.js.map +0 -7
  617. package/lib/esm/internal/transaction/service/mapper/TransactionMapper.js +0 -1
  618. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js +0 -2
  619. package/lib/esm/internal/transaction/service/mapper/TransactionMapperService.test.js.map +0 -7
  620. package/lib/types/internal/app-binder/constant/plugins.d.ts +0 -2
  621. package/lib/types/internal/app-binder/constant/plugins.d.ts.map +0 -1
  622. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts +0 -18
  623. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.d.ts.map +0 -1
  624. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts +0 -2
  625. package/lib/types/internal/app-binder/device-action/SignPersonalMessage/SignPersonalMessageDeviceAction.test.d.ts.map +0 -1
  626. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts +0 -27
  627. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.d.ts.map +0 -1
  628. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts +0 -2
  629. package/lib/types/internal/app-binder/task/BuildTransactionContextTask.test.d.ts.map +0 -1
  630. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts +0 -37
  631. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.d.ts.map +0 -1
  632. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts +0 -2
  633. package/lib/types/internal/app-binder/task/ProvideTransactionContextTask.test.d.ts.map +0 -1
  634. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts +0 -73
  635. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.d.ts.map +0 -1
  636. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts +0 -2
  637. package/lib/types/internal/app-binder/task/ProvideTransactionFieldDescriptionTask.test.d.ts.map +0 -1
  638. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts +0 -26
  639. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.d.ts.map +0 -1
  640. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts +0 -2
  641. package/lib/types/internal/app-binder/task/ProvideTransactionGenericContextTask.test.d.ts.map +0 -1
  642. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts +0 -7
  643. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.d.ts.map +0 -1
  644. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts +0 -2
  645. package/lib/types/internal/transaction/service/mapper/EthersRawTransactionMapper.test.d.ts.map +0 -1
  646. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts +0 -6
  647. package/lib/types/internal/transaction/service/mapper/TransactionMapper.d.ts.map +0 -1
  648. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts +0 -2
  649. package/lib/types/internal/transaction/service/mapper/TransactionMapperService.test.d.ts.map +0 -1
  650. /package/lib/esm/{internal/transaction/service/mapper/TransactionMapper.js.map → api/app-binder/GetConfigCommandTypes.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{isSuccessCommandResult as s}from"@ledgerhq/device-management-kit";import{EthAppCommandError as n}from"./utils/ethAppErrors";import{ProvideProxyInfoCommand as t}from"./ProvideProxyInfoCommand";describe("ProvideProxyInfoCommand",()=>{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(e).getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,42,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(e).getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,42,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({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(e);if(s(r))throw new Error("Expected an error");expect(r.error).toBeDefined(),expect(r.error).toBeInstanceOf(n)}),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({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(e);expect(s(r)).toBe(!0)})})});
2
+ //# sourceMappingURL=ProvideProxyInfoCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/ProvideProxyInfoCommand.test.ts"],
4
+ "sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { EthAppCommandError } from \"./utils/ethAppErrors\";\nimport {\n ProvideProxyInfoCommand,\n type ProvideProxyInfoCommandArgs,\n} from \"./ProvideProxyInfoCommand\";\n\ndescribe(\"ProvideProxyInfoCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU for the first chunk\", () => {\n // GIVEN\n const args: ProvideProxyInfoCommandArgs = {\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n isFirstChunk: true,\n };\n\n // WHEN\n const command = new ProvideProxyInfoCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x2a, 0x01, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for the subsequent chunk\", () => {\n // GIVEN\n const args: ProvideProxyInfoCommandArgs = {\n data: Uint8Array.from([0x04, 0x05, 0x06]),\n isFirstChunk: false,\n };\n\n // WHEN\n const command = new ProvideProxyInfoCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x2a, 0x00, 0x00, 0x03, 0x04, 0x05, 0x06]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new ProvideProxyInfoCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n throw new Error(\"Expected an error\");\n } else {\n expect(result.error).toBeDefined();\n expect(result.error).toBeInstanceOf(EthAppCommandError);\n }\n });\n\n it(\"should return a success result if the response status code is valid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new ProvideProxyInfoCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n expect(isSuccessCommandResult(result)).toBe(true);\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAEE,0BAAAA,MACK,kCAEP,OAAS,sBAAAC,MAA0B,uBACnC,OACE,2BAAAC,MAEK,4BAEP,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,GAAG,iDAAkD,IAAM,CAEzD,MAAMC,EAAoC,CACxC,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAIF,EAAwBC,CAAI,EAC3B,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,EAED,GAAG,sDAAuD,IAAM,CAE9D,MAAMD,EAAoC,CACxC,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAIF,EAAwBC,CAAI,EAC3B,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMC,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAIJ,EAAwB,CAC1C,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcG,CAAQ,EAG7C,GAAIL,EAAuBM,CAAM,EAC/B,MAAM,IAAI,MAAM,mBAAmB,EAEnC,OAAOA,EAAO,KAAK,EAAE,YAAY,EACjC,OAAOA,EAAO,KAAK,EAAE,eAAeL,CAAkB,CAE1D,CAAC,EAED,GAAG,sEAAuE,IAAM,CAE9E,MAAMI,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAIJ,EAAwB,CAC1C,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcG,CAAQ,EAG7C,OAAOL,EAAuBM,CAAM,CAAC,EAAE,KAAK,EAAI,CAClD,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["isSuccessCommandResult", "EthAppCommandError", "ProvideProxyInfoCommand", "args", "apdu", "response", "result"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{ApduBuilder as e,CommandResultFactory as o}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as d}from"@ledgerhq/signer-utils";import{Maybe as t}from"purify-ts";import{ETH_APP_ERRORS as a,EthAppCommandErrorFactory as p}from"../../app-binder/command/utils/ethAppErrors";class l{constructor(r){this.args=r}errorHelper=new d(a,p);getApdu(){const r={cla:224,ins:50,p1:0,p2:this.args.isFirstChunk?1:0};return new e(r).addBufferToData(this.args.payload).build()}parseResponse(r){return t.fromNullable(this.errorHelper.getError(r)).orDefault(o({data:void 0}))}}export{l as ProvideWeb3CheckCommand};
2
+ //# sourceMappingURL=ProvideWeb3CheckCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/ProvideWeb3CheckCommand.ts"],
4
+ "sourcesContent": ["import {\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 \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport type ProvideWeb3CheckCommandArgs = {\n readonly payload: Uint8Array;\n readonly isFirstChunk: boolean;\n};\n\n/**\n * The command that provides a chunk of the trusted name to the device.\n */\nexport class ProvideWeb3CheckCommand\n implements Command<void, ProvideWeb3CheckCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: ProvideWeb3CheckCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x32,\n p1: 0x00,\n p2: this.args.isFirstChunk ? 0x01 : 0x00,\n };\n\n return new ApduBuilder(apduBuilderArgs)\n .addBufferToData(this.args.payload)\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": "AAAA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,kDAUA,MAAMC,CAEb,CAME,YAA6BC,EAAmC,CAAnC,UAAAA,CAAoC,CALhD,YAAc,IAAIL,EACjCE,EACAC,CACF,EAIA,SAAgB,CACd,MAAMG,EAAmC,CACvC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,KAAK,KAAK,aAAe,EAAO,CACtC,EAEA,OAAO,IAAIR,EAAYQ,CAAe,EACnC,gBAAgB,KAAK,KAAK,OAAO,EACjC,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAON,EAAM,aAAa,KAAK,YAAY,SAASM,CAAQ,CAAC,EAAE,UAC7DR,EAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
6
+ "names": ["ApduBuilder", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "ProvideWeb3CheckCommand", "args", "apduBuilderArgs", "response"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{hexaStringToBuffer as s,isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{ProvideWeb3CheckCommand as a}from"../../app-binder/command/ProvideWeb3CheckCommand";describe("ProvideWeb3CheckCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU",()=>{const r={payload:s("0x010203"),isFirstChunk:!0},e=new a(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,50,0,1,3,1,2,3]))}),it("should return the raw APDU for next chunk",()=>{const r={payload:s("0x010203"),isFirstChunk:!1},e=new a(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,50,0,0,3,1,2,3]))})}),describe("parseResponse",()=>{it("should return undefined",()=>{const r={payload:s("0x010203"),isFirstChunk:!0},t={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([])},e=new a(r).parseResponse(t);o(e)?expect(e.data).toBeUndefined():assert.fail("Expected a success")}),it("should return an error if the device is locked",()=>{const r={payload:s("0x010203"),isFirstChunk:!0},t={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},e=new a(r).parseResponse(t);o(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={payload:s("0x010203"),isFirstChunk:!0},t={statusCode:Uint8Array.from([106,128]),data:new Uint8Array},e=new a(r).parseResponse(t);o(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"6a80",message:"Invalid data"}))})})});
2
+ //# sourceMappingURL=ProvideWeb3CheckCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/ProvideWeb3CheckCommand.test.ts"],
4
+ "sourcesContent": ["import {\n hexaStringToBuffer,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { ProvideWeb3CheckCommand } from \"@internal/app-binder/command/ProvideWeb3CheckCommand\";\n\ndescribe(\"ProvideWeb3CheckCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const command = new ProvideWeb3CheckCommand(args);\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x32, 0x00, 0x01, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for next chunk\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: false,\n };\n const command = new ProvideWeb3CheckCommand(args);\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x32, 0x00, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return undefined\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n };\n\n // WHEN\n const result = new ProvideWeb3CheckCommand(args).parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toBeUndefined();\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 args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const response = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = new ProvideWeb3CheckCommand(args).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 args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const response = {\n statusCode: Uint8Array.from([0x6a, 0x80]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = new ProvideWeb3CheckCommand(args).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});\n"],
5
+ "mappings": "AAAA,OACE,sBAAAA,EACA,0BAAAC,MACK,kCAEP,OAAS,2BAAAC,MAA+B,uDAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAErC,MAAMC,EAAO,CACX,QAASH,EAAmB,UAAU,EACtC,aAAc,EAChB,EAIMI,EAHU,IAAIF,EAAwBC,CAAI,EAG3B,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,EAED,GAAG,4CAA6C,IAAM,CAEpD,MAAMD,EAAO,CACX,QAASH,EAAmB,UAAU,EACtC,aAAc,EAChB,EAIMI,EAHU,IAAIF,EAAwBC,CAAI,EAG3B,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0BAA2B,IAAM,CAElC,MAAMD,EAAO,CACX,QAASH,EAAmB,UAAU,EACtC,aAAc,EAChB,EACMK,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,EAGMC,EAAS,IAAIJ,EAAwBC,CAAI,EAAE,cAAcE,CAAQ,EAGnEJ,EAAuBK,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,cAAc,EAElC,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMH,EAAO,CACX,QAASH,EAAmB,UAAU,EACtC,aAAc,EAChB,EACMK,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAAS,IAAIJ,EAAwBC,CAAI,EAAE,cAAcE,CAAQ,EAGnEJ,EAAuBK,CAAM,EAC/B,OAAO,KAAK,mBAAmB,EAE/B,OAAOA,EAAO,KAAK,EAAE,QACnB,OAAO,iBAAiB,CACtB,UAAW,OACX,QAAS,mBACX,CAAC,CACH,CAEJ,CAAC,EAED,GAAG,4CAA6C,IAAM,CAEpD,MAAMH,EAAO,CACX,QAASH,EAAmB,UAAU,EACtC,aAAc,EAChB,EACMK,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAAS,IAAIJ,EAAwBC,CAAI,EAAE,cAAcE,CAAQ,EAGnEJ,EAAuBK,CAAM,EAC/B,OAAO,KAAK,mBAAmB,EAE/B,OAAOA,EAAO,KAAK,EAAE,QACnB,OAAO,iBAAiB,CACtB,UAAW,OACX,QAAS,cACX,CAAC,CACH,CAEJ,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["hexaStringToBuffer", "isSuccessCommandResult", "ProvideWeb3CheckCommand", "args", "apdu", "response", "result"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{ApduBuilder as i,CommandResultFactory as s}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as a}from"@ledgerhq/signer-utils";import{Maybe as n}from"purify-ts";import{ETH_APP_ERRORS as o,EthAppCommandErrorFactory as d}from"./utils/ethAppErrors";var p=(e=>(e.Activation="activation",e.DiscardedPath="discarded_path",e.MessageInfo="message_info",e.Datetime="datetime",e.Raw="raw",e.Amount="amount",e.Token="token",e))(p||{});const m={activation:0,discarded_path:1,message_info:15,datetime:252,token:253,amount:254,raw:255};class E{constructor(r){this.args=r}errorHelper=new a(o,d);getApdu(){const r={cla:224,ins:30,p1:"discarded"in this.args&&this.args.discarded?1:0,p2:m[this.args.type]},t=new i(r);return this.args.type==="message_info"?t.encodeInLVFromAscii(this.args.displayName).add8BitUIntToData(this.args.filtersCount).encodeInLVFromHexa(this.args.signature):this.args.type==="discarded_path"?t.encodeInLVFromAscii(this.args.path):this.args.type==="datetime"||this.args.type==="raw"?t.encodeInLVFromAscii(this.args.displayName).encodeInLVFromHexa(this.args.signature):(this.args.type==="token"||this.args.type==="amount")&&(this.args.type==="amount"&&t.encodeInLVFromAscii(this.args.displayName),t.add8BitUIntToData(this.args.tokenIndex).encodeInLVFromHexa(this.args.signature)),t.build()}parseResponse(r){return n.fromNullable(this.errorHelper.getError(r)).orDefault(s({data:void 0}))}}export{p as Eip712FilterType,E as SendEIP712FilteringCommand};
1
+ import{ApduBuilder as r,CommandResultFactory as l}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as d}from"@ledgerhq/signer-utils";import{Maybe as n}from"purify-ts";import{ETH_APP_ERRORS as s,EthAppCommandErrorFactory as o}from"./utils/ethAppErrors";var p=(a=>(a.Activation="activation",a.DiscardedPath="discarded_path",a.MessageInfo="message_info",a.Datetime="datetime",a.Raw="raw",a.Amount="amount",a.Token="token",a.TrustedName="trusted-name",a.CalldataInfo="calldata-info",a.CalldataValue="calldata-value",a.CalldataCallee="calldata-callee",a.CalldataChainId="calldata-chain-id",a.CalldataSelector="calldata-selector",a.CalldataAmount="calldata-amount",a.CalldataSpender="calldata-spender",a))(p||{}),g=(t=>(t[t.None=0]="None",t[t.Present=1]="Present",t[t.VerifyingContract=2]="VerifyingContract",t))(g||{});const c={activation:0,discarded_path:1,message_info:15,"calldata-spender":244,"calldata-amount":245,"calldata-selector":246,"calldata-chain-id":247,"calldata-callee":248,"calldata-value":249,"calldata-info":250,"trusted-name":251,datetime:252,token:253,amount:254,raw:255};class C{constructor(i){this.args=i}errorHelper=new d(s,o);getApdu(){const i={cla:224,ins:30,p1:"discarded"in this.args&&this.args.discarded?1:0,p2:c[this.args.type]},e=new r(i);switch(this.args.type){case"message_info":e.encodeInLVFromAscii(this.args.displayName).add8BitUIntToData(this.args.filtersCount).encodeInLVFromHexa(this.args.signature);break;case"discarded_path":e.encodeInLVFromAscii(this.args.path);break;case"datetime":case"raw":e.encodeInLVFromAscii(this.args.displayName).encodeInLVFromHexa(this.args.signature);break;case"trusted-name":e.encodeInLVFromAscii(this.args.displayName).addHexaStringToData(this.args.typesAndSourcesPayload).encodeInLVFromHexa(this.args.signature);break;case"token":case"amount":this.args.type==="amount"&&e.encodeInLVFromAscii(this.args.displayName),e.add8BitUIntToData(this.args.tokenIndex).encodeInLVFromHexa(this.args.signature);break;case"calldata-info":e.add8BitUIntToData(this.args.calldataIndex).add8BitUIntToData(this.args.valueFlag?1:0).add8BitUIntToData(this.args.calleeFlag).add8BitUIntToData(this.args.chainIdFlag?1:0).add8BitUIntToData(this.args.selectorFlag?1:0).add8BitUIntToData(this.args.amountFlag?1:0).add8BitUIntToData(this.args.spenderFlag).encodeInLVFromHexa(this.args.signature);break;case"calldata-value":case"calldata-callee":case"calldata-chain-id":case"calldata-selector":case"calldata-amount":case"calldata-spender":e.add8BitUIntToData(this.args.calldataIndex).encodeInLVFromHexa(this.args.signature);break}return e.build()}parseResponse(i){return n.fromNullable(this.errorHelper.getError(i)).orDefault(l({data:void 0}))}}export{g as CalldataParamPresence,p as Eip712FilterType,C as SendEIP712FilteringCommand};
2
2
  //# sourceMappingURL=SendEIP712FilteringCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/SendEIP712FilteringCommand.ts"],
4
- "sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#eip712-filtering\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 enum Eip712FilterType {\n Activation = \"activation\",\n DiscardedPath = \"discarded_path\",\n MessageInfo = \"message_info\",\n Datetime = \"datetime\",\n Raw = \"raw\",\n Amount = \"amount\",\n Token = \"token\",\n}\n\nexport type SendEIP712FilteringCommandArgs =\n | { type: Eip712FilterType.Activation }\n | { type: Eip712FilterType.DiscardedPath; path: string }\n | {\n type: Eip712FilterType.MessageInfo;\n displayName: string;\n filtersCount: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.Datetime;\n discarded: boolean;\n displayName: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.Token;\n discarded: boolean;\n tokenIndex: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.Raw;\n discarded: boolean;\n displayName: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.Amount;\n discarded: boolean;\n displayName: string;\n tokenIndex: number;\n signature: string;\n };\n\nconst FILTER_TO_P2: Record<Eip712FilterType, number> = {\n [Eip712FilterType.Activation]: 0x00,\n [Eip712FilterType.DiscardedPath]: 0x01,\n [Eip712FilterType.MessageInfo]: 0x0f,\n [Eip712FilterType.Datetime]: 0xfc,\n [Eip712FilterType.Token]: 0xfd,\n [Eip712FilterType.Amount]: 0xfe,\n [Eip712FilterType.Raw]: 0xff,\n};\n\nexport class SendEIP712FilteringCommand\n implements Command<void, SendEIP712FilteringCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: SendEIP712FilteringCommandArgs) {}\n\n getApdu(): Apdu {\n const filteringArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x1e,\n p1: \"discarded\" in this.args && this.args.discarded ? 0x01 : 0x00,\n p2: FILTER_TO_P2[this.args.type],\n };\n const builder = new ApduBuilder(filteringArgs);\n\n if (this.args.type === Eip712FilterType.MessageInfo) {\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .add8BitUIntToData(this.args.filtersCount)\n .encodeInLVFromHexa(this.args.signature);\n } else if (this.args.type === Eip712FilterType.DiscardedPath) {\n builder.encodeInLVFromAscii(this.args.path);\n } else if (\n this.args.type === Eip712FilterType.Datetime ||\n this.args.type === Eip712FilterType.Raw\n ) {\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .encodeInLVFromHexa(this.args.signature);\n } else if (\n this.args.type === Eip712FilterType.Token ||\n this.args.type === Eip712FilterType.Amount\n ) {\n if (this.args.type === Eip712FilterType.Amount) {\n builder.encodeInLVFromAscii(this.args.displayName);\n }\n builder\n .add8BitUIntToData(this.args.tokenIndex)\n .encodeInLVFromHexa(this.args.signature);\n }\n\n return builder.build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefault(CommandResultFactory({ data: undefined }));\n }\n}\n"],
5
- "mappings": "AACA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAEA,IAAKC,OACVA,EAAA,WAAa,aACbA,EAAA,cAAgB,iBAChBA,EAAA,YAAc,eACdA,EAAA,SAAW,WACXA,EAAA,IAAM,MACNA,EAAA,OAAS,SACTA,EAAA,MAAQ,QAPEA,OAAA,IA6CZ,MAAMC,EAAiD,CACpD,WAA8B,EAC9B,eAAiC,EACjC,aAA+B,GAC/B,SAA4B,IAC5B,MAAyB,IACzB,OAA0B,IAC1B,IAAuB,GAC1B,EAEO,MAAMC,CAEb,CAME,YAA6BC,EAAsC,CAAtC,UAAAA,CAAuC,CALnD,YAAc,IAAIP,EACjCE,EACAC,CACF,EAIA,SAAgB,CACd,MAAMK,EAAiC,CACrC,IAAK,IACL,IAAK,GACL,GAAI,cAAe,KAAK,MAAQ,KAAK,KAAK,UAAY,EAAO,EAC7D,GAAIH,EAAa,KAAK,KAAK,IAAI,CACjC,EACMI,EAAU,IAAIX,EAAYU,CAAa,EAE7C,OAAI,KAAK,KAAK,OAAS,eACrBC,EACG,oBAAoB,KAAK,KAAK,WAAW,EACzC,kBAAkB,KAAK,KAAK,YAAY,EACxC,mBAAmB,KAAK,KAAK,SAAS,EAChC,KAAK,KAAK,OAAS,iBAC5BA,EAAQ,oBAAoB,KAAK,KAAK,IAAI,EAE1C,KAAK,KAAK,OAAS,YACnB,KAAK,KAAK,OAAS,MAEnBA,EACG,oBAAoB,KAAK,KAAK,WAAW,EACzC,mBAAmB,KAAK,KAAK,SAAS,GAEzC,KAAK,KAAK,OAAS,SACnB,KAAK,KAAK,OAAS,YAEf,KAAK,KAAK,OAAS,UACrBA,EAAQ,oBAAoB,KAAK,KAAK,WAAW,EAEnDA,EACG,kBAAkB,KAAK,KAAK,UAAU,EACtC,mBAAmB,KAAK,KAAK,SAAS,GAGpCA,EAAQ,MAAM,CACvB,CAEA,cACEC,EACoC,CACpC,OAAOT,EAAM,aACX,KAAK,YAAY,SAASS,CAAY,CACxC,EAAE,UAAUX,EAAqB,CAAE,KAAM,MAAU,CAAC,CAAC,CACvD,CACF",
6
- "names": ["ApduBuilder", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "Eip712FilterType", "FILTER_TO_P2", "SendEIP712FilteringCommand", "args", "filteringArgs", "builder", "apduResponse"]
4
+ "sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#eip712-filtering\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 enum Eip712FilterType {\n Activation = \"activation\",\n DiscardedPath = \"discarded_path\",\n MessageInfo = \"message_info\",\n Datetime = \"datetime\",\n Raw = \"raw\",\n Amount = \"amount\",\n Token = \"token\",\n TrustedName = \"trusted-name\",\n // Calldata filters\n CalldataInfo = \"calldata-info\",\n CalldataValue = \"calldata-value\",\n CalldataCallee = \"calldata-callee\",\n CalldataChainId = \"calldata-chain-id\",\n CalldataSelector = \"calldata-selector\",\n CalldataAmount = \"calldata-amount\",\n CalldataSpender = \"calldata-spender\",\n}\n\nexport enum CalldataParamPresence {\n None = 0x0,\n Present = 0x1,\n VerifyingContract = 0x2,\n}\n\nexport type SendEIP712FilteringCommandArgs =\n | { type: Eip712FilterType.Activation }\n | { type: Eip712FilterType.DiscardedPath; path: string }\n | {\n type: Eip712FilterType.MessageInfo;\n displayName: string;\n filtersCount: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.Datetime;\n discarded: boolean;\n displayName: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.TrustedName;\n discarded: boolean;\n displayName: string;\n typesAndSourcesPayload: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.Token;\n discarded: boolean;\n tokenIndex: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.Raw;\n discarded: boolean;\n displayName: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.Amount;\n discarded: boolean;\n displayName: string;\n tokenIndex: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.CalldataInfo;\n discarded: boolean;\n calldataIndex: number;\n valueFlag: boolean;\n calleeFlag: CalldataParamPresence;\n chainIdFlag: boolean;\n selectorFlag: boolean;\n amountFlag: boolean;\n spenderFlag: CalldataParamPresence;\n signature: string;\n }\n | {\n type:\n | Eip712FilterType.CalldataValue\n | Eip712FilterType.CalldataCallee\n | Eip712FilterType.CalldataChainId\n | Eip712FilterType.CalldataSelector\n | Eip712FilterType.CalldataAmount\n | Eip712FilterType.CalldataSpender;\n discarded: boolean;\n calldataIndex: number;\n signature: string;\n };\n\nconst FILTER_TO_P2: Record<Eip712FilterType, number> = {\n [Eip712FilterType.Activation]: 0x00,\n [Eip712FilterType.DiscardedPath]: 0x01,\n [Eip712FilterType.MessageInfo]: 0x0f,\n [Eip712FilterType.CalldataSpender]: 0xf4,\n [Eip712FilterType.CalldataAmount]: 0xf5,\n [Eip712FilterType.CalldataSelector]: 0xf6,\n [Eip712FilterType.CalldataChainId]: 0xf7,\n [Eip712FilterType.CalldataCallee]: 0xf8,\n [Eip712FilterType.CalldataValue]: 0xf9,\n [Eip712FilterType.CalldataInfo]: 0xfa,\n [Eip712FilterType.TrustedName]: 0xfb,\n [Eip712FilterType.Datetime]: 0xfc,\n [Eip712FilterType.Token]: 0xfd,\n [Eip712FilterType.Amount]: 0xfe,\n [Eip712FilterType.Raw]: 0xff,\n};\n\nexport class SendEIP712FilteringCommand\n implements Command<void, SendEIP712FilteringCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: SendEIP712FilteringCommandArgs) {}\n\n getApdu(): Apdu {\n const filteringArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x1e,\n p1: \"discarded\" in this.args && this.args.discarded ? 0x01 : 0x00,\n p2: FILTER_TO_P2[this.args.type],\n };\n const builder = new ApduBuilder(filteringArgs);\n\n switch (this.args.type) {\n case Eip712FilterType.MessageInfo:\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .add8BitUIntToData(this.args.filtersCount)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.DiscardedPath:\n builder.encodeInLVFromAscii(this.args.path);\n break;\n case Eip712FilterType.Datetime:\n case Eip712FilterType.Raw:\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.TrustedName:\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .addHexaStringToData(this.args.typesAndSourcesPayload)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.Token:\n case Eip712FilterType.Amount:\n if (this.args.type === Eip712FilterType.Amount) {\n builder.encodeInLVFromAscii(this.args.displayName);\n }\n builder\n .add8BitUIntToData(this.args.tokenIndex)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.CalldataInfo:\n builder\n .add8BitUIntToData(this.args.calldataIndex)\n .add8BitUIntToData(this.args.valueFlag ? 1 : 0)\n .add8BitUIntToData(this.args.calleeFlag)\n .add8BitUIntToData(this.args.chainIdFlag ? 1 : 0)\n .add8BitUIntToData(this.args.selectorFlag ? 1 : 0)\n .add8BitUIntToData(this.args.amountFlag ? 1 : 0)\n .add8BitUIntToData(this.args.spenderFlag)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.CalldataValue:\n case Eip712FilterType.CalldataCallee:\n case Eip712FilterType.CalldataChainId:\n case Eip712FilterType.CalldataSelector:\n case Eip712FilterType.CalldataAmount:\n case Eip712FilterType.CalldataSpender:\n builder\n .add8BitUIntToData(this.args.calldataIndex)\n .encodeInLVFromHexa(this.args.signature);\n break;\n }\n return builder.build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefault(CommandResultFactory({ data: undefined }));\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["ApduBuilder", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "Eip712FilterType", "CalldataParamPresence", "FILTER_TO_P2", "SendEIP712FilteringCommand", "args", "filteringArgs", "builder", "apduResponse"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{CommandResultFactory as n,isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{Eip712FilterType as d,SendEIP712FilteringCommand as c}from"./SendEIP712FilteringCommand";const s=Uint8Array.from([224,30,0,0,0]),r=Uint8Array.from([224,30,0,15,84,11,49,105,110,99,104,32,79,114,100,101,114,6,70,48,68,2,32,41,94,10,235,23,202,9,41,178,169,76,50,77,103,208,181,82,138,186,38,129,119,243,172,41,123,86,49,65,224,0,39,2,32,58,195,96,217,253,12,156,12,18,39,157,30,115,190,165,213,73,161,232,20,31,69,77,136,251,225,232,239,151,14,104,2]),t=Uint8Array.from([224,30,0,255,77,4,70,114,111,109,71,48,69,2,33,0,184,32,228,223,177,160,205,230,220,151,217,163,78,235,177,164,238,240,178,38,38,46,103,136,17,138,179,199,251,121,254,53,2,32,45,66,106,56,139,76,58,128,150,179,248,68,18,167,2,234,83,119,112,230,30,224,114,126,193,183,16,193,218,82,12,68]),f=Uint8Array.from([224,30,0,253,73,1,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),i=Uint8Array.from([224,30,0,254,89,15,82,101,99,101,105,118,101,32,109,105,110,105,109,117,109,1,71,48,69,2,33,0,165,157,196,121,168,56,168,19,144,156,20,10,21,230,182,91,197,140,86,51,40,75,249,115,196,54,222,90,89,38,52,226,2,32,30,3,143,199,153,93,147,159,204,213,70,228,200,94,121,60,10,212,81,33,110,54,164,237,252,123,206,91,226,120,8,203]),m=Uint8Array.from([224,30,0,252,88,15,65,112,112,114,111,118,97,108,32,101,120,112,105,114,101,71,48,69,2,33,0,232,71,22,110,96,248,81,227,200,209,244,65,57,129,24,152,204,208,211,160,58,237,108,119,248,195,153,56,19,244,121,210,2,32,49,254,107,106,87,75,86,197,16,64,3,207,7,144,13,17,255,175,48,61,192,22,218,76,28,61,24,70,99,218,143,106]),b=Uint8Array.from([224,30,0,1,17,16,116,111,46,91,93,46,119,97,108,108,101,116,115,46,91,93]);describe("SendEIP712FilteringCommand",()=>{describe("getApdu",()=>{it("Activate APDU",()=>{const x={type:d.Activation},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(s)}),it("Discarded path APDU",()=>{const x={type:d.DiscardedPath,path:"to.[].wallets.[]"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(b)}),it("Message info APDU",()=>{const x={type:d.MessageInfo,displayName:"1inch Order",filtersCount:6,signature:"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(r)}),it("Raw APDU",()=>{const x={type:d.Raw,discarded:!1,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(t)}),it("Token APDU",()=>{const x={type:d.Token,discarded:!1,tokenIndex:1,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(f)}),it("Amount APDU",()=>{const x={type:d.Amount,discarded:!1,displayName:"Receive minimum",tokenIndex:1,signature:"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(i)}),it("Date-time APDU",()=>{const x={type:d.Datetime,discarded:!1,displayName:"Approval expire",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(m)}),it("Discarded filter",()=>{const x={type:d.Raw,discarded:!0,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([...t.slice(0,2),1,...t.slice(3)]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const x={statusCode:Buffer.from([106,128]),data:Buffer.from([])},e=new c({type:d.Activation}).parseResponse(x);expect(o(e)).toBe(!1)}),it("should parse the response",()=>{const x={statusCode:Buffer.from([144,0]),data:Buffer.from([])},a=new c({type:d.Activation});expect(a.parseResponse(x)).toStrictEqual(n({data:void 0}))})})});
1
+ import{CommandResultFactory as o,isSuccessCommandResult as r}from"@ledgerhq/device-management-kit";import{CalldataParamPresence as f,Eip712FilterType as a,SendEIP712FilteringCommand as c}from"./SendEIP712FilteringCommand";const m=Uint8Array.from([224,30,0,0,0]),b=Uint8Array.from([224,30,0,15,84,11,49,105,110,99,104,32,79,114,100,101,114,6,70,48,68,2,32,41,94,10,235,23,202,9,41,178,169,76,50,77,103,208,181,82,138,186,38,129,119,243,172,41,123,86,49,65,224,0,39,2,32,58,195,96,217,253,12,156,12,18,39,157,30,115,190,165,213,73,161,232,20,31,69,77,136,251,225,232,239,151,14,104,2]),t=Uint8Array.from([224,30,0,255,77,4,70,114,111,109,71,48,69,2,33,0,184,32,228,223,177,160,205,230,220,151,217,163,78,235,177,164,238,240,178,38,38,46,103,136,17,138,179,199,251,121,254,53,2,32,45,66,106,56,139,76,58,128,150,179,248,68,18,167,2,234,83,119,112,230,30,224,114,126,193,183,16,193,218,82,12,68]),i=Uint8Array.from([224,30,0,250,79,3,1,1,0,1,0,2,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),p=Uint8Array.from([224,30,0,249,73,7,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),l=Uint8Array.from([224,30,0,253,73,1,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),A=Uint8Array.from([224,30,0,254,89,15,82,101,99,101,105,118,101,32,109,105,110,105,109,117,109,1,71,48,69,2,33,0,165,157,196,121,168,56,168,19,144,156,20,10,21,230,182,91,197,140,86,51,40,75,249,115,196,54,222,90,89,38,52,226,2,32,30,3,143,199,153,93,147,159,204,213,70,228,200,94,121,60,10,212,81,33,110,54,164,237,252,123,206,91,226,120,8,203]),u=Uint8Array.from([224,30,0,251,86,7,83,112,101,110,100,101,114,1,2,3,1,0,2,71,48,69,2,33,0,232,71,22,110,96,248,81,227,200,209,244,65,57,129,24,152,204,208,211,160,58,237,108,119,248,195,153,56,19,244,121,210,2,32,49,254,107,106,87,75,86,197,16,64,3,207,7,144,13,17,255,175,48,61,192,22,218,76,28,61,24,70,99,218,143,106]),g=Uint8Array.from([224,30,0,252,88,15,65,112,112,114,111,118,97,108,32,101,120,112,105,114,101,71,48,69,2,33,0,232,71,22,110,96,248,81,227,200,209,244,65,57,129,24,152,204,208,211,160,58,237,108,119,248,195,153,56,19,244,121,210,2,32,49,254,107,106,87,75,86,197,16,64,3,207,7,144,13,17,255,175,48,61,192,22,218,76,28,61,24,70,99,218,143,106]),y=Uint8Array.from([224,30,0,1,17,16,116,111,46,91,93,46,119,97,108,108,101,116,115,46,91,93]);describe("SendEIP712FilteringCommand",()=>{describe("getApdu",()=>{it("Activate APDU",()=>{const x={type:a.Activation},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(m)}),it("Discarded path APDU",()=>{const x={type:a.DiscardedPath,path:"to.[].wallets.[]"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(y)}),it("Message info APDU",()=>{const x={type:a.MessageInfo,displayName:"1inch Order",filtersCount:6,signature:"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(b)}),it("Raw APDU",()=>{const x={type:a.Raw,discarded:!1,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(t)}),it("Calldata info APDU",()=>{const x={type:a.CalldataInfo,discarded:!1,calldataIndex:3,valueFlag:!0,calleeFlag:f.Present,chainIdFlag:!1,selectorFlag:!0,amountFlag:!1,spenderFlag:f.VerifyingContract,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(i)}),it.each([{name:"spender",type:a.CalldataSpender,cmd:244},{name:"amount",type:a.CalldataAmount,cmd:245},{name:"selector",type:a.CalldataSelector,cmd:246},{name:"chainId",type:a.CalldataChainId,cmd:247},{name:"callee",type:a.CalldataCallee,cmd:248},{name:"value",type:a.CalldataValue,cmd:249}])("Calldata APDU $name",({type:x,cmd:d})=>{const e={type:x,discarded:!1,calldataIndex:7,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},n=Uint8Array.from(p);n[3]=d;const s=new c(e).getApdu();expect(s.getRawApdu()).toStrictEqual(n)}),it("Token APDU",()=>{const x={type:a.Token,discarded:!1,tokenIndex:1,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(l)}),it("Amount APDU",()=>{const x={type:a.Amount,discarded:!1,displayName:"Receive minimum",tokenIndex:1,signature:"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(A)}),it("Date-time APDU",()=>{const x={type:a.Datetime,discarded:!1,displayName:"Approval expire",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(g)}),it("Trusted name APDU",()=>{const x={type:a.TrustedName,discarded:!1,displayName:"Spender",typesAndSourcesPayload:"010203010002",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(u)}),it("Discarded filter",()=>{const x={type:a.Raw,discarded:!0,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([...t.slice(0,2),1,...t.slice(3)]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const x={statusCode:Buffer.from([106,128]),data:Buffer.from([])},e=new c({type:a.Activation}).parseResponse(x);expect(r(e)).toBe(!1)}),it("should parse the response",()=>{const x={statusCode:Buffer.from([144,0]),data:Buffer.from([])},d=new c({type:a.Activation});expect(d.parseResponse(x)).toStrictEqual(o({data:void 0}))})})});
2
2
  //# sourceMappingURL=SendEIP712FilteringCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/SendEIP712FilteringCommand.test.ts"],
4
- "sourcesContent": ["import {\n type ApduResponse,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n Eip712FilterType,\n SendEIP712FilteringCommand,\n type SendEIP712FilteringCommandArgs,\n} from \"./SendEIP712FilteringCommand\";\n\nconst ACTIVATE_APDU = Uint8Array.from([0xe0, 0x1e, 0x00, 0x00, 0x00]);\nconst MESSAGE_INFO_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0x0f, 0x54, 0x0b, 0x31, 0x69, 0x6e, 0x63, 0x68, 0x20, 0x4f,\n 0x72, 0x64, 0x65, 0x72, 0x06, 0x46, 0x30, 0x44, 0x02, 0x20, 0x29, 0x5e, 0x0a,\n 0xeb, 0x17, 0xca, 0x09, 0x29, 0xb2, 0xa9, 0x4c, 0x32, 0x4d, 0x67, 0xd0, 0xb5,\n 0x52, 0x8a, 0xba, 0x26, 0x81, 0x77, 0xf3, 0xac, 0x29, 0x7b, 0x56, 0x31, 0x41,\n 0xe0, 0x00, 0x27, 0x02, 0x20, 0x3a, 0xc3, 0x60, 0xd9, 0xfd, 0x0c, 0x9c, 0x0c,\n 0x12, 0x27, 0x9d, 0x1e, 0x73, 0xbe, 0xa5, 0xd5, 0x49, 0xa1, 0xe8, 0x14, 0x1f,\n 0x45, 0x4d, 0x88, 0xfb, 0xe1, 0xe8, 0xef, 0x97, 0x0e, 0x68, 0x02,\n]);\nconst RAW_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xff, 0x4d, 0x04, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x30, 0x45,\n 0x02, 0x21, 0x00, 0xb8, 0x20, 0xe4, 0xdf, 0xb1, 0xa0, 0xcd, 0xe6, 0xdc, 0x97,\n 0xd9, 0xa3, 0x4e, 0xeb, 0xb1, 0xa4, 0xee, 0xf0, 0xb2, 0x26, 0x26, 0x2e, 0x67,\n 0x88, 0x11, 0x8a, 0xb3, 0xc7, 0xfb, 0x79, 0xfe, 0x35, 0x02, 0x20, 0x2d, 0x42,\n 0x6a, 0x38, 0x8b, 0x4c, 0x3a, 0x80, 0x96, 0xb3, 0xf8, 0x44, 0x12, 0xa7, 0x02,\n 0xea, 0x53, 0x77, 0x70, 0xe6, 0x1e, 0xe0, 0x72, 0x7e, 0xc1, 0xb7, 0x10, 0xc1,\n 0xda, 0x52, 0x0c, 0x44,\n]);\nconst TOKEN_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfd, 0x49, 0x01, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xff,\n 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5, 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4,\n 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b, 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58,\n 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20, 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6,\n 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7, 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06,\n 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c, 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst AMOUNT_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfe, 0x59, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,\n 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x01, 0x47, 0x30, 0x45, 0x02,\n 0x21, 0x00, 0xa5, 0x9d, 0xc4, 0x79, 0xa8, 0x38, 0xa8, 0x13, 0x90, 0x9c, 0x14,\n 0x0a, 0x15, 0xe6, 0xb6, 0x5b, 0xc5, 0x8c, 0x56, 0x33, 0x28, 0x4b, 0xf9, 0x73,\n 0xc4, 0x36, 0xde, 0x5a, 0x59, 0x26, 0x34, 0xe2, 0x02, 0x20, 0x1e, 0x03, 0x8f,\n 0xc7, 0x99, 0x5d, 0x93, 0x9f, 0xcc, 0xd5, 0x46, 0xe4, 0xc8, 0x5e, 0x79, 0x3c,\n 0x0a, 0xd4, 0x51, 0x21, 0x6e, 0x36, 0xa4, 0xed, 0xfc, 0x7b, 0xce, 0x5b, 0xe2,\n 0x78, 0x08, 0xcb,\n]);\nconst DATE_TIME_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfc, 0x58, 0x0f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,\n 0x6c, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x47, 0x30, 0x45, 0x02, 0x21,\n 0x00, 0xe8, 0x47, 0x16, 0x6e, 0x60, 0xf8, 0x51, 0xe3, 0xc8, 0xd1, 0xf4, 0x41,\n 0x39, 0x81, 0x18, 0x98, 0xcc, 0xd0, 0xd3, 0xa0, 0x3a, 0xed, 0x6c, 0x77, 0xf8,\n 0xc3, 0x99, 0x38, 0x13, 0xf4, 0x79, 0xd2, 0x02, 0x20, 0x31, 0xfe, 0x6b, 0x6a,\n 0x57, 0x4b, 0x56, 0xc5, 0x10, 0x40, 0x03, 0xcf, 0x07, 0x90, 0x0d, 0x11, 0xff,\n 0xaf, 0x30, 0x3d, 0xc0, 0x16, 0xda, 0x4c, 0x1c, 0x3d, 0x18, 0x46, 0x63, 0xda,\n 0x8f, 0x6a,\n]);\nconst DISCARDED_PATH_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0x01, 0x11, 0x10, 0x74, 0x6f, 0x2e, 0x5b, 0x5d, 0x2e, 0x77,\n 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x2e, 0x5b, 0x5d,\n]);\n\ndescribe(\"SendEIP712FilteringCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"Activate APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Activation,\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(ACTIVATE_APDU);\n });\n\n it(\"Discarded path APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.DiscardedPath,\n path: \"to.[].wallets.[]\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(DISCARDED_PATH_APDU);\n });\n\n it(\"Message info APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.MessageInfo,\n displayName: \"1inch Order\",\n filtersCount: 6,\n signature:\n \"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(MESSAGE_INFO_APDU);\n });\n\n it(\"Raw APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Raw,\n discarded: false,\n displayName: \"From\",\n signature:\n \"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(RAW_APDU);\n });\n\n it(\"Token APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Token,\n discarded: false,\n tokenIndex: 1,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(TOKEN_APDU);\n });\n\n it(\"Amount APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Amount,\n discarded: false,\n displayName: \"Receive minimum\",\n tokenIndex: 1,\n signature:\n \"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(AMOUNT_APDU);\n });\n\n it(\"Date-time APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Datetime,\n discarded: false,\n displayName: \"Approval expire\",\n signature:\n \"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(DATE_TIME_APDU);\n });\n\n it(\"Discarded filter\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Raw,\n discarded: true,\n displayName: \"From\",\n signature:\n \"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([...RAW_APDU.slice(0, 2), 0x01, ...RAW_APDU.slice(3)]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x6a, 0x80]), // Invalid status code\n data: Buffer.from([]),\n };\n // WHEN\n const command = new SendEIP712FilteringCommand({\n type: Eip712FilterType.Activation,\n });\n // THEN\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should parse the response\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n data: Buffer.from([]),\n };\n // WHEN\n const command = new SendEIP712FilteringCommand({\n type: Eip712FilterType.Activation,\n });\n // THEN\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: undefined }),\n );\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["CommandResultFactory", "isSuccessCommandResult", "Eip712FilterType", "SendEIP712FilteringCommand", "ACTIVATE_APDU", "MESSAGE_INFO_APDU", "RAW_APDU", "TOKEN_APDU", "AMOUNT_APDU", "DATE_TIME_APDU", "DISCARDED_PATH_APDU", "args", "apdu", "response", "result", "command"]
4
+ "sourcesContent": ["import {\n type ApduResponse,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n CalldataParamPresence,\n Eip712FilterType,\n SendEIP712FilteringCommand,\n type SendEIP712FilteringCommandArgs,\n} from \"./SendEIP712FilteringCommand\";\n\nconst ACTIVATE_APDU = Uint8Array.from([0xe0, 0x1e, 0x00, 0x00, 0x00]);\nconst MESSAGE_INFO_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0x0f, 0x54, 0x0b, 0x31, 0x69, 0x6e, 0x63, 0x68, 0x20, 0x4f,\n 0x72, 0x64, 0x65, 0x72, 0x06, 0x46, 0x30, 0x44, 0x02, 0x20, 0x29, 0x5e, 0x0a,\n 0xeb, 0x17, 0xca, 0x09, 0x29, 0xb2, 0xa9, 0x4c, 0x32, 0x4d, 0x67, 0xd0, 0xb5,\n 0x52, 0x8a, 0xba, 0x26, 0x81, 0x77, 0xf3, 0xac, 0x29, 0x7b, 0x56, 0x31, 0x41,\n 0xe0, 0x00, 0x27, 0x02, 0x20, 0x3a, 0xc3, 0x60, 0xd9, 0xfd, 0x0c, 0x9c, 0x0c,\n 0x12, 0x27, 0x9d, 0x1e, 0x73, 0xbe, 0xa5, 0xd5, 0x49, 0xa1, 0xe8, 0x14, 0x1f,\n 0x45, 0x4d, 0x88, 0xfb, 0xe1, 0xe8, 0xef, 0x97, 0x0e, 0x68, 0x02,\n]);\nconst RAW_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xff, 0x4d, 0x04, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x30, 0x45,\n 0x02, 0x21, 0x00, 0xb8, 0x20, 0xe4, 0xdf, 0xb1, 0xa0, 0xcd, 0xe6, 0xdc, 0x97,\n 0xd9, 0xa3, 0x4e, 0xeb, 0xb1, 0xa4, 0xee, 0xf0, 0xb2, 0x26, 0x26, 0x2e, 0x67,\n 0x88, 0x11, 0x8a, 0xb3, 0xc7, 0xfb, 0x79, 0xfe, 0x35, 0x02, 0x20, 0x2d, 0x42,\n 0x6a, 0x38, 0x8b, 0x4c, 0x3a, 0x80, 0x96, 0xb3, 0xf8, 0x44, 0x12, 0xa7, 0x02,\n 0xea, 0x53, 0x77, 0x70, 0xe6, 0x1e, 0xe0, 0x72, 0x7e, 0xc1, 0xb7, 0x10, 0xc1,\n 0xda, 0x52, 0x0c, 0x44,\n]);\nconst CALLDATA_INFO_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfa, 0x4f, 0x03, 0x01, 0x01, 0x00, 0x01, 0x00, 0x02, 0x47,\n 0x30, 0x45, 0x02, 0x21, 0x00, 0xff, 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5,\n 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4, 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b,\n 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58, 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20,\n 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6, 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7,\n 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06, 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c,\n 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst CALLDATA_VALUE_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xf9, 0x49, 0x07, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xff,\n 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5, 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4,\n 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b, 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58,\n 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20, 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6,\n 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7, 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06,\n 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c, 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst TOKEN_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfd, 0x49, 0x01, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xff,\n 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5, 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4,\n 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b, 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58,\n 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20, 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6,\n 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7, 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06,\n 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c, 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst AMOUNT_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfe, 0x59, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,\n 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x01, 0x47, 0x30, 0x45, 0x02,\n 0x21, 0x00, 0xa5, 0x9d, 0xc4, 0x79, 0xa8, 0x38, 0xa8, 0x13, 0x90, 0x9c, 0x14,\n 0x0a, 0x15, 0xe6, 0xb6, 0x5b, 0xc5, 0x8c, 0x56, 0x33, 0x28, 0x4b, 0xf9, 0x73,\n 0xc4, 0x36, 0xde, 0x5a, 0x59, 0x26, 0x34, 0xe2, 0x02, 0x20, 0x1e, 0x03, 0x8f,\n 0xc7, 0x99, 0x5d, 0x93, 0x9f, 0xcc, 0xd5, 0x46, 0xe4, 0xc8, 0x5e, 0x79, 0x3c,\n 0x0a, 0xd4, 0x51, 0x21, 0x6e, 0x36, 0xa4, 0xed, 0xfc, 0x7b, 0xce, 0x5b, 0xe2,\n 0x78, 0x08, 0xcb,\n]);\nconst TRUSTED_NAME_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfb, 0x56, 0x07, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x72,\n 0x01, 0x02, 0x03, 0x01, 0x00, 0x02, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xe8,\n 0x47, 0x16, 0x6e, 0x60, 0xf8, 0x51, 0xe3, 0xc8, 0xd1, 0xf4, 0x41, 0x39, 0x81,\n 0x18, 0x98, 0xcc, 0xd0, 0xd3, 0xa0, 0x3a, 0xed, 0x6c, 0x77, 0xf8, 0xc3, 0x99,\n 0x38, 0x13, 0xf4, 0x79, 0xd2, 0x02, 0x20, 0x31, 0xfe, 0x6b, 0x6a, 0x57, 0x4b,\n 0x56, 0xc5, 0x10, 0x40, 0x03, 0xcf, 0x07, 0x90, 0x0d, 0x11, 0xff, 0xaf, 0x30,\n 0x3d, 0xc0, 0x16, 0xda, 0x4c, 0x1c, 0x3d, 0x18, 0x46, 0x63, 0xda, 0x8f, 0x6a,\n]);\nconst DATE_TIME_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfc, 0x58, 0x0f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,\n 0x6c, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x47, 0x30, 0x45, 0x02, 0x21,\n 0x00, 0xe8, 0x47, 0x16, 0x6e, 0x60, 0xf8, 0x51, 0xe3, 0xc8, 0xd1, 0xf4, 0x41,\n 0x39, 0x81, 0x18, 0x98, 0xcc, 0xd0, 0xd3, 0xa0, 0x3a, 0xed, 0x6c, 0x77, 0xf8,\n 0xc3, 0x99, 0x38, 0x13, 0xf4, 0x79, 0xd2, 0x02, 0x20, 0x31, 0xfe, 0x6b, 0x6a,\n 0x57, 0x4b, 0x56, 0xc5, 0x10, 0x40, 0x03, 0xcf, 0x07, 0x90, 0x0d, 0x11, 0xff,\n 0xaf, 0x30, 0x3d, 0xc0, 0x16, 0xda, 0x4c, 0x1c, 0x3d, 0x18, 0x46, 0x63, 0xda,\n 0x8f, 0x6a,\n]);\nconst DISCARDED_PATH_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0x01, 0x11, 0x10, 0x74, 0x6f, 0x2e, 0x5b, 0x5d, 0x2e, 0x77,\n 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x2e, 0x5b, 0x5d,\n]);\n\ndescribe(\"SendEIP712FilteringCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"Activate APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Activation,\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(ACTIVATE_APDU);\n });\n\n it(\"Discarded path APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.DiscardedPath,\n path: \"to.[].wallets.[]\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(DISCARDED_PATH_APDU);\n });\n\n it(\"Message info APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.MessageInfo,\n displayName: \"1inch Order\",\n filtersCount: 6,\n signature:\n \"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(MESSAGE_INFO_APDU);\n });\n\n it(\"Raw APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Raw,\n discarded: false,\n displayName: \"From\",\n signature:\n \"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(RAW_APDU);\n });\n\n it(\"Calldata info APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.CalldataInfo,\n discarded: false,\n calldataIndex: 3,\n valueFlag: true,\n calleeFlag: CalldataParamPresence.Present,\n chainIdFlag: false,\n selectorFlag: true,\n amountFlag: false,\n spenderFlag: CalldataParamPresence.VerifyingContract,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(CALLDATA_INFO_APDU);\n });\n\n it.each([\n { name: \"spender\", type: Eip712FilterType.CalldataSpender, cmd: 0xf4 },\n { name: \"amount\", type: Eip712FilterType.CalldataAmount, cmd: 0xf5 },\n { name: \"selector\", type: Eip712FilterType.CalldataSelector, cmd: 0xf6 },\n { name: \"chainId\", type: Eip712FilterType.CalldataChainId, cmd: 0xf7 },\n { name: \"callee\", type: Eip712FilterType.CalldataCallee, cmd: 0xf8 },\n { name: \"value\", type: Eip712FilterType.CalldataValue, cmd: 0xf9 },\n ])(\"Calldata APDU $name\", ({ type, cmd }) => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type,\n discarded: false,\n calldataIndex: 7,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n } as SendEIP712FilteringCommandArgs;\n const expectedApdu = Uint8Array.from(CALLDATA_VALUE_APDU);\n expectedApdu[3] = cmd;\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(expectedApdu);\n });\n\n it(\"Token APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Token,\n discarded: false,\n tokenIndex: 1,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(TOKEN_APDU);\n });\n\n it(\"Amount APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Amount,\n discarded: false,\n displayName: \"Receive minimum\",\n tokenIndex: 1,\n signature:\n \"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(AMOUNT_APDU);\n });\n\n it(\"Date-time APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Datetime,\n discarded: false,\n displayName: \"Approval expire\",\n signature:\n \"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(DATE_TIME_APDU);\n });\n\n it(\"Trusted name APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.TrustedName,\n discarded: false,\n displayName: \"Spender\",\n typesAndSourcesPayload: \"010203010002\",\n signature:\n \"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(TRUSTED_NAME_APDU);\n });\n\n it(\"Discarded filter\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Raw,\n discarded: true,\n displayName: \"From\",\n signature:\n \"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([...RAW_APDU.slice(0, 2), 0x01, ...RAW_APDU.slice(3)]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x6a, 0x80]), // Invalid status code\n data: Buffer.from([]),\n };\n // WHEN\n const command = new SendEIP712FilteringCommand({\n type: Eip712FilterType.Activation,\n });\n // THEN\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should parse the response\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n data: Buffer.from([]),\n };\n // WHEN\n const command = new SendEIP712FilteringCommand({\n type: Eip712FilterType.Activation,\n });\n // THEN\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: undefined }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["CommandResultFactory", "isSuccessCommandResult", "CalldataParamPresence", "Eip712FilterType", "SendEIP712FilteringCommand", "ACTIVATE_APDU", "MESSAGE_INFO_APDU", "RAW_APDU", "CALLDATA_INFO_APDU", "CALLDATA_VALUE_APDU", "TOKEN_APDU", "AMOUNT_APDU", "TRUSTED_NAME_APDU", "DATE_TIME_APDU", "DISCARDED_PATH_APDU", "args", "apdu", "type", "cmd", "expectedApdu", "response", "result", "command"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{ApduBuilder as s,ApduParser as d,CommandResultFactory as e,InvalidStatusWordError as a}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as m}from"@ledgerhq/signer-utils";import{Just as u,Maybe as p,Nothing as g}from"purify-ts";import{ETH_APP_ERRORS as A,EthAppCommandErrorFactory as E}from"./utils/ethAppErrors";const l=32,h=32;class f{args;errorHelper=new m(A,E);constructor(t){this.args=t}getApdu(){const{data:t,isFirstChunk:r}=this.args,o={cla:224,ins:52,p1:r?1:0,p2:0};return new s(o).addBufferToData(t).build()}parseResponse(t){return p.fromNullable(this.errorHelper.getError(t)).orDefaultLazy(()=>{const r=new d(t),o=r.extract8BitUInt();if(o===void 0)return e({data:g});const n=r.encodeToHexaString(r.extractFieldByLength(l),!0);if(!n)return e({error:new a("R is missing")});const i=r.encodeToHexaString(r.extractFieldByLength(h),!0);return i?e({data:u({r:n,s:i,v:o})}):e({error:new a("S is missing")})})}}export{f as SignEIP7702AuthorizationCommand};
2
+ //# sourceMappingURL=SignAuthorizationDelegationCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SignAuthorizationDelegationCommand.ts"],
4
+ "sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#sign-eth-personal-message\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 { Just, Maybe, Nothing } from \"purify-ts\";\n\nimport { type Signature } from \"@api/model/Signature\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nconst R_LENGTH = 32;\nconst S_LENGTH = 32;\n\nexport type SignEIP7702AuthorizationCommandArgs = {\n /**\n * The data to sign in max 255 bytes chunks\n * Data is a concatenation of the following:\n * - Derivation path length (1 byte)\n * - Derivation path (4 bytes per element)\n * - Nonce (4 bytes)\n * - Chain ID (4 bytes)\n * - Address (20 bytes)\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport type SignEIP7702AuthorizationCommandResponse = Maybe<Signature>;\n\nexport class SignEIP7702AuthorizationCommand\n implements\n Command<\n SignEIP7702AuthorizationCommandResponse,\n SignEIP7702AuthorizationCommandArgs,\n EthErrorCodes\n >\n{\n readonly args: SignEIP7702AuthorizationCommandArgs;\n private readonly errorHelper = new CommandErrorHelper<\n SignEIP7702AuthorizationCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor(args: SignEIP7702AuthorizationCommandArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const { data, isFirstChunk } = this.args;\n const signEIP7702AuthorizationArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x34,\n p1: isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(signEIP7702AuthorizationArgs)\n .addBufferToData(data)\n .build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<SignEIP7702AuthorizationCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(apduResponse);\n\n // The data is returned only for the last chunk\n const v = parser.extract8BitUInt();\n if (v === undefined) {\n return CommandResultFactory({ data: Nothing });\n }\n\n const r = parser.encodeToHexaString(\n parser.extractFieldByLength(R_LENGTH),\n true,\n );\n if (!r) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"R is missing\"),\n });\n }\n\n const s = parser.encodeToHexaString(\n parser.extractFieldByLength(S_LENGTH),\n true,\n );\n if (!s) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"S is missing\"),\n });\n }\n\n return CommandResultFactory({\n data: Just({\n r,\n s,\n v,\n }),\n });\n });\n }\n}\n"],
5
+ "mappings": "AACA,OAEE,eAAAA,EAEA,cAAAC,EAIA,wBAAAC,EACA,0BAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,QAAAC,EAAM,SAAAC,EAAO,WAAAC,MAAe,YAIrC,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAEP,MAAMC,EAAW,GACXC,EAAW,GAqBV,MAAMC,CAOb,CACW,KACQ,YAAc,IAAIR,EAGjCI,EAAgBC,CAAyB,EAE3C,YAAYI,EAA2C,CACrD,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,KAAM,CAAE,KAAAC,EAAM,aAAAC,CAAa,EAAI,KAAK,KAC9BC,EAAgD,CACpD,IAAK,IACL,IAAK,GACL,GAAID,EAAe,EAAO,EAC1B,GAAI,CACN,EAEA,OAAO,IAAIf,EAAYgB,CAA4B,EAChD,gBAAgBF,CAAI,EACpB,MAAM,CACX,CAEA,cACEG,EACuE,CACvE,OAAOX,EAAM,aACX,KAAK,YAAY,SAASW,CAAY,CACxC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAS,IAAIjB,EAAWgB,CAAY,EAGpCE,EAAID,EAAO,gBAAgB,EACjC,GAAIC,IAAM,OACR,OAAOjB,EAAqB,CAAE,KAAMK,CAAQ,CAAC,EAG/C,MAAMa,EAAIF,EAAO,mBACfA,EAAO,qBAAqBR,CAAQ,EACpC,EACF,EACA,GAAI,CAACU,EACH,OAAOlB,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,cAAc,CAClD,CAAC,EAGH,MAAMkB,EAAIH,EAAO,mBACfA,EAAO,qBAAqBP,CAAQ,EACpC,EACF,EACA,OAAKU,EAMEnB,EAAqB,CAC1B,KAAMG,EAAK,CACT,EAAAe,EACA,EAAAC,EACA,EAAAF,CACF,CAAC,CACH,CAAC,EAXQjB,EAAqB,CAC1B,MAAO,IAAIC,EAAuB,cAAc,CAClD,CAAC,CAUL,CAAC,CACH,CACF",
6
+ "names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "InvalidStatusWordError", "CommandErrorHelper", "Just", "Maybe", "Nothing", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "R_LENGTH", "S_LENGTH", "SignEIP7702AuthorizationCommand", "args", "data", "isFirstChunk", "signEIP7702AuthorizationArgs", "apduResponse", "parser", "v", "r", "s"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{CommandResultFactory as o,InvalidStatusWordError as x,isSuccessCommandResult as c}from"@ledgerhq/device-management-kit";import{Just as i,Nothing as u}from"purify-ts";import{SignEIP7702AuthorizationCommand as s}from"./SignAuthorizationDelegationCommand";const n=Uint8Array.from([224,52,1,0,8,0,6,76,101,100,103,101,114]),d=Uint8Array.from([224,52,0,0,8,0,6,76,101,100,103,101,114]),a=new Uint8Array([27,151,164,202,143,105,70,51,89,38,1,245,162,62,11,204,85,60,157,10,144,211,163,66,45,87,85,8,169,40,152,185,110,105,80,208,46,116,233,193,2,193,100,162,37,83,48,130,202,189,216,144,239,196,99,246,127,96,206,254,140,63,135,207,206]);describe("SignEIP7702AuthorizationCommand",()=>{describe("getApdu",()=>{it("should return the first chunk raw APDU",()=>{const e={data:n.slice(5),isFirstChunk:!0},t=new s(e).getApdu();expect(t.getRawApdu()).toStrictEqual(n)}),it("should return the next chunk raw APDU",()=>{const e={data:n.slice(5),isFirstChunk:!1},t=new s(e).getApdu();expect(t.getRawApdu()).toStrictEqual(d)})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const e={data:Buffer.from([]),statusCode:Buffer.from([106,128])},t=new s({data:Uint8Array.from([]),isFirstChunk:!0}).parseResponse(e);expect(c(t)).toBe(!1)}),it("should return success without result for first chunk",()=>{const e={statusCode:Buffer.from([144,0]),data:Buffer.from([])},t=new s({data:Uint8Array.from([]),isFirstChunk:!0}).parseResponse(e);expect(t).toStrictEqual(o({data:u}))}),it("should return success if the response signature is valid",()=>{const e={statusCode:Buffer.from([144,0]),data:a},t=new s({data:Uint8Array.from([]),isFirstChunk:!0}).parseResponse(e);expect(t).toStrictEqual(o({data:i({r:"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e",s:"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce",v:27})}))}),it("should return an error if r is missing",()=>{const e={statusCode:Buffer.from([144,0]),data:a.slice(0,32)},t=new s({data:Uint8Array.from([]),isFirstChunk:!0}).parseResponse(e);expect(t).toStrictEqual(o({error:new x("R is missing")}))}),it("should return an error if s is missing",()=>{const e={statusCode:Buffer.from([144,0]),data:a.slice(0,64)},t=new s({data:Uint8Array.from([]),isFirstChunk:!0}).parseResponse(e);expect(t).toStrictEqual(o({error:new x("S is missing")}))})})});
2
+ //# sourceMappingURL=SignAuthorizationDelegationCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/SignAuthorizationDelegationCommand.test.ts"],
4
+ "sourcesContent": ["import {\n type ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport {\n SignEIP7702AuthorizationCommand,\n type SignEIP7702AuthorizationCommandArgs,\n} from \"./SignAuthorizationDelegationCommand\";\n\nconst FIRST_CHUNK_APDU = Uint8Array.from([\n 0xe0, 0x34, 0x01, 0x00, 0x08, 0x00, 0x06, 0x4c, 0x65, 0x64, 0x67, 0x65, 0x72,\n]);\n\nconst NEXT_CHUNK_APDU = Uint8Array.from([\n 0xe0, 0x34, 0x00, 0x00, 0x08, 0x00, 0x06, 0x4c, 0x65, 0x64, 0x67, 0x65, 0x72,\n]);\n\nconst SUCCESS_RESPONSE = new Uint8Array([\n 0x1b, 0x97, 0xa4, 0xca, 0x8f, 0x69, 0x46, 0x33, 0x59, 0x26, 0x01, 0xf5, 0xa2,\n 0x3e, 0x0b, 0xcc, 0x55, 0x3c, 0x9d, 0x0a, 0x90, 0xd3, 0xa3, 0x42, 0x2d, 0x57,\n 0x55, 0x08, 0xa9, 0x28, 0x98, 0xb9, 0x6e, 0x69, 0x50, 0xd0, 0x2e, 0x74, 0xe9,\n 0xc1, 0x02, 0xc1, 0x64, 0xa2, 0x25, 0x53, 0x30, 0x82, 0xca, 0xbd, 0xd8, 0x90,\n 0xef, 0xc4, 0x63, 0xf6, 0x7f, 0x60, 0xce, 0xfe, 0x8c, 0x3f, 0x87, 0xcf, 0xce,\n]);\n\ndescribe(\"SignEIP7702AuthorizationCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the first chunk raw APDU\", () => {\n // GIVEN\n const args: SignEIP7702AuthorizationCommandArgs = {\n data: FIRST_CHUNK_APDU.slice(5),\n isFirstChunk: true,\n };\n // WHEN\n const command = new SignEIP7702AuthorizationCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(FIRST_CHUNK_APDU);\n });\n\n it(\"should return the next chunk raw APDU\", () => {\n // GIVEN\n const args: SignEIP7702AuthorizationCommandArgs = {\n data: FIRST_CHUNK_APDU.slice(5),\n isFirstChunk: false,\n };\n // WHEN\n const command = new SignEIP7702AuthorizationCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(NEXT_CHUNK_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Buffer.from([]),\n statusCode: Buffer.from([0x6a, 0x80]), // Invalid status code\n };\n // WHEN\n const command = new SignEIP7702AuthorizationCommand({\n data: Uint8Array.from([]),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n // THEN\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should return success without result for first chunk\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n data: Buffer.from([]),\n };\n // WHEN\n const command = new SignEIP7702AuthorizationCommand({\n data: Uint8Array.from([]),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: Nothing,\n }),\n );\n });\n\n it(\"should return success if the response signature is valid\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n data: SUCCESS_RESPONSE,\n };\n // WHEN\n const command = new SignEIP7702AuthorizationCommand({\n data: Uint8Array.from([]),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: Just({\n r: \"0x97a4ca8f694633592601f5a23e0bcc553c9d0a90d3a3422d575508a92898b96e\",\n s: \"0x6950d02e74e9c102c164a225533082cabdd890efc463f67f60cefe8c3f87cfce\",\n v: 27,\n }),\n }),\n );\n });\n\n it(\"should return an error if r is missing\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n data: SUCCESS_RESPONSE.slice(0, 32),\n };\n // WHEN\n const command = new SignEIP7702AuthorizationCommand({\n data: Uint8Array.from([]),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"R is missing\"),\n }),\n );\n });\n\n it(\"should return an error if s is missing\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n data: SUCCESS_RESPONSE.slice(0, 64),\n };\n // WHEN\n const command = new SignEIP7702AuthorizationCommand({\n data: Uint8Array.from([]),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"S is missing\"),\n }),\n );\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "Just", "Nothing", "SignEIP7702AuthorizationCommand", "FIRST_CHUNK_APDU", "NEXT_CHUNK_APDU", "SUCCESS_RESPONSE", "args", "apdu", "response", "result"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{ApduResponse as o,CommandResultFactory as x,InvalidStatusWordError as c,isSuccessCommandResult as s,UnknownDeviceExchangeError as d}from"@ledgerhq/device-management-kit";import{Just as i,Nothing as p}from"purify-ts";import{SignTransactionCommand as n}from"./SignTransactionCommand";const m=new o({statusCode:Uint8Array.from([144,0]),data:new Uint8Array([])}),r=new Uint8Array([38,141,39,68,71,17,187,237,68,43,155,252,119,5,192,115,22,183,228,17,80,197,51,18,114,228,210,9,212,34,249,250,57,0,204,63,12,25,56,192,241,255,198,45,240,55,34,90,19,54,251,161,249,254,250,17,245,175,197,188,185,126,177,179,209,144,0]),u=new o({statusCode:Uint8Array.from([144,0]),data:r});describe("SignTransactionCommand",()=>{const t={serializedTransaction:new Uint8Array,isFirstChunk:!0};describe("getApdu",()=>{describe("Legacy",()=>{it("should return the correct APDU when the data is empty",()=>{const e=new n({...t}).getApdu();expect(e.data).toStrictEqual(new Uint8Array),expect(e.cla).toBe(224),expect(e.ins).toBe(4),expect(e.p1).toBe(0),expect(e.p2).toBe(0)}),it("should return the correct APDU when the data is not empty",()=>{const e=new n({...t,serializedTransaction:new Uint8Array([1,2,3])}).getApdu();expect(e.data).toStrictEqual(new Uint8Array([1,2,3])),expect(e.cla).toBe(224),expect(e.ins).toBe(4),expect(e.p1).toBe(0),expect(e.p2).toBe(0)}),it("should return the correct APDU when it is not the first chunk",()=>{const e=new n({...t,isFirstChunk:!1}).getApdu();expect(e.data).toStrictEqual(new Uint8Array),expect(e.cla).toBe(224),expect(e.ins).toBe(4),expect(e.p1).toBe(128),expect(e.p2).toBe(0)})}),describe("Store and start",()=>{}),describe("Start",()=>{})}),describe("parseResponse",()=>{it("should return Nothing when the response data is empty",()=>{const e=new n({...t}).parseResponse(m);expect(e).toStrictEqual(x({data:p}))}),it("should return Just the response data when the response data is not empty",()=>{const e=new n({...t}).parseResponse(u);expect(e).toStrictEqual(x({data:i({r:"0x8d27444711bbed442b9bfc7705c07316b7e41150c5331272e4d209d422f9fa39",s:"0x00cc3f0c1938c0f1ffc62df037225a1336fba1f9fefa11f5afc5bcb97eb1b3d1",v:38})}))}),it("should return a UnknownDeviceExchangeError when the response status code is not 0x9000",()=>{const e=new n({...t}).parseResponse(new o({statusCode:Uint8Array.from([81,85]),data:new Uint8Array}));expect(s(e)).toBe(!1),expect(e.error).toBeInstanceOf(d)}),it("should return an InvalidStatusWord error when the response data r is not valid",()=>{const e=new n({...t}).parseResponse(new o({statusCode:Uint8Array.from([144,0]),data:r.slice(0,1)}));expect(s(e)).toBe(!1),expect(e.error).toBeInstanceOf(c)}),it("should return an error when the response data s is not valid",()=>{const e=new n({...t}).parseResponse(new o({statusCode:Uint8Array.from([144,0]),data:r.slice(0,33)}));expect(s(e)).toBe(!1)})})});
1
+ import{ApduResponse as a,CommandResultFactory as x,InvalidStatusWordError as c,isSuccessCommandResult as s,UnknownDeviceExchangeError as d}from"@ledgerhq/device-management-kit";import{Just as i,Nothing as p}from"purify-ts";import{SignTransactionCommand as n}from"./SignTransactionCommand";const m=new a({statusCode:Uint8Array.from([144,0]),data:new Uint8Array([])}),r=new Uint8Array([38,141,39,68,71,17,187,237,68,43,155,252,119,5,192,115,22,183,228,17,80,197,51,18,114,228,210,9,212,34,249,250,57,0,204,63,12,25,56,192,241,255,198,45,240,55,34,90,19,54,251,161,249,254,250,17,245,175,197,188,185,126,177,179,209,144,0]),u=new a({statusCode:Uint8Array.from([144,0]),data:r});describe("SignTransactionCommand",()=>{const t={serializedTransaction:new Uint8Array,isFirstChunk:!0};describe("getApdu",()=>{describe("Legacy",()=>{it("should return the correct APDU when the data is empty",()=>{const e=new n({...t}).getApdu();expect(e.data).toStrictEqual(new Uint8Array),expect(e.cla).toBe(224),expect(e.ins).toBe(4),expect(e.p1).toBe(0),expect(e.p2).toBe(0)}),it("should return the correct APDU when the data is not empty",()=>{const e=new n({...t,serializedTransaction:new Uint8Array([1,2,3])}).getApdu();expect(e.data).toStrictEqual(new Uint8Array([1,2,3])),expect(e.cla).toBe(224),expect(e.ins).toBe(4),expect(e.p1).toBe(0),expect(e.p2).toBe(0)}),it("should return the correct APDU when it is not the first chunk",()=>{const e=new n({...t,isFirstChunk:!1}).getApdu();expect(e.data).toStrictEqual(new Uint8Array),expect(e.cla).toBe(224),expect(e.ins).toBe(4),expect(e.p1).toBe(128),expect(e.p2).toBe(0)})}),describe.todo("Store and start",()=>{}),describe.todo("Start",()=>{})}),describe("parseResponse",()=>{it("should return Nothing when the response data is empty",()=>{const e=new n({...t}).parseResponse(m);expect(e).toStrictEqual(x({data:p}))}),it("should return Just the response data when the response data is not empty",()=>{const e=new n({...t}).parseResponse(u);expect(e).toStrictEqual(x({data:i({r:"0x8d27444711bbed442b9bfc7705c07316b7e41150c5331272e4d209d422f9fa39",s:"0x00cc3f0c1938c0f1ffc62df037225a1336fba1f9fefa11f5afc5bcb97eb1b3d1",v:38})}))}),it("should return a UnknownDeviceExchangeError when the response status code is not 0x9000",()=>{const e=new n({...t}).parseResponse(new a({statusCode:Uint8Array.from([81,85]),data:new Uint8Array}));expect(s(e)).toBe(!1),expect(e.error).toBeInstanceOf(d)}),it("should return an InvalidStatusWord error when the response data r is not valid",()=>{const e=new n({...t}).parseResponse(new a({statusCode:Uint8Array.from([144,0]),data:r.slice(0,1)}));expect(s(e)).toBe(!1),expect(e.error).toBeInstanceOf(c)}),it("should return an error when the response data s is not valid",()=>{const e=new n({...t}).parseResponse(new a({statusCode:Uint8Array.from([144,0]),data:r.slice(0,33)}));expect(s(e)).toBe(!1)})})});
2
2
  //# sourceMappingURL=SignTransactionCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/SignTransactionCommand.test.ts"],
4
- "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport {\n SignTransactionCommand,\n type SignTransactionCommandArgs,\n} from \"./SignTransactionCommand\";\n\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n});\n\nconst LNX_RESPONSE_DATA = new Uint8Array([\n 0x26, 0x8d, 0x27, 0x44, 0x47, 0x11, 0xbb, 0xed, 0x44, 0x2b, 0x9b, 0xfc, 0x77,\n 0x05, 0xc0, 0x73, 0x16, 0xb7, 0xe4, 0x11, 0x50, 0xc5, 0x33, 0x12, 0x72, 0xe4,\n 0xd2, 0x09, 0xd4, 0x22, 0xf9, 0xfa, 0x39, 0x00, 0xcc, 0x3f, 0x0c, 0x19, 0x38,\n 0xc0, 0xf1, 0xff, 0xc6, 0x2d, 0xf0, 0x37, 0x22, 0x5a, 0x13, 0x36, 0xfb, 0xa1,\n 0xf9, 0xfe, 0xfa, 0x11, 0xf5, 0xaf, 0xc5, 0xbc, 0xb9, 0x7e, 0xb1, 0xb3, 0xd1,\n 0x90, 0x00,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA,\n});\n\ndescribe(\"SignTransactionCommand\", () => {\n const defaultArgs: SignTransactionCommandArgs = {\n serializedTransaction: new Uint8Array(),\n isFirstChunk: true,\n };\n\n describe(\"getApdu\", () => {\n describe(\"Legacy\", () => {\n it(\"should return the correct APDU when the data is empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.data).toStrictEqual(new Uint8Array());\n expect(apdu.cla).toBe(0xe0);\n expect(apdu.ins).toBe(0x04);\n expect(apdu.p1).toBe(0x00);\n expect(apdu.p2).toBe(0x00);\n });\n\n it(\"should return the correct APDU when the data is not empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n serializedTransaction: new Uint8Array([0x01, 0x02, 0x03]),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.data).toStrictEqual(new Uint8Array([0x01, 0x02, 0x03]));\n expect(apdu.cla).toBe(0xe0);\n expect(apdu.ins).toBe(0x04);\n expect(apdu.p1).toBe(0x00);\n expect(apdu.p2).toBe(0x00);\n });\n\n it(\"should return the correct APDU when it is not the first chunk\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n isFirstChunk: false,\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.data).toStrictEqual(new Uint8Array());\n expect(apdu.cla).toBe(0xe0);\n expect(apdu.ins).toBe(0x04);\n expect(apdu.p1).toBe(0x80);\n expect(apdu.p2).toBe(0x00);\n });\n });\n\n describe(\"Store and start\", () => {\n // TODO\n });\n\n describe(\"Start\", () => {\n // TODO\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return Nothing when the response data is empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(LNX_RESPONSE_GOOD);\n\n // THEN\n expect(response).toStrictEqual(CommandResultFactory({ data: Nothing }));\n });\n\n it(\"should return Just the response data when the response data is not empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(LNX_RESPONSE_DATA_GOOD);\n\n // THEN\n expect(response).toStrictEqual(\n CommandResultFactory({\n data: Just({\n r: \"0x8d27444711bbed442b9bfc7705c07316b7e41150c5331272e4d209d422f9fa39\",\n s: \"0x00cc3f0c1938c0f1ffc62df037225a1336fba1f9fefa11f5afc5bcb97eb1b3d1\",\n v: 38,\n }),\n }),\n );\n });\n\n it(\"should return a UnknownDeviceExchangeError when the response status code is not 0x9000\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: Uint8Array.from([0x51, 0x55]),\n data: new Uint8Array(),\n }),\n );\n\n // THEN\n expect(isSuccessCommandResult(response)).toBe(false);\n // @ts-expect-error `error`is not typed because we did not narrow it\n expect(response.error).toBeInstanceOf(UnknownDeviceExchangeError);\n });\n\n it(\"should return an InvalidStatusWord error when the response data r is not valid\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA.slice(0, 1),\n }),\n );\n\n // THEN\n expect(isSuccessCommandResult(response)).toBe(false);\n // @ts-expect-error `error`is not typed because we did not narrow it\n expect(response.error).toBeInstanceOf(InvalidStatusWordError);\n });\n\n it(\"should return an error when the response data s is not valid\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA.slice(0, 33),\n }),\n );\n\n // THEN\n expect(isSuccessCommandResult(response)).toBe(false);\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n ApduResponse,\n CommandResultFactory,\n InvalidStatusWordError,\n isSuccessCommandResult,\n UnknownDeviceExchangeError,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport {\n SignTransactionCommand,\n type SignTransactionCommandArgs,\n} from \"./SignTransactionCommand\";\n\nconst LNX_RESPONSE_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n});\n\nconst LNX_RESPONSE_DATA = new Uint8Array([\n 0x26, 0x8d, 0x27, 0x44, 0x47, 0x11, 0xbb, 0xed, 0x44, 0x2b, 0x9b, 0xfc, 0x77,\n 0x05, 0xc0, 0x73, 0x16, 0xb7, 0xe4, 0x11, 0x50, 0xc5, 0x33, 0x12, 0x72, 0xe4,\n 0xd2, 0x09, 0xd4, 0x22, 0xf9, 0xfa, 0x39, 0x00, 0xcc, 0x3f, 0x0c, 0x19, 0x38,\n 0xc0, 0xf1, 0xff, 0xc6, 0x2d, 0xf0, 0x37, 0x22, 0x5a, 0x13, 0x36, 0xfb, 0xa1,\n 0xf9, 0xfe, 0xfa, 0x11, 0xf5, 0xaf, 0xc5, 0xbc, 0xb9, 0x7e, 0xb1, 0xb3, 0xd1,\n 0x90, 0x00,\n]);\n\nconst LNX_RESPONSE_DATA_GOOD = new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA,\n});\n\ndescribe(\"SignTransactionCommand\", () => {\n const defaultArgs: SignTransactionCommandArgs = {\n serializedTransaction: new Uint8Array(),\n isFirstChunk: true,\n };\n\n describe(\"getApdu\", () => {\n describe(\"Legacy\", () => {\n it(\"should return the correct APDU when the data is empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.data).toStrictEqual(new Uint8Array());\n expect(apdu.cla).toBe(0xe0);\n expect(apdu.ins).toBe(0x04);\n expect(apdu.p1).toBe(0x00);\n expect(apdu.p2).toBe(0x00);\n });\n\n it(\"should return the correct APDU when the data is not empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n serializedTransaction: new Uint8Array([0x01, 0x02, 0x03]),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.data).toStrictEqual(new Uint8Array([0x01, 0x02, 0x03]));\n expect(apdu.cla).toBe(0xe0);\n expect(apdu.ins).toBe(0x04);\n expect(apdu.p1).toBe(0x00);\n expect(apdu.p2).toBe(0x00);\n });\n\n it(\"should return the correct APDU when it is not the first chunk\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n isFirstChunk: false,\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.data).toStrictEqual(new Uint8Array());\n expect(apdu.cla).toBe(0xe0);\n expect(apdu.ins).toBe(0x04);\n expect(apdu.p1).toBe(0x80);\n expect(apdu.p2).toBe(0x00);\n });\n });\n\n describe.todo(\"Store and start\", () => {});\n\n describe.todo(\"Start\", () => {});\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return Nothing when the response data is empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(LNX_RESPONSE_GOOD);\n\n // THEN\n expect(response).toStrictEqual(CommandResultFactory({ data: Nothing }));\n });\n\n it(\"should return Just the response data when the response data is not empty\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(LNX_RESPONSE_DATA_GOOD);\n\n // THEN\n expect(response).toStrictEqual(\n CommandResultFactory({\n data: Just({\n r: \"0x8d27444711bbed442b9bfc7705c07316b7e41150c5331272e4d209d422f9fa39\",\n s: \"0x00cc3f0c1938c0f1ffc62df037225a1336fba1f9fefa11f5afc5bcb97eb1b3d1\",\n v: 38,\n }),\n }),\n );\n });\n\n it(\"should return a UnknownDeviceExchangeError when the response status code is not 0x9000\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: Uint8Array.from([0x51, 0x55]),\n data: new Uint8Array(),\n }),\n );\n\n // THEN\n expect(isSuccessCommandResult(response)).toBe(false);\n // @ts-expect-error `error`is not typed because we did not narrow it\n expect(response.error).toBeInstanceOf(UnknownDeviceExchangeError);\n });\n\n it(\"should return an InvalidStatusWord error when the response data r is not valid\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA.slice(0, 1),\n }),\n );\n\n // THEN\n expect(isSuccessCommandResult(response)).toBe(false);\n // @ts-expect-error `error`is not typed because we did not narrow it\n expect(response.error).toBeInstanceOf(InvalidStatusWordError);\n });\n\n it(\"should return an error when the response data s is not valid\", () => {\n // GIVEN\n const command = new SignTransactionCommand({\n ...defaultArgs,\n });\n\n // WHEN\n const response = command.parseResponse(\n new ApduResponse({\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: LNX_RESPONSE_DATA.slice(0, 33),\n }),\n );\n\n // THEN\n expect(isSuccessCommandResult(response)).toBe(false);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["ApduResponse", "CommandResultFactory", "InvalidStatusWordError", "isSuccessCommandResult", "UnknownDeviceExchangeError", "Just", "Nothing", "SignTransactionCommand", "LNX_RESPONSE_GOOD", "LNX_RESPONSE_DATA", "LNX_RESPONSE_DATA_GOOD", "defaultArgs", "apdu", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{InvalidStatusWordError as n,isSuccessCommandResult as s}from"@ledgerhq/device-management-kit";import{EthAppCommandError as a}from"./utils/ethAppErrors";import{StartTransactionCommand as t}from"./StartTransactionCommand";describe("StartTransactionCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU",()=>{const o=new t().getApdu();expect(o.getRawApdu()).toStrictEqual(Uint8Array.from([224,4,0,2,0]))})}),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().parseResponse(e);s(r)?fail("Expected an error"):expect(r.error).toBeInstanceOf(a)}),it("should return the correct response",()=>{const e={data:Uint8Array.from([1,...Array(32).fill(2),...Array(32).fill(3)]),statusCode:Uint8Array.from([144,0])},r=new t().parseResponse(e);s(r)?expect(r.data.extract()).toEqual({r:"0x0202020202020202020202020202020202020202020202020202020202020202",s:"0x0303030303030303030303030303030303030303030303030303030303030303",v:1}):fail("Expected a success")}),it("should return an error if v is not valid",()=>{const e={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},r=new t().parseResponse(e);s(r)?fail("Expected an error"):(expect(r.error).toBeInstanceOf(n),expect(r.error.originalError).toEqual(new Error("V is missing")))}),it("should return an error if r is not valid",()=>{const e={data:Uint8Array.from([1,...Array(20).fill(2)]),statusCode:Uint8Array.from([144,0])},r=new t().parseResponse(e);s(r)?fail("Expected an error"):(expect(r.error).toBeInstanceOf(n),expect(r.error.originalError).toEqual(new Error("R is missing")))}),it("should return an error if s is not valid",()=>{const e={data:Uint8Array.from([1,...Array(32).fill(2),...Array(20).fill(2)]),statusCode:Uint8Array.from([144,0])},r=new t().parseResponse(e);s(r)?fail("Expected an error"):(expect(r.error).toBeInstanceOf(n),expect(r.error.originalError).toEqual(new Error("S is missing")))})})});
1
+ import{InvalidStatusWordError as n,isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{EthAppCommandError as a}from"./utils/ethAppErrors";import{StartTransactionCommand as s}from"./StartTransactionCommand";describe("StartTransactionCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU",()=>{const t=new s().getApdu();expect(t.getRawApdu()).toStrictEqual(Uint8Array.from([224,4,0,2,0]))})}),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 s().parseResponse(e);o(r)?assert.fail("Expected an error"):expect(r.error).toBeInstanceOf(a)}),it("should return the correct response",()=>{const e={data:Uint8Array.from([1,...Array(32).fill(2),...Array(32).fill(3)]),statusCode:Uint8Array.from([144,0])},r=new s().parseResponse(e);o(r)?expect(r.data.extract()).toEqual({r:"0x0202020202020202020202020202020202020202020202020202020202020202",s:"0x0303030303030303030303030303030303030303030303030303030303030303",v:1}):assert.fail("Expected a success")}),it("should return an error if v is not valid",()=>{const e={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},r=new s().parseResponse(e);o(r)?assert.fail("Expected an error"):(expect(r.error).toBeInstanceOf(n),expect(r.error.originalError).toEqual(new Error("V is missing")))}),it("should return an error if r is not valid",()=>{const e={data:Uint8Array.from([1,...Array(20).fill(2)]),statusCode:Uint8Array.from([144,0])},r=new s().parseResponse(e);o(r)?assert.fail("Expected an error"):(expect(r.error).toBeInstanceOf(n),expect(r.error.originalError).toEqual(new Error("R is missing")))}),it("should return an error if s is not valid",()=>{const e={data:Uint8Array.from([1,...Array(32).fill(2),...Array(20).fill(2)]),statusCode:Uint8Array.from([144,0])},r=new s().parseResponse(e);o(r)?assert.fail("Expected an error"):(expect(r.error).toBeInstanceOf(n),expect(r.error.originalError).toEqual(new Error("S is missing")))})})});
2
2
  //# sourceMappingURL=StartTransactionCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/app-binder/command/StartTransactionCommand.test.ts"],
4
- "sourcesContent": ["import {\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { EthAppCommandError } from \"./utils/ethAppErrors\";\nimport { StartTransactionCommand } from \"./StartTransactionCommand\";\n\ndescribe(\"StartTransactionCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // WHEN\n const command = new StartTransactionCommand();\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x04, 0x00, 0x02, 0x00]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(EthAppCommandError);\n }\n });\n\n it(\"should return the correct response\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x01,\n ...Array<number>(32).fill(0x02),\n ...Array<number>(32).fill(0x03),\n ]), // Some data\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data.extract()).toEqual({\n r: \"0x0202020202020202020202020202020202020202020202020202020202020202\",\n s: \"0x0303030303030303030303030303030303030303030303030303030303030303\",\n v: 1,\n });\n } else {\n fail(\"Expected a success\");\n }\n });\n\n it(\"should return an error if v is not valid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]), // No data\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(new Error(\"V is missing\"));\n }\n });\n\n it(\"should return an error if r is not valid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x01, ...Array<number>(20).fill(0x02)]), // Invalid r\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(new Error(\"R is missing\"));\n }\n });\n\n it(\"should return an error if s is not valid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x01,\n ...Array<number>(32).fill(0x02),\n ...Array<number>(20).fill(0x02),\n ]), // Invalid s\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n fail(\"Expected an error\");\n } else {\n expect(result.error).toBeInstanceOf(InvalidStatusWordError);\n expect(result.error.originalError).toEqual(new Error(\"S is missing\"));\n }\n });\n });\n});\n"],
5
- "mappings": "AAAA,OACE,0BAAAA,EACA,0BAAAC,MACK,kCAEP,OAAS,sBAAAC,MAA0B,uBACnC,OAAS,2BAAAC,MAA+B,4BAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAGrC,MAAMC,EADU,IAAID,EAAwB,EACvB,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAChD,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMC,EAAW,CACf,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,KAAK,mBAAmB,EAExB,OAAOA,EAAO,KAAK,EAAE,eAAeJ,CAAkB,CAE1D,CAAC,EAED,GAAG,qCAAsC,IAAM,CAE7C,MAAMG,EAAW,CACf,KAAM,WAAW,KAAK,CACpB,EACA,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,EAC9B,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,CAChC,CAAC,EACD,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,OAAOA,EAAO,KAAK,QAAQ,CAAC,EAAE,QAAQ,CACpC,EAAG,qEACH,EAAG,qEACH,EAAG,CACL,CAAC,EAED,KAAK,oBAAoB,CAE7B,CAAC,EAED,GAAG,2CAA4C,IAAM,CAEnD,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,KAAK,mBAAmB,GAExB,OAAOA,EAAO,KAAK,EAAE,eAAeN,CAAsB,EAC1D,OAAOM,EAAO,MAAM,aAAa,EAAE,QAAQ,IAAI,MAAM,cAAc,CAAC,EAExE,CAAC,EAED,GAAG,2CAA4C,IAAM,CAEnD,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CAAC,EAAM,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,CAAC,CAAC,EAC7D,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,KAAK,mBAAmB,GAExB,OAAOA,EAAO,KAAK,EAAE,eAAeN,CAAsB,EAC1D,OAAOM,EAAO,MAAM,aAAa,EAAE,QAAQ,IAAI,MAAM,cAAc,CAAC,EAExE,CAAC,EAED,GAAG,2CAA4C,IAAM,CAEnD,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CACpB,EACA,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,EAC9B,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,CAChC,CAAC,EACD,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,KAAK,mBAAmB,GAExB,OAAOA,EAAO,KAAK,EAAE,eAAeN,CAAsB,EAC1D,OAAOM,EAAO,MAAM,aAAa,EAAE,QAAQ,IAAI,MAAM,cAAc,CAAC,EAExE,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import {\n InvalidStatusWordError,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { EthAppCommandError } from \"./utils/ethAppErrors\";\nimport { StartTransactionCommand } from \"./StartTransactionCommand\";\n\ndescribe(\"StartTransactionCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // WHEN\n const command = new StartTransactionCommand();\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x04, 0x00, 0x02, 0x00]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\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(EthAppCommandError);\n }\n });\n\n it(\"should return the correct response\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x01,\n ...Array<number>(32).fill(0x02),\n ...Array<number>(32).fill(0x03),\n ]), // Some data\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data.extract()).toEqual({\n r: \"0x0202020202020202020202020202020202020202020202020202020202020202\",\n s: \"0x0303030303030303030303030303030303030303030303030303030303030303\",\n v: 1,\n });\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return an error if v is not valid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([]), // No data\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\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(new Error(\"V is missing\"));\n }\n });\n\n it(\"should return an error if r is not valid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([0x01, ...Array<number>(20).fill(0x02)]), // Invalid r\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\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(new Error(\"R is missing\"));\n }\n });\n\n it(\"should return an error if s is not valid\", () => {\n // GIVEN\n const response = {\n data: Uint8Array.from([\n 0x01,\n ...Array<number>(32).fill(0x02),\n ...Array<number>(20).fill(0x02),\n ]), // Invalid s\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new StartTransactionCommand();\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(new Error(\"S is missing\"));\n }\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OACE,0BAAAA,EACA,0BAAAC,MACK,kCAEP,OAAS,sBAAAC,MAA0B,uBACnC,OAAS,2BAAAC,MAA+B,4BAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAGrC,MAAMC,EADU,IAAID,EAAwB,EACvB,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAChD,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMC,EAAW,CACf,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,OAAO,KAAK,mBAAmB,EAE/B,OAAOA,EAAO,KAAK,EAAE,eAAeJ,CAAkB,CAE1D,CAAC,EAED,GAAG,qCAAsC,IAAM,CAE7C,MAAMG,EAAW,CACf,KAAM,WAAW,KAAK,CACpB,EACA,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,EAC9B,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,CAChC,CAAC,EACD,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,OAAOA,EAAO,KAAK,QAAQ,CAAC,EAAE,QAAQ,CACpC,EAAG,qEACH,EAAG,qEACH,EAAG,CACL,CAAC,EAED,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,2CAA4C,IAAM,CAEnD,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,OAAO,KAAK,mBAAmB,GAE/B,OAAOA,EAAO,KAAK,EAAE,eAAeN,CAAsB,EAC1D,OAAOM,EAAO,MAAM,aAAa,EAAE,QAAQ,IAAI,MAAM,cAAc,CAAC,EAExE,CAAC,EAED,GAAG,2CAA4C,IAAM,CAEnD,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CAAC,EAAM,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,CAAC,CAAC,EAC7D,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,OAAO,KAAK,mBAAmB,GAE/B,OAAOA,EAAO,KAAK,EAAE,eAAeN,CAAsB,EAC1D,OAAOM,EAAO,MAAM,aAAa,EAAE,QAAQ,IAAI,MAAM,cAAc,CAAC,EAExE,CAAC,EAED,GAAG,2CAA4C,IAAM,CAEnD,MAAMD,EAAW,CACf,KAAM,WAAW,KAAK,CACpB,EACA,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,EAC9B,GAAG,MAAc,EAAE,EAAE,KAAK,CAAI,CAChC,CAAC,EACD,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAIMC,EADU,IAAIH,EAAwB,EACrB,cAAcE,CAAQ,EAGzCJ,EAAuBK,CAAM,EAC/B,OAAO,KAAK,mBAAmB,GAE/B,OAAOA,EAAO,KAAK,EAAE,eAAeN,CAAsB,EAC1D,OAAOM,EAAO,MAAM,aAAa,EAAE,QAAQ,IAAI,MAAM,cAAc,CAAC,EAExE,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["InvalidStatusWordError", "isSuccessCommandResult", "EthAppCommandError", "StartTransactionCommand", "apdu", "response", "result"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{ApduBuilder as t,ApduParser as n,CommandResultFactory as o}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as p}from"@ledgerhq/signer-utils";import{Maybe as d}from"purify-ts";import{ETH_APP_ERRORS as a,EthAppCommandErrorFactory as m}from"../../app-binder/command/utils/ethAppErrors";class c{errorHelper=new p(a,m);constructor(){}getApdu(){const e={cla:224,ins:50,p1:1,p2:0};return new t(e).build()}parseResponse(e){return d.fromNullable(this.errorHelper.getError(e)).orDefaultLazy(()=>{const r=new n(e).extract8BitUInt();return r===void 0?o({data:{enabled:!1}}):o({data:{enabled:r!==0}})})}}export{c as Web3CheckOptInCommand};
2
+ //# sourceMappingURL=Web3CheckOptInCommand.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/Web3CheckOptInCommand.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} 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 \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport type Web3CheckOptInCommandResponse = {\n enabled: boolean;\n};\n\n/**\n * The command that trigger web3check opt-in on device.\n */\nexport class Web3CheckOptInCommand\n implements Command<Web3CheckOptInCommandResponse, void, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<\n Web3CheckOptInCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor() {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x32,\n p1: 0x01,\n p2: 0x00,\n };\n\n return new ApduBuilder(apduBuilderArgs).build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<Web3CheckOptInCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const enabled = new ApduParser(response).extract8BitUInt();\n if (enabled === undefined) {\n return CommandResultFactory({ data: { enabled: false } });\n }\n return CommandResultFactory({ data: { enabled: enabled !== 0 } });\n });\n }\n}\n"],
5
+ "mappings": "AAAA,OAEE,eAAAA,EAEA,cAAAC,EAIA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,kDASA,MAAMC,CAEb,CACmB,YAAc,IAAIJ,EAGjCE,EAAgBC,CAAyB,EAE3C,aAAc,CAAC,CAEf,SAAgB,CACd,MAAME,EAAmC,CACvC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,CACN,EAEA,OAAO,IAAIR,EAAYQ,CAAe,EAAE,MAAM,CAChD,CAEA,cACEC,EAC6D,CAC7D,OAAOL,EAAM,aACX,KAAK,YAAY,SAASK,CAAQ,CACpC,EAAE,cAAc,IAAM,CACpB,MAAMC,EAAU,IAAIT,EAAWQ,CAAQ,EAAE,gBAAgB,EACzD,OAAIC,IAAY,OACPR,EAAqB,CAAE,KAAM,CAAE,QAAS,EAAM,CAAE,CAAC,EAEnDA,EAAqB,CAAE,KAAM,CAAE,QAASQ,IAAY,CAAE,CAAE,CAAC,CAClE,CAAC,CACH,CACF",
6
+ "names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "Web3CheckOptInCommand", "apduBuilderArgs", "response", "enabled"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{isSuccessCommandResult as r}from"@ledgerhq/device-management-kit";import{Web3CheckOptInCommand as s}from"../../app-binder/command/Web3CheckOptInCommand";describe("Web3CheckOptInCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU",()=>{const e=new s().getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,50,1,0,0]))})}),describe("parseResponse",()=>{it("should return true",()=>{const t={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([1])},e=new s().parseResponse(t);r(e)?expect(e.data).toStrictEqual({enabled:!0}):assert.fail("Expected a success")}),it("should return false",()=>{const t={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([0])},e=new s().parseResponse(t);r(e)?expect(e.data).toStrictEqual({enabled:!1}):assert.fail("Expected a success")}),it("should return false if missing",()=>{const t={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([])},e=new s().parseResponse(t);r(e)?expect(e.data).toStrictEqual({enabled:!1}):assert.fail("Expected a success")}),it("should return an error if the device is locked",()=>{const t={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},e=new s().parseResponse(t);r(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"5515",message:"Device is locked."}))})})});
2
+ //# sourceMappingURL=Web3CheckOptInCommand.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/app-binder/command/Web3CheckOptInCommand.test.ts"],
4
+ "sourcesContent": ["import { isSuccessCommandResult } from \"@ledgerhq/device-management-kit\";\n\nimport { Web3CheckOptInCommand } from \"@internal/app-binder/command/Web3CheckOptInCommand\";\n\ndescribe(\"Web3CheckOptInCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // GIVEN\n const command = new Web3CheckOptInCommand();\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x32, 0x01, 0x00, 0x00]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return true\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x01]),\n };\n\n // WHEN\n const result = new Web3CheckOptInCommand().parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toStrictEqual({ enabled: true });\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return false\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([0x00]),\n };\n\n // WHEN\n const result = new Web3CheckOptInCommand().parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toStrictEqual({ enabled: false });\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return false if missing\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n };\n\n // WHEN\n const result = new Web3CheckOptInCommand().parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toStrictEqual({ enabled: false });\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 = new Web3CheckOptInCommand().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});\n"],
5
+ "mappings": "AAAA,OAAS,0BAAAA,MAA8B,kCAEvC,OAAS,yBAAAC,MAA6B,qDAEtC,SAAS,wBAAyB,IAAM,CACtC,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAKrC,MAAMC,EAHU,IAAID,EAAsB,EAGrB,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,CAAI,CAAC,CAChD,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,qBAAsB,IAAM,CAE7B,MAAMC,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAI,CAAC,CAC7B,EAGMC,EAAS,IAAIH,EAAsB,EAAE,cAAcE,CAAQ,EAG7DH,EAAuBI,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,cAAc,CAAE,QAAS,EAAK,CAAC,EAEnD,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,sBAAuB,IAAM,CAE9B,MAAMD,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAI,CAAC,CAC7B,EAGMC,EAAS,IAAIH,EAAsB,EAAE,cAAcE,CAAQ,EAG7DH,EAAuBI,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,cAAc,CAAE,QAAS,EAAM,CAAC,EAEpD,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,iCAAkC,IAAM,CAEzC,MAAMD,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,EAGMC,EAAS,IAAIH,EAAsB,EAAE,cAAcE,CAAQ,EAG7DH,EAAuBI,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,cAAc,CAAE,QAAS,EAAM,CAAC,EAEpD,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMD,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAAS,IAAIH,EAAsB,EAAE,cAAcE,CAAQ,EAG7DH,EAAuBI,CAAM,EAC/B,OAAO,KAAK,mBAAmB,EAE/B,OAAOA,EAAO,KAAK,EAAE,QACnB,OAAO,iBAAiB,CACtB,UAAW,OACX,QAAS,mBACX,CAAC,CACH,CAEJ,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["isSuccessCommandResult", "Web3CheckOptInCommand", "apdu", "response", "result"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{DeviceExchangeError as t}from"@ledgerhq/device-management-kit";import{ETH_APP_ERRORS as c,EthAppCommandError as s}from"./ethAppErrors";describe("EthAppCommandError",()=>{afterEach(()=>{jest.resetAllMocks()}),afterAll(()=>{jest.resetModules()}),it("should be an instance of DeviceExchangeError",()=>{const e=new s({message:"Test error message",errorCode:"6985"});expect(e).toBeInstanceOf(t)}),it("should set the correct message when provided",()=>{const e="Custom error message",r=new s({message:e,errorCode:"6985"});expect(r.message).toBe(e)}),it("should set the correct customErrorCode",()=>{const e="6a80",r=new s({message:"Invalid data",errorCode:e});expect(r.errorCode).toBe(e)}),it("should correlate error codes with messages from ethereumAppErrors",()=>{const e="6e00",r=c[e].message,o=new s({message:r,errorCode:e});expect(o.errorCode).toBe(e),expect(o.message).toBe(r),expect(o).toBeInstanceOf(t)}),it("should handle unknown error codes gracefully",()=>{const e="9999",r="Unknown error occurred",o=new s({message:r,errorCode:e});expect(o.errorCode).toBe(e),expect(o.message).toBe(r),expect(o).toBeInstanceOf(t)})});
1
+ import{DeviceExchangeError as t}from"@ledgerhq/device-management-kit";import{ETH_APP_ERRORS as c,EthAppCommandError as s}from"./ethAppErrors";describe("EthAppCommandError",()=>{afterEach(()=>{vi.resetAllMocks()}),afterAll(()=>{vi.resetModules()}),it("should be an instance of DeviceExchangeError",()=>{const e=new s({message:"Test error message",errorCode:"6985"});expect(e).toBeInstanceOf(t)}),it("should set the correct message when provided",()=>{const e="Custom error message",r=new s({message:e,errorCode:"6985"});expect(r.message).toBe(e)}),it("should set the correct customErrorCode",()=>{const e="6a80",r=new s({message:"Invalid data",errorCode:e});expect(r.errorCode).toBe(e)}),it("should correlate error codes with messages from ethereumAppErrors",()=>{const e="6e00",r=c[e].message,o=new s({message:r,errorCode:e});expect(o.errorCode).toBe(e),expect(o.message).toBe(r),expect(o).toBeInstanceOf(t)}),it("should handle unknown error codes gracefully",()=>{const e="9999",r="Unknown error occurred",o=new s({message:r,errorCode:e});expect(o.errorCode).toBe(e),expect(o.message).toBe(r),expect(o).toBeInstanceOf(t)})});
2
2
  //# sourceMappingURL=ethAppErrors.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/app-binder/command/utils/ethAppErrors.test.ts"],
4
- "sourcesContent": ["import { DeviceExchangeError } from \"@ledgerhq/device-management-kit\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandError,\n type EthErrorCodes,\n} from \"./ethAppErrors\";\n\ndescribe(\"EthAppCommandError\", () => {\n afterEach(() => {\n jest.resetAllMocks();\n });\n\n afterAll(() => {\n jest.resetModules();\n });\n\n it(\"should be an instance of DeviceExchangeError\", () => {\n const error = new EthAppCommandError({\n message: \"Test error message\",\n errorCode: \"6985\",\n });\n\n expect(error).toBeInstanceOf(DeviceExchangeError);\n });\n\n it(\"should set the correct message when provided\", () => {\n const customMessage = \"Custom error message\";\n const error = new EthAppCommandError({\n message: customMessage,\n errorCode: \"6985\",\n });\n\n expect(error.message).toBe(customMessage);\n });\n\n it(\"should set the correct customErrorCode\", () => {\n const errorCode: EthErrorCodes = \"6a80\";\n const error = new EthAppCommandError({\n message: \"Invalid data\",\n errorCode,\n });\n\n expect(error.errorCode).toBe(errorCode);\n });\n\n it(\"should correlate error codes with messages from ethereumAppErrors\", () => {\n const errorCode: EthErrorCodes = \"6e00\";\n const expectedMessage = ETH_APP_ERRORS[errorCode].message;\n\n const error = new EthAppCommandError({\n message: expectedMessage,\n errorCode,\n });\n\n expect(error.errorCode).toBe(errorCode);\n expect(error.message).toBe(expectedMessage);\n\n expect(error).toBeInstanceOf(DeviceExchangeError);\n });\n\n it(\"should handle unknown error codes gracefully\", () => {\n const unknownErrorCode = \"9999\" as EthErrorCodes;\n const customMessage = \"Unknown error occurred\";\n\n const error = new EthAppCommandError({\n message: customMessage,\n errorCode: unknownErrorCode,\n });\n\n expect(error.errorCode).toBe(unknownErrorCode);\n expect(error.message).toBe(customMessage);\n expect(error).toBeInstanceOf(DeviceExchangeError);\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,uBAAAA,MAA2B,kCAEpC,OACE,kBAAAC,EACA,sBAAAC,MAEK,iBAEP,SAAS,qBAAsB,IAAM,CACnC,UAAU,IAAM,CACd,KAAK,cAAc,CACrB,CAAC,EAED,SAAS,IAAM,CACb,KAAK,aAAa,CACpB,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,MAAMC,EAAQ,IAAID,EAAmB,CACnC,QAAS,qBACT,UAAW,MACb,CAAC,EAED,OAAOC,CAAK,EAAE,eAAeH,CAAmB,CAClD,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,MAAMI,EAAgB,uBAChBD,EAAQ,IAAID,EAAmB,CACnC,QAASE,EACT,UAAW,MACb,CAAC,EAED,OAAOD,EAAM,OAAO,EAAE,KAAKC,CAAa,CAC1C,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjD,MAAMC,EAA2B,OAC3BF,EAAQ,IAAID,EAAmB,CACnC,QAAS,eACT,UAAAG,CACF,CAAC,EAED,OAAOF,EAAM,SAAS,EAAE,KAAKE,CAAS,CACxC,CAAC,EAED,GAAG,oEAAqE,IAAM,CAC5E,MAAMA,EAA2B,OAC3BC,EAAkBL,EAAeI,CAAS,EAAE,QAE5CF,EAAQ,IAAID,EAAmB,CACnC,QAASI,EACT,UAAAD,CACF,CAAC,EAED,OAAOF,EAAM,SAAS,EAAE,KAAKE,CAAS,EACtC,OAAOF,EAAM,OAAO,EAAE,KAAKG,CAAe,EAE1C,OAAOH,CAAK,EAAE,eAAeH,CAAmB,CAClD,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,MAAMO,EAAmB,OACnBH,EAAgB,yBAEhBD,EAAQ,IAAID,EAAmB,CACnC,QAASE,EACT,UAAWG,CACb,CAAC,EAED,OAAOJ,EAAM,SAAS,EAAE,KAAKI,CAAgB,EAC7C,OAAOJ,EAAM,OAAO,EAAE,KAAKC,CAAa,EACxC,OAAOD,CAAK,EAAE,eAAeH,CAAmB,CAClD,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { DeviceExchangeError } from \"@ledgerhq/device-management-kit\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandError,\n type EthErrorCodes,\n} from \"./ethAppErrors\";\n\ndescribe(\"EthAppCommandError\", () => {\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n afterAll(() => {\n vi.resetModules();\n });\n\n it(\"should be an instance of DeviceExchangeError\", () => {\n const error = new EthAppCommandError({\n message: \"Test error message\",\n errorCode: \"6985\",\n });\n\n expect(error).toBeInstanceOf(DeviceExchangeError);\n });\n\n it(\"should set the correct message when provided\", () => {\n const customMessage = \"Custom error message\";\n const error = new EthAppCommandError({\n message: customMessage,\n errorCode: \"6985\",\n });\n\n expect(error.message).toBe(customMessage);\n });\n\n it(\"should set the correct customErrorCode\", () => {\n const errorCode: EthErrorCodes = \"6a80\";\n const error = new EthAppCommandError({\n message: \"Invalid data\",\n errorCode,\n });\n\n expect(error.errorCode).toBe(errorCode);\n });\n\n it(\"should correlate error codes with messages from ethereumAppErrors\", () => {\n const errorCode: EthErrorCodes = \"6e00\";\n const expectedMessage = ETH_APP_ERRORS[errorCode].message;\n\n const error = new EthAppCommandError({\n message: expectedMessage,\n errorCode,\n });\n\n expect(error.errorCode).toBe(errorCode);\n expect(error.message).toBe(expectedMessage);\n\n expect(error).toBeInstanceOf(DeviceExchangeError);\n });\n\n it(\"should handle unknown error codes gracefully\", () => {\n const unknownErrorCode = \"9999\" as EthErrorCodes;\n const customMessage = \"Unknown error occurred\";\n\n const error = new EthAppCommandError({\n message: customMessage,\n errorCode: unknownErrorCode,\n });\n\n expect(error.errorCode).toBe(unknownErrorCode);\n expect(error.message).toBe(customMessage);\n expect(error).toBeInstanceOf(DeviceExchangeError);\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,uBAAAA,MAA2B,kCAEpC,OACE,kBAAAC,EACA,sBAAAC,MAEK,iBAEP,SAAS,qBAAsB,IAAM,CACnC,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,IAAM,CACb,GAAG,aAAa,CAClB,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,MAAMC,EAAQ,IAAID,EAAmB,CACnC,QAAS,qBACT,UAAW,MACb,CAAC,EAED,OAAOC,CAAK,EAAE,eAAeH,CAAmB,CAClD,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,MAAMI,EAAgB,uBAChBD,EAAQ,IAAID,EAAmB,CACnC,QAASE,EACT,UAAW,MACb,CAAC,EAED,OAAOD,EAAM,OAAO,EAAE,KAAKC,CAAa,CAC1C,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjD,MAAMC,EAA2B,OAC3BF,EAAQ,IAAID,EAAmB,CACnC,QAAS,eACT,UAAAG,CACF,CAAC,EAED,OAAOF,EAAM,SAAS,EAAE,KAAKE,CAAS,CACxC,CAAC,EAED,GAAG,oEAAqE,IAAM,CAC5E,MAAMA,EAA2B,OAC3BC,EAAkBL,EAAeI,CAAS,EAAE,QAE5CF,EAAQ,IAAID,EAAmB,CACnC,QAASI,EACT,UAAAD,CACF,CAAC,EAED,OAAOF,EAAM,SAAS,EAAE,KAAKE,CAAS,EACtC,OAAOF,EAAM,OAAO,EAAE,KAAKG,CAAe,EAE1C,OAAOH,CAAK,EAAE,eAAeH,CAAmB,CAClD,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,MAAMO,EAAmB,OACnBH,EAAgB,yBAEhBD,EAAQ,IAAID,EAAmB,CACnC,QAASE,EACT,UAAWG,CACb,CAAC,EAED,OAAOJ,EAAM,SAAS,EAAE,KAAKI,CAAgB,EAC7C,OAAOJ,EAAM,OAAO,EAAE,KAAKC,CAAa,EACxC,OAAOD,CAAK,EAAE,eAAeH,CAAmB,CAClD,CAAC,CACH,CAAC",
6
6
  "names": ["DeviceExchangeError", "ETH_APP_ERRORS", "EthAppCommandError", "error", "customMessage", "errorCode", "expectedMessage", "unknownErrorCode"]
7
7
  }