@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/di/messageModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\n\nexport const messageModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(messageTypes.SignMessageUseCase).to(SignMessageUseCase);\n },\n );\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6B,6CAC7BC,EAAmC,yDAE5B,MAAMJ,EAAuB,IAClC,IAAI,kBACF,CACEK,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAK,eAAa,kBAAkB,EAAE,GAAG,oBAAkB,CAC7D,CACF",
6
- "names": ["messageModule_exports", "__export", "messageModuleFactory", "__toCommonJS", "import_inversify", "import_messageTypes", "import_SignMessageUseCase", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { messageTypes } from \"@internal/message/di/messageTypes\";\nimport { SignMessageUseCase } from \"@internal/message/use-case/SignMessageUseCase\";\n\nexport const messageModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(messageTypes.SignMessageUseCase).to(SignMessageUseCase);\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA6B,6CAC7BC,EAAmC,yDAE5B,MAAMJ,EAAuB,IAClC,IAAI,kBAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAK,eAAa,kBAAkB,EAAE,GAAG,oBAAkB,CAC7D,CAAC",
6
+ "names": ["messageModule_exports", "__export", "messageModuleFactory", "__toCommonJS", "import_inversify", "import_messageTypes", "import_SignMessageUseCase", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("inversify"),r=require("./messageModule");describe("messageModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=(0,r.messageModuleFactory)(),o=new t.Container,o.load(e)}),it("should return the message module",()=>{expect(e).toBeDefined()})})});
1
+ "use strict";var t=require("inversify"),r=require("./messageModule");describe("messageModuleFactory",()=>{describe("Default",()=>{let o,e;beforeEach(()=>{e=(0,r.messageModuleFactory)(),o=new t.Container,o.loadSync(e)}),it("should return the message module",()=>{expect(e).toBeDefined()})})});
2
2
  //# sourceMappingURL=messageModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/di/messageModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { messageModuleFactory } from \"./messageModule\";\n\ndescribe(\"messageModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof messageModuleFactory>;\n beforeEach(() => {\n mod = messageModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the message module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAqC,2BAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,wBAAqB,EAC3BD,EAAY,IAAI,YAChBA,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { messageModuleFactory } from \"./messageModule\";\n\ndescribe(\"messageModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof messageModuleFactory>;\n beforeEach(() => {\n mod = messageModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the message module\", () => {\n expect(mod).toBeDefined();\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAqC,2BAErC,SAAS,uBAAwB,IAAM,CACrC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,wBAAqB,EAC3BD,EAAY,IAAI,YAChBA,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_inversify", "import_messageModule", "container", "mod"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var u=(p,r)=>{for(var i in r)o(p,i,{get:r[i],enumerable:!0})},f=(p,r,i,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of h(r))!l.call(p,t)&&t!==i&&o(p,t,{get:()=>r[t],enumerable:!(n=B(r,t))||n.enumerable});return p};var y=p=>f(o({},"__esModule",{value:!0}),p),A=(p,r,i,n)=>{for(var t=n>1?void 0:n?B(r,i):r,d=p.length-1,m;d>=0;d--)(m=p[d])&&(t=(n?m(r,i,t):m(t))||t);return n&&t&&o(r,i,t),t},c=(p,r)=>(i,n)=>r(i,n,p);var g={};u(g,{SignMessageUseCase:()=>e});module.exports=y(g);var a=require("inversify"),s=require("../../app-binder/di/appBinderTypes");let e=class{_appBinder;constructor(r){this._appBinder=r}execute(r,i){return this._appBinder.signPersonalMessage({derivationPath:r,message:i})}};e=A([(0,a.injectable)(),c(0,(0,a.inject)(s.appBinderTypes.AppBinding))],e);0&&(module.exports={SignMessageUseCase});
1
+ "use strict";var o=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var g=(r,p)=>{for(var e in p)o(r,e,{get:p[e],enumerable:!0})},h=(r,p,e,n)=>{if(p&&typeof p=="object"||typeof p=="function")for(let i of f(p))!l.call(r,i)&&i!==e&&o(r,i,{get:()=>p[i],enumerable:!(n=A(p,i))||n.enumerable});return r};var u=r=>h(o({},"__esModule",{value:!0}),r),d=(r,p,e,n)=>{for(var i=n>1?void 0:n?A(p,e):p,a=r.length-1,m;a>=0;a--)(m=r[a])&&(i=(n?m(p,e,i):m(i))||i);return n&&i&&o(p,e,i),i},B=(r,p)=>(e,n)=>p(e,n,r);var y={};g(y,{SignMessageUseCase:()=>t});module.exports=u(y);var s=require("inversify"),c=require("../../app-binder/di/appBinderTypes");let t=class{_appBinder;constructor(p){this._appBinder=p}execute(p,e,n){return this._appBinder.signPersonalMessage({derivationPath:p,message:e,skipOpenApp:n?.skipOpenApp??!1})}};t=d([(0,s.injectable)(),B(0,(0,s.inject)(c.appBinderTypes.AppBinding))],t);0&&(module.exports={SignMessageUseCase});
2
2
  //# sourceMappingURL=SignMessageUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/use-case/SignMessageUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\n@injectable()\nexport class SignMessageUseCase {\n private _appBinder: EthAppBinder;\n\n constructor(\n @inject(appBinderTypes.AppBinding)\n appBinding: EthAppBinder,\n ) {\n this._appBinder = appBinding;\n }\n\n execute(\n derivationPath: string,\n message: string | Uint8Array,\n ): SignPersonalMessageDAReturnType {\n // 1- Sign the transaction using the app binding\n return this._appBinder.signPersonalMessage({\n derivationPath,\n message,\n });\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAGnCC,EAA+B,kDAIxB,IAAMC,EAAN,KAAyB,CACtB,WAER,YAEEC,EACA,CACA,KAAK,WAAaA,CACpB,CAEA,QACEC,EACAC,EACiC,CAEjC,OAAO,KAAK,WAAW,oBAAoB,CACzC,eAAAD,EACA,QAAAC,CACF,CAAC,CACH,CACF,EApBaH,EAANI,EAAA,IADN,cAAW,EAKPC,EAAA,eAAO,iBAAe,UAAU,IAJxBL",
6
- "names": ["SignMessageUseCase_exports", "__export", "SignMessageUseCase", "__toCommonJS", "import_inversify", "import_appBinderTypes", "SignMessageUseCase", "appBinding", "derivationPath", "message", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { SignPersonalMessageDAReturnType } from \"@api/app-binder/SignPersonalMessageDeviceActionTypes\";\nimport { MessageOptions } from \"@api/model/MessageOptions\";\nimport { appBinderTypes } from \"@internal/app-binder/di/appBinderTypes\";\nimport { EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\n@injectable()\nexport class SignMessageUseCase {\n private _appBinder: EthAppBinder;\n\n constructor(\n @inject(appBinderTypes.AppBinding)\n appBinding: EthAppBinder,\n ) {\n this._appBinder = appBinding;\n }\n\n execute(\n derivationPath: string,\n message: string | Uint8Array,\n options?: MessageOptions,\n ): SignPersonalMessageDAReturnType {\n // 1- Sign the transaction using the app binding\n return this._appBinder.signPersonalMessage({\n derivationPath,\n message,\n skipOpenApp: options?.skipOpenApp ?? false,\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAInCC,EAA+B,kDAIxB,IAAMC,EAAN,KAAyB,CACtB,WAER,YAEEC,EACA,CACA,KAAK,WAAaA,CACpB,CAEA,QACEC,EACAC,EACAC,EACiC,CAEjC,OAAO,KAAK,WAAW,oBAAoB,CACzC,eAAAF,EACA,QAAAC,EACA,YAAaC,GAAS,aAAe,EACvC,CAAC,CACH,CACF,EAtBaJ,EAANK,EAAA,IADN,cAAW,EAKPC,EAAA,eAAO,iBAAe,UAAU,IAJxBN",
6
+ "names": ["SignMessageUseCase_exports", "__export", "SignMessageUseCase", "__toCommonJS", "import_inversify", "import_appBinderTypes", "SignMessageUseCase", "appBinding", "derivationPath", "message", "options", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var a=require("./SignMessageUseCase");describe("SignMessageUseCase",()=>{it("should call signPersonalMessage on appBinder with the correct arguments",()=>{const e="44'/501'/0'/0'",s="Hello world",n={signPersonalMessage:jest.fn()};new a.SignMessageUseCase(n).execute(e,s),expect(n.signPersonalMessage).toHaveBeenCalledWith({derivationPath:e,message:s})})});
1
+ "use strict";var a=require("./SignMessageUseCase");describe("SignMessageUseCase",()=>{it("should call signPersonalMessage on appBinder with the correct arguments",()=>{const e="44'/501'/0'/0'",s="Hello world",n={signPersonalMessage:vi.fn()};new a.SignMessageUseCase(n).execute(e,s),expect(n.signPersonalMessage).toHaveBeenCalledWith({derivationPath:e,message:s,skipOpenApp:!1})})});
2
2
  //# sourceMappingURL=SignMessageUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/message/use-case/SignMessageUseCase.test.ts"],
4
- "sourcesContent": ["import { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\nimport { SignMessageUseCase } from \"./SignMessageUseCase\";\n\ndescribe(\"SignMessageUseCase\", () => {\n it(\"should call signPersonalMessage on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"44'/501'/0'/0'\";\n const message = \"Hello world\";\n const appBinder = {\n signPersonalMessage: jest.fn(),\n };\n const signMessageUseCase = new SignMessageUseCase(\n appBinder as unknown as EthAppBinder,\n );\n\n // When\n signMessageUseCase.execute(derivationPath, message);\n\n // Then\n expect(appBinder.signPersonalMessage).toHaveBeenCalledWith({\n derivationPath,\n message,\n });\n });\n});\n"],
5
- "mappings": "aAEA,IAAAA,EAAmC,gCAEnC,SAAS,qBAAsB,IAAM,CACnC,GAAG,0EAA2E,IAAM,CAElF,MAAMC,EAAiB,iBACjBC,EAAU,cACVC,EAAY,CAChB,oBAAqB,KAAK,GAAG,CAC/B,EAC2B,IAAI,qBAC7BA,CACF,EAGmB,QAAQF,EAAgBC,CAAO,EAGlD,OAAOC,EAAU,mBAAmB,EAAE,qBAAqB,CACzD,eAAAF,EACA,QAAAC,CACF,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type EthAppBinder } from \"@internal/app-binder/EthAppBinder\";\n\nimport { SignMessageUseCase } from \"./SignMessageUseCase\";\n\ndescribe(\"SignMessageUseCase\", () => {\n it(\"should call signPersonalMessage on appBinder with the correct arguments\", () => {\n // Given\n const derivationPath = \"44'/501'/0'/0'\";\n const message = \"Hello world\";\n const appBinder = {\n signPersonalMessage: vi.fn(),\n };\n const signMessageUseCase = new SignMessageUseCase(\n appBinder as unknown as EthAppBinder,\n );\n\n // When\n signMessageUseCase.execute(derivationPath, message);\n\n // Then\n expect(appBinder.signPersonalMessage).toHaveBeenCalledWith({\n derivationPath,\n message,\n skipOpenApp: false,\n });\n });\n});\n"],
5
+ "mappings": "aAEA,IAAAA,EAAmC,gCAEnC,SAAS,qBAAsB,IAAM,CACnC,GAAG,0EAA2E,IAAM,CAElF,MAAMC,EAAiB,iBACjBC,EAAU,cACVC,EAAY,CAChB,oBAAqB,GAAG,GAAG,CAC7B,EAC2B,IAAI,qBAC7BA,CACF,EAGmB,QAAQF,EAAgBC,CAAO,EAGlD,OAAOC,EAAU,mBAAmB,EAAE,qBAAqB,CACzD,eAAAF,EACA,QAAAC,EACA,YAAa,EACf,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_SignMessageUseCase", "derivationPath", "message", "appBinder"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var r=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var h=(i,e)=>{for(var s in e)r(i,s,{get:e[s],enumerable:!0})},m=(i,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of a(e))!c.call(i,t)&&t!==s&&r(i,t,{get:()=>e[t],enumerable:!(n=l(e,t))||n.enumerable});return i};var d=i=>m(r({},"__esModule",{value:!0}),i);var v={};h(v,{ApplicationChecker:()=>f});module.exports=d(v);var p=require("@ledgerhq/device-management-kit"),o=require("semver");class f{isCompatible=!0;version="0.0.1";modelId;constructor(e,s){if(this.modelId=e.deviceModelId,e.sessionStateType===p.DeviceSessionStateType.Connected){this.isCompatible=!1;return}if(e.currentApp.name==="Exchange"){this.isCompatible=!1;return}else e.currentApp.name==="Ethereum"?this.version=e.currentApp.version:this.version=s.version}withMinVersionInclusive(e){return(0,o.gte)(this.version,e)||(this.isCompatible=!1),this}withMinVersionExclusive(e){return(0,o.gt)(this.version,e)||(this.isCompatible=!1),this}excludeDeviceModel(e){return this.modelId===e&&(this.isCompatible=!1),this}check(){return this.isCompatible}}0&&(module.exports={ApplicationChecker});
2
+ //# sourceMappingURL=ApplicationChecker.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/shared/utils/ApplicationChecker.ts"],
4
+ "sourcesContent": ["import {\n type DeviceModelId,\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@ledgerhq/device-management-kit\";\nimport { gt, gte } from \"semver\";\n\nimport { type GetConfigCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\n\nexport class ApplicationChecker {\n private isCompatible: boolean = true;\n private version: string = \"0.0.1\";\n private modelId: DeviceModelId;\n\n constructor(\n deviceState: DeviceSessionState,\n appConfig: GetConfigCommandResponse,\n ) {\n this.modelId = deviceState.deviceModelId;\n\n // If device is not ready or app is unexpected, checker cannot be successful\n if (deviceState.sessionStateType === DeviceSessionStateType.Connected) {\n this.isCompatible = false;\n return;\n }\n if (deviceState.currentApp.name === \"Exchange\") {\n // Advanced clear signing is not supported in exchange flows, only basic loaders\n // such as token should be provided.\n this.isCompatible = false;\n return;\n } else if (deviceState.currentApp.name === \"Ethereum\") {\n this.version = deviceState.currentApp.version;\n } else {\n // Fallback on appConfig version if a plugin is running.\n // It won't contain release candidate suffix but it should be enough for that edge case.\n // We have the garantee that currentApp is a compatible ethereum plugin since AppConfig\n // was successfully retrieved.\n this.version = appConfig.version;\n }\n }\n\n withMinVersionInclusive(version: string): ApplicationChecker {\n if (!gte(this.version, version)) {\n this.isCompatible = false;\n }\n return this;\n }\n\n withMinVersionExclusive(version: string): ApplicationChecker {\n if (!gt(this.version, version)) {\n this.isCompatible = false;\n }\n return this;\n }\n\n excludeDeviceModel(modelId: DeviceModelId): ApplicationChecker {\n if (this.modelId === modelId) {\n this.isCompatible = false;\n }\n return this;\n }\n\n check(): boolean {\n return this.isCompatible;\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAIO,2CACPC,EAAwB,kBAIjB,MAAMH,CAAmB,CACtB,aAAwB,GACxB,QAAkB,QAClB,QAER,YACEI,EACAC,EACA,CAIA,GAHA,KAAK,QAAUD,EAAY,cAGvBA,EAAY,mBAAqB,yBAAuB,UAAW,CACrE,KAAK,aAAe,GACpB,MACF,CACA,GAAIA,EAAY,WAAW,OAAS,WAAY,CAG9C,KAAK,aAAe,GACpB,MACF,MAAWA,EAAY,WAAW,OAAS,WACzC,KAAK,QAAUA,EAAY,WAAW,QAMtC,KAAK,QAAUC,EAAU,OAE7B,CAEA,wBAAwBC,EAAqC,CAC3D,SAAK,OAAI,KAAK,QAASA,CAAO,IAC5B,KAAK,aAAe,IAEf,IACT,CAEA,wBAAwBA,EAAqC,CAC3D,SAAK,MAAG,KAAK,QAASA,CAAO,IAC3B,KAAK,aAAe,IAEf,IACT,CAEA,mBAAmBC,EAA4C,CAC7D,OAAI,KAAK,UAAYA,IACnB,KAAK,aAAe,IAEf,IACT,CAEA,OAAiB,CACf,OAAO,KAAK,YACd,CACF",
6
+ "names": ["ApplicationChecker_exports", "__export", "ApplicationChecker", "__toCommonJS", "import_device_management_kit", "import_semver", "deviceState", "appConfig", "version", "modelId"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("@ledgerhq/device-management-kit"),s=require("./ApplicationChecker");describe("ApplicationChecker",()=>{function i(t){return{blindSigningEnabled:!1,web3ChecksEnabled:!1,web3ChecksOptIn:!1,version:t}}it("should pass the check for exclusive version",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.13.0-rc"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.13.0"),n=new s.ApplicationChecker(t,c).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!0)}),it("should reject the check for exchange flows",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Exchange",version:"1.13.0-rc"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.13.0"),n=new s.ApplicationChecker(t,c).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!1)}),it("should reject the check for exclusive version",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.12.0"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.12.0"),n=new s.ApplicationChecker(t,c).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!1)}),it("should pass the check for inclusive version",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.12.0"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.10.0"),n=new s.ApplicationChecker(t,c).withMinVersionInclusive("1.12.0").check();expect(n).toStrictEqual(!0)}),it("should reject the check for inclusive version",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.11.0"),n=new s.ApplicationChecker(t,c).withMinVersionInclusive("1.12.0").check();expect(n).toStrictEqual(!1)}),it("should pass the check for excluded device",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.11.0"),n=new s.ApplicationChecker(t,c).excludeDeviceModel(e.DeviceModelId.NANO_S).check();expect(n).toStrictEqual(!0)}),it("should reject the check for excluded device",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.11.0"),n=new s.ApplicationChecker(t,c).excludeDeviceModel(e.DeviceModelId.FLEX).check();expect(n).toStrictEqual(!1)}),it("should pass the check for chained condition",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.11.0"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.11.0"),n=new s.ApplicationChecker(t,c).withMinVersionInclusive("1.11.0").excludeDeviceModel(e.DeviceModelId.NANO_S).check();expect(n).toStrictEqual(!0)}),it("should reject the check for chained condition",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Ethereum",version:"1.10.0"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.10.0"),n=new s.ApplicationChecker(t,c).withMinVersionInclusive("1.11.0").excludeDeviceModel(e.DeviceModelId.NANO_S).check();expect(n).toStrictEqual(!1)}),it("should pass the check in plugins",()=>{const t={sessionStateType:e.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"1inch",version:"1.11.0-rc"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.13.0"),n=new s.ApplicationChecker(t,c).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!0)}),it("should reject the check in unknexpected state",()=>{const t={sessionStateType:e.DeviceSessionStateType.Connected,deviceStatus:e.DeviceStatus.CONNECTED,installedApps:[],currentApp:{name:"Bitcoin",version:"1.13.0-rc"},deviceModelId:e.DeviceModelId.FLEX,isSecureConnectionAllowed:!1},c=i("1.13.0"),n=new s.ApplicationChecker(t,c).withMinVersionExclusive("1.12.0").check();expect(n).toStrictEqual(!1)})});
2
+ //# sourceMappingURL=ApplicationChecker.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/internal/shared/utils/ApplicationChecker.test.ts"],
4
+ "sourcesContent": ["import {\n DeviceModelId,\n DeviceSessionStateType,\n DeviceStatus,\n} from \"@ledgerhq/device-management-kit\";\n\nimport type { GetConfigCommandResponse } from \"@api/app-binder/GetConfigCommandTypes\";\n\nimport { ApplicationChecker } from \"./ApplicationChecker\";\n\ndescribe(\"ApplicationChecker\", () => {\n function createAppConfig(version: string): GetConfigCommandResponse {\n return {\n blindSigningEnabled: false,\n web3ChecksEnabled: false,\n web3ChecksOptIn: false,\n version,\n };\n }\n\n it(\"should pass the check for exclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.13.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for exchange flows\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Exchange\", version: \"1.13.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should reject the check for exclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.12.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.12.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check for inclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.12.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.10.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for inclusive version\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check for excluded device\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .excludeDeviceModel(DeviceModelId.NANO_S)\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for excluded device\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .excludeDeviceModel(DeviceModelId.FLEX)\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check for chained condition\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.11.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.11.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.11.0\")\n .excludeDeviceModel(DeviceModelId.NANO_S)\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check for chained condition\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Ethereum\", version: \"1.10.0\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.10.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionInclusive(\"1.11.0\")\n .excludeDeviceModel(DeviceModelId.NANO_S)\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n\n it(\"should pass the check in plugins\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"1inch\", version: \"1.11.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(true);\n });\n\n it(\"should reject the check in unknexpected state\", () => {\n // GIVEN\n const state = {\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n currentApp: { name: \"Bitcoin\", version: \"1.13.0-rc\" },\n deviceModelId: DeviceModelId.FLEX,\n isSecureConnectionAllowed: false,\n };\n const config = createAppConfig(\"1.13.0\");\n // WHEN\n const result = new ApplicationChecker(state, config)\n .withMinVersionExclusive(\"1.12.0\")\n .check();\n // THEN\n expect(result).toStrictEqual(false);\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_device_management_kit", "import_ApplicationChecker", "createAppConfig", "version", "state", "config", "result"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var e=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var S=(r,o)=>{for(var n in o)e(r,n,{get:o[n],enumerable:!0})},_=(r,o,n,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of v(o))!M.call(r,a)&&a!==n&&e(r,a,{get:()=>o[a],enumerable:!(i=f(o,a))||i.enumerable});return r};var u=r=>_(e({},"__esModule",{value:!0}),r);var y={};S(y,{transactionModuleFactory:()=>d});module.exports=u(y);var s=require("inversify"),t=require("../../transaction/di/transactionTypes"),c=require("../../transaction/service/mapper/EthersRawTransactionMapper"),p=require("../../transaction/service/mapper/TransactionMapperService"),m=require("../../transaction/service/parser/TransactionParserService"),T=require("../../transaction/use-case/SignTransactionUseCase");const d=()=>new s.ContainerModule((r,o,n,i,a,C,g)=>{r(t.transactionTypes.SignTransactionUseCase).to(T.SignTransactionUseCase),r(t.transactionTypes.TransactionMapperService).to(p.TransactionMapperService),r(t.transactionTypes.TransactionParserService).to(m.TransactionParserService),r(t.transactionTypes.TransactionMappers).to(c.EthersRawTransactionMapper)});0&&(module.exports={transactionModuleFactory});
1
+ "use strict";var n=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var v=(r,o)=>{for(var e in o)n(r,e,{get:o[e],enumerable:!0})},M=(r,o,e,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of S(o))!f.call(r,a)&&a!==e&&n(r,a,{get:()=>o[a],enumerable:!(i=T(o,a))||i.enumerable});return r};var y=r=>M(n({},"__esModule",{value:!0}),r);var g={};v(g,{transactionModuleFactory:()=>C});module.exports=y(g);var s=require("inversify"),t=require("../../transaction/di/transactionTypes"),c=require("../../transaction/service/mapper/EthersTransactionMapperService"),p=require("../../transaction/service/parser/TransactionParserService"),m=require("../../transaction/use-case/SignTransactionUseCase");const C=()=>new s.ContainerModule(({bind:r})=>{r(t.transactionTypes.SignTransactionUseCase).to(m.SignTransactionUseCase),r(t.transactionTypes.TransactionMapperService).to(c.EthersTransactionMapperService),r(t.transactionTypes.TransactionParserService).to(p.TransactionParserService)});0&&(module.exports={transactionModuleFactory});
2
2
  //# sourceMappingURL=transactionModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/transaction/di/transactionModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { EthersRawTransactionMapper } from \"@internal/transaction/service/mapper/EthersRawTransactionMapper\";\nimport { TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { SignTransactionUseCase } from \"@internal/transaction/use-case/SignTransactionUseCase\";\n\nexport const transactionModuleFactory = () =>\n new ContainerModule(\n (\n bind,\n _unbind,\n _isBound,\n _rebind,\n _unbindAsync,\n _onActivation,\n _onDeactivation,\n ) => {\n bind(transactionTypes.SignTransactionUseCase).to(SignTransactionUseCase);\n bind(transactionTypes.TransactionMapperService).to(\n TransactionMapperService,\n );\n bind(transactionTypes.TransactionParserService).to(\n TransactionParserService,\n );\n bind(transactionTypes.TransactionMappers).to(EthersRawTransactionMapper);\n },\n );\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAAiC,qDACjCC,EAA2C,2EAC3CC,EAAyC,yEACzCC,EAAyC,yEACzCC,EAAuC,iEAEhC,MAAMP,EAA2B,IACtC,IAAI,kBACF,CACEQ,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IACG,CACHN,EAAK,mBAAiB,sBAAsB,EAAE,GAAG,wBAAsB,EACvEA,EAAK,mBAAiB,wBAAwB,EAAE,GAC9C,0BACF,EACAA,EAAK,mBAAiB,wBAAwB,EAAE,GAC9C,0BACF,EACAA,EAAK,mBAAiB,kBAAkB,EAAE,GAAG,4BAA0B,CACzE,CACF",
6
- "names": ["transactionModule_exports", "__export", "transactionModuleFactory", "__toCommonJS", "import_inversify", "import_transactionTypes", "import_EthersRawTransactionMapper", "import_TransactionMapperService", "import_TransactionParserService", "import_SignTransactionUseCase", "bind", "_unbind", "_isBound", "_rebind", "_unbindAsync", "_onActivation", "_onDeactivation"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\nimport { EthersTransactionMapperService } from \"@internal/transaction/service/mapper/EthersTransactionMapperService\";\nimport { type TransactionMapperService } from \"@internal/transaction/service/mapper/TransactionMapperService\";\nimport { TransactionParserService } from \"@internal/transaction/service/parser/TransactionParserService\";\nimport { SignTransactionUseCase } from \"@internal/transaction/use-case/SignTransactionUseCase\";\n\nexport const transactionModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(transactionTypes.SignTransactionUseCase).to(SignTransactionUseCase);\n bind<TransactionMapperService>(\n transactionTypes.TransactionMapperService,\n ).to(EthersTransactionMapperService);\n bind(transactionTypes.TransactionParserService).to(\n TransactionParserService,\n );\n });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAAiC,qDACjCC,EAA+C,+EAE/CC,EAAyC,yEACzCC,EAAuC,iEAEhC,MAAMN,EAA2B,IACtC,IAAI,kBAAgB,CAAC,CAAE,KAAAO,CAAK,IAAM,CAChCA,EAAK,mBAAiB,sBAAsB,EAAE,GAAG,wBAAsB,EACvEA,EACE,mBAAiB,wBACnB,EAAE,GAAG,gCAA8B,EACnCA,EAAK,mBAAiB,wBAAwB,EAAE,GAC9C,0BACF,CACF,CAAC",
6
+ "names": ["transactionModule_exports", "__export", "transactionModuleFactory", "__toCommonJS", "import_inversify", "import_transactionTypes", "import_EthersTransactionMapperService", "import_TransactionParserService", "import_SignTransactionUseCase", "bind"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=require("inversify"),a=require("./transactionModule"),r=require("./transactionTypes");describe("transactionModuleFactory",()=>{describe("Default",()=>{let t,e;beforeEach(()=>{e=(0,a.transactionModuleFactory)(),t=new o.Container,t.load(e)}),it("should return the transaction module",()=>{expect(e).toBeDefined()}),it("should bind a transaction mapper",()=>{expect(t.getAll(r.transactionTypes.TransactionMappers)).toHaveLength(1)})})});
1
+ "use strict";var o=require("inversify"),r=require("./transactionModule"),a=require("./transactionTypes");describe("transactionModuleFactory",()=>{describe("Default",()=>{let e,t;beforeEach(()=>{t=(0,r.transactionModuleFactory)(),e=new o.Container,e.loadSync(t)}),it("should return the transaction module",()=>{expect(t).toBeDefined()}),it("should bind a transaction mapper",()=>{expect(e.getAll(a.transactionTypes.TransactionMapperService)).toHaveLength(1)})})});
2
2
  //# sourceMappingURL=transactionModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/transaction/di/transactionModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { transactionModuleFactory } from \"./transactionModule\";\nimport { transactionTypes } from \"./transactionTypes\";\n\ndescribe(\"transactionModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof transactionModuleFactory>;\n beforeEach(() => {\n mod = transactionModuleFactory();\n container = new Container();\n container.load(mod);\n });\n\n it(\"should return the transaction module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should bind a transaction mapper\", () => {\n expect(\n container.getAll(transactionTypes.TransactionMappers),\n ).toHaveLength(1);\n });\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAyC,+BACzCC,EAAiC,8BAEjC,SAAS,2BAA4B,IAAM,CACzC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,4BAAyB,EAC/BD,EAAY,IAAI,YAChBA,EAAU,KAAKC,CAAG,CACpB,CAAC,EAED,GAAG,uCAAwC,IAAM,CAC/C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OACED,EAAU,OAAO,mBAAiB,kBAAkB,CACtD,EAAE,aAAa,CAAC,CAClB,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { transactionModuleFactory } from \"./transactionModule\";\nimport { transactionTypes } from \"./transactionTypes\";\n\ndescribe(\"transactionModuleFactory\", () => {\n describe(\"Default\", () => {\n let container: Container;\n let mod: ReturnType<typeof transactionModuleFactory>;\n beforeEach(() => {\n mod = transactionModuleFactory();\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return the transaction module\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should bind a transaction mapper\", () => {\n expect(\n container.getAll(transactionTypes.TransactionMapperService),\n ).toHaveLength(1);\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAyC,+BACzCC,EAAiC,8BAEjC,SAAS,2BAA4B,IAAM,CACzC,SAAS,UAAW,IAAM,CACxB,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,4BAAyB,EAC/BD,EAAY,IAAI,YAChBA,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,uCAAwC,IAAM,CAC/C,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,mCAAoC,IAAM,CAC3C,OACED,EAAU,OAAO,mBAAiB,wBAAwB,CAC5D,EAAE,aAAa,CAAC,CAClB,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_inversify", "import_transactionModule", "import_transactionTypes", "container", "mod"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var b=(a,t)=>{for(var r in t)s(a,r,{get:t[r],enumerable:!0})},h=(a,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of g(t))!E.call(a,e)&&e!==r&&s(a,e,{get:()=>t[e],enumerable:!(o=u(t,e))||o.enumerable});return a};var y=a=>h(s({},"__esModule",{value:!0}),a),d=(a,t,r,o)=>{for(var e=o>1?void 0:o?u(t,r):t,m=a.length-1,p;m>=0;m--)(p=a[m])&&(e=(o?p(t,r,e):p(e))||e);return o&&e&&s(t,r,e),e};var I={};b(I,{EthersTransactionMapperService:()=>n});module.exports=y(I);var f=require("@ledgerhq/device-management-kit"),c=require("ethers"),T=require("inversify"),i=require("purify-ts");const l=10;let n=class{constructor(){}mapTransactionToSubset(t){try{const r=c.ethers.Transaction.from((0,f.bufferToHexaString)(t)),o=Number(r.chainId.toString());return o<=0?(0,i.Left)(new Error("Pre-EIP-155 transactions are not supported")):(0,i.Right)({subset:{chainId:o,to:r.to??void 0,data:r.data,selector:r.data.length>=l?r.data.slice(0,l):r.data,value:r.value},serializedTransaction:(0,c.getBytes)(r.unsignedSerialized),type:r.type||0})}catch{return(0,i.Left)(new Error("Invalid transaction"))}}};n=d([(0,T.injectable)()],n);0&&(module.exports={EthersTransactionMapperService});
2
+ //# sourceMappingURL=EthersTransactionMapperService.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/transaction/service/mapper/EthersTransactionMapperService.ts"],
4
+ "sourcesContent": ["import { bufferToHexaString } from \"@ledgerhq/device-management-kit\";\nimport { ethers, getBytes } from \"ethers\";\nimport { injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { TransactionMapperResult } from \"./model/TransactionMapperResult\";\nimport { TransactionMapperService } from \"./TransactionMapperService\";\n\nconst SELECTOR_LENGTH = 10; // 0x prefix + 4 bytes for the selector\n\n@injectable()\nexport class EthersTransactionMapperService\n implements TransactionMapperService\n{\n constructor() {}\n\n mapTransactionToSubset(\n transaction: Uint8Array,\n ): Either<Error, TransactionMapperResult> {\n try {\n const tx = ethers.Transaction.from(bufferToHexaString(transaction));\n const chainId = Number(tx.chainId.toString());\n\n if (chainId <= 0) {\n return Left(new Error(\"Pre-EIP-155 transactions are not supported\"));\n }\n\n return Right({\n subset: {\n chainId,\n to: tx.to ?? undefined,\n data: tx.data,\n selector:\n tx.data.length >= SELECTOR_LENGTH\n ? tx.data.slice(0, SELECTOR_LENGTH)\n : tx.data,\n value: tx.value,\n },\n serializedTransaction: getBytes(tx.unsignedSerialized),\n type: tx.type || 0,\n });\n } catch (_error) {\n return Left(new Error(\"Invalid transaction\"));\n }\n }\n}\n"],
5
+ "mappings": "2iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,2CACnCC,EAAiC,kBACjCC,EAA2B,qBAC3BC,EAAoC,qBAKpC,MAAMC,EAAkB,GAGjB,IAAMC,EAAN,KAEP,CACE,aAAc,CAAC,CAEf,uBACEC,EACwC,CACxC,GAAI,CACF,MAAMC,EAAK,SAAO,YAAY,QAAK,sBAAmBD,CAAW,CAAC,EAC5DE,EAAU,OAAOD,EAAG,QAAQ,SAAS,CAAC,EAE5C,OAAIC,GAAW,KACN,QAAK,IAAI,MAAM,4CAA4C,CAAC,KAG9D,SAAM,CACX,OAAQ,CACN,QAAAA,EACA,GAAID,EAAG,IAAM,OACb,KAAMA,EAAG,KACT,SACEA,EAAG,KAAK,QAAUH,EACdG,EAAG,KAAK,MAAM,EAAGH,CAAe,EAChCG,EAAG,KACT,MAAOA,EAAG,KACZ,EACA,yBAAuB,YAASA,EAAG,kBAAkB,EACrD,KAAMA,EAAG,MAAQ,CACnB,CAAC,CACH,MAAiB,CACf,SAAO,QAAK,IAAI,MAAM,qBAAqB,CAAC,CAC9C,CACF,CACF,EAlCaF,EAANI,EAAA,IADN,cAAW,GACCJ",
6
+ "names": ["EthersTransactionMapperService_exports", "__export", "EthersTransactionMapperService", "__toCommonJS", "import_device_management_kit", "import_ethers", "import_inversify", "import_purify_ts", "SELECTOR_LENGTH", "EthersTransactionMapperService", "transaction", "tx", "chainId", "__decorateClass"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var i=require("@ledgerhq/device-management-kit"),a=require("ethers"),c=require("./EthersTransactionMapperService");describe("RawTransactionMapper",()=>{const n=new c.EthersTransactionMapperService;it("should return Nothing when empty raw transaction",()=>{const e=new Uint8Array(0),t=n.mapTransactionToSubset(e);expect(t.isLeft()).toBeTruthy()}),it("should return Nothing when invalid raw transaction",()=>{const e=new Uint8Array(1),t=n.mapTransactionToSubset(e);expect(t.isLeft()).toBeTruthy()}),it("should return a TransactionMapperResult",()=>{const e=(0,i.hexaStringToBuffer)(a.Transaction.from({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x1234567890"}).unsignedSerialized),t=n.mapTransactionToSubset(e);expect(t.isRight()).toBeTruthy();const{serializedTransaction:o,subset:s,type:r}=t.unsafeCoerce();expect(o).toEqual((0,a.getBytes)(e)),expect(s).toEqual({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x1234567890",value:0n,selector:"0x12345678"}),expect(r).toEqual(2)}),it("should return a TransactionMapperResult with undefined to",()=>{const e=(0,i.hexaStringToBuffer)(a.Transaction.from({chainId:1,data:"0x1234567890"}).unsignedSerialized),t=n.mapTransactionToSubset(e);expect(t.isRight()).toBeTruthy();const{serializedTransaction:o,subset:s,type:r}=t.unsafeCoerce();expect(o).toEqual((0,a.getBytes)(e)),expect(s).toEqual({chainId:1,to:void 0,data:"0x1234567890",value:0n,selector:"0x12345678"}),expect(r).toEqual(2)}),it("should return a TransactionMapperResult with empty data",()=>{const e=(0,i.hexaStringToBuffer)(a.Transaction.from({chainId:1,to:"0x1234567890123456789012345678901234567890"}).unsignedSerialized),t=n.mapTransactionToSubset(e);expect(t.isRight()).toBeTruthy();const{serializedTransaction:o,subset:s,type:r}=t.unsafeCoerce();expect(o).toEqual((0,a.getBytes)(e)),expect(s).toEqual({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x",value:0n,selector:"0x"}),expect(r).toEqual(2)}),it("should return a TransactionMapperResult with a custom type",()=>{const e=(0,i.hexaStringToBuffer)(a.Transaction.from({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x123456",type:1}).unsignedSerialized),t=n.mapTransactionToSubset(e);expect(t.isRight()).toBeTruthy();const{serializedTransaction:o,subset:s,type:r}=t.unsafeCoerce();expect(o).toEqual((0,a.getBytes)(e)),expect(s).toEqual({chainId:1,to:"0x1234567890123456789012345678901234567890",data:"0x123456",value:0n,selector:"0x123456"}),expect(r).toEqual(1)}),it("should return a Left when the chainId is 0",()=>{const e=(0,i.hexaStringToBuffer)(a.Transaction.from({chainId:0}).unsignedSerialized),t=n.mapTransactionToSubset(e);expect(t.isLeft()).toBeTruthy(),expect(t.extract()).toEqual(new Error("Pre-EIP-155 transactions are not supported"))})});
2
+ //# sourceMappingURL=EthersTransactionMapperService.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/transaction/service/mapper/EthersTransactionMapperService.test.ts"],
4
+ "sourcesContent": ["import { hexaStringToBuffer } from \"@ledgerhq/device-management-kit\";\nimport { getBytes, Transaction } from \"ethers\";\n\nimport { EthersTransactionMapperService } from \"./EthersTransactionMapperService\";\n\ndescribe(\"RawTransactionMapper\", () => {\n const mapper = new EthersTransactionMapperService();\n\n it(\"should return Nothing when empty raw transaction\", () => {\n // GIVEN\n const transaction = new Uint8Array(0);\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isLeft()).toBeTruthy();\n });\n\n it(\"should return Nothing when invalid raw transaction\", () => {\n // GIVEN\n const transaction = new Uint8Array(1);\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isLeft()).toBeTruthy();\n });\n\n it(\"should return a TransactionMapperResult\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x1234567890\",\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isRight()).toBeTruthy();\n const { serializedTransaction, subset, type } = result.unsafeCoerce();\n expect(serializedTransaction).toEqual(getBytes(transaction));\n expect(subset).toEqual({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x1234567890\",\n value: 0n,\n selector: \"0x12345678\",\n });\n expect(type).toEqual(2);\n });\n\n it(\"should return a TransactionMapperResult with undefined to\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 1,\n data: \"0x1234567890\",\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isRight()).toBeTruthy();\n const { serializedTransaction, subset, type } = result.unsafeCoerce();\n expect(serializedTransaction).toEqual(getBytes(transaction));\n expect(subset).toEqual({\n chainId: 1,\n to: undefined,\n data: \"0x1234567890\",\n value: 0n,\n selector: \"0x12345678\",\n });\n expect(type).toEqual(2);\n });\n\n it(\"should return a TransactionMapperResult with empty data\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isRight()).toBeTruthy();\n const { serializedTransaction, subset, type } = result.unsafeCoerce();\n expect(serializedTransaction).toEqual(getBytes(transaction));\n expect(subset).toEqual({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x\",\n value: 0n,\n selector: \"0x\",\n });\n expect(type).toEqual(2);\n });\n\n it(\"should return a TransactionMapperResult with a custom type\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x123456\",\n type: 1,\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isRight()).toBeTruthy();\n const { serializedTransaction, subset, type } = result.unsafeCoerce();\n expect(serializedTransaction).toEqual(getBytes(transaction));\n expect(subset).toEqual({\n chainId: 1,\n to: \"0x1234567890123456789012345678901234567890\",\n data: \"0x123456\",\n value: 0n,\n selector: \"0x123456\",\n });\n expect(type).toEqual(1);\n });\n\n it(\"should return a Left when the chainId is 0\", () => {\n // GIVEN\n const transaction = hexaStringToBuffer(\n Transaction.from({\n chainId: 0,\n }).unsignedSerialized,\n )!;\n\n // WHEN\n const result = mapper.mapTransactionToSubset(transaction);\n\n // THEN\n expect(result.isLeft()).toBeTruthy();\n expect(result.extract()).toEqual(\n new Error(\"Pre-EIP-155 transactions are not supported\"),\n );\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_device_management_kit", "import_ethers", "import_EthersTransactionMapperService", "mapper", "transaction", "result", "serializedTransaction", "subset", "type"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var y=(t,r)=>{for(var p in r)n(t,p,{get:r[p],enumerable:!0})},M=(t,r,p,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of h(r))!E.call(t,o)&&o!==p&&n(t,o,{get:()=>r[o],enumerable:!(a=u(r,o))||a.enumerable});return t};var R=t=>M(n({},"__esModule",{value:!0}),t),f=(t,r,p,a)=>{for(var o=a>1?void 0:a?u(r,p):r,m=t.length-1,c;m>=0;m--)(c=t[m])&&(o=(a?c(r,p,o):c(o))||o);return a&&o&&n(r,p,o),o},l=(t,r)=>(p,a)=>r(p,a,t);var _={};y(_,{TransactionMapperService:()=>s});module.exports=R(_);var e=require("inversify"),i=require("purify-ts"),T=require("../../../transaction/di/transactionTypes");let s=class{_mappers;constructor(r){this._mappers=r}mapTransactionToSubset(r){for(const p of this._mappers){const a=p.map(r);if(a.isJust())return(0,i.Right)(a.extract())}return(0,i.Left)(new Error("Unsupported transaction type"))}};s=f([(0,e.injectable)(),l(0,(0,e.multiInject)(T.transactionTypes.TransactionMappers))],s);0&&(module.exports={TransactionMapperService});
1
+ "use strict";var i=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var c=(t,r,n,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of p(r))!s.call(t,a)&&a!==n&&i(t,a,{get:()=>r[a],enumerable:!(e=o(r,a))||e.enumerable});return t};var m=t=>c(i({},"__esModule",{value:!0}),t);var T={};module.exports=m(T);
2
2
  //# sourceMappingURL=TransactionMapperService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/transaction/service/mapper/TransactionMapperService.ts"],
4
- "sourcesContent": ["import { injectable, multiInject } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { transactionTypes } from \"@internal/transaction/di/transactionTypes\";\n\nimport { TransactionMapperResult } from \"./model/TransactionMapperResult\";\nimport { TransactionMapper } from \"./TransactionMapper\";\n\n@injectable()\nexport class TransactionMapperService {\n private _mappers: TransactionMapper[];\n\n constructor(\n @multiInject(transactionTypes.TransactionMappers)\n mappers: TransactionMapper[],\n ) {\n this._mappers = mappers;\n }\n\n mapTransactionToSubset(\n transaction: Uint8Array,\n ): Either<Error, TransactionMapperResult> {\n for (const mapper of this._mappers) {\n const result = mapper.map(transaction);\n if (result.isJust()) {\n return Right(result.extract());\n }\n }\n\n // TODO: handle correctly with the future error type\n return Left(new Error(\"Unsupported transaction type\"));\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAwC,qBACxCC,EAAoC,qBAEpCC,EAAiC,qDAM1B,IAAMC,EAAN,KAA+B,CAC5B,SAER,YAEEC,EACA,CACA,KAAK,SAAWA,CAClB,CAEA,uBACEC,EACwC,CACxC,UAAWC,KAAU,KAAK,SAAU,CAClC,MAAMC,EAASD,EAAO,IAAID,CAAW,EACrC,GAAIE,EAAO,OAAO,EAChB,SAAO,SAAMA,EAAO,QAAQ,CAAC,CAEjC,CAGA,SAAO,QAAK,IAAI,MAAM,8BAA8B,CAAC,CACvD,CACF,EAvBaJ,EAANK,EAAA,IADN,cAAW,EAKPC,EAAA,oBAAY,mBAAiB,kBAAkB,IAJvCN",
6
- "names": ["TransactionMapperService_exports", "__export", "TransactionMapperService", "__toCommonJS", "import_inversify", "import_purify_ts", "import_transactionTypes", "TransactionMapperService", "mappers", "transaction", "mapper", "result", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import { type Either } from \"purify-ts\";\n\nimport { type TransactionMapperResult } from \"./model/TransactionMapperResult\";\n\nexport interface TransactionMapperService {\n mapTransactionToSubset: (\n transaction: Uint8Array,\n ) => Either<Error, TransactionMapperResult>;\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["TransactionMapperService_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var y=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var P=(u,t)=>{for(var r in t)y(u,r,{get:t[r],enumerable:!0})},I=(u,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of x(t))!C.call(u,e)&&e!==r&&y(u,e,{get:()=>t[e],enumerable:!(n=g(t,e))||n.enumerable});return u};var N=u=>I(y({},"__esModule",{value:!0}),u),p=(u,t,r,n)=>{for(var e=n>1?void 0:n?g(t,r):t,c=u.length-1,E;c>=0;c--)(E=u[c])&&(e=(n?E(t,r,e):E(e))||e);return n&&e&&y(t,r,e),e};var D={};P(D,{TransactionParserService:()=>d});module.exports=N(D);var i=require("@ledgerhq/context-module"),s=require("@ledgerhq/device-management-kit"),w=require("ethers"),L=require("inversify"),a=require("purify-ts");const F=4,m=32;let d=class{extractValue(t,r){return a.Either.encase(()=>w.Transaction.from((0,s.bufferToHexaString)(t))).chain(n=>r===i.ContainerPath.FROM?(0,a.Left)(new Error("Cannot get 'FROM' field of an unsigned transaction")):r===i.ContainerPath.TO?a.Maybe.fromNullable(n.to).map(e=>(0,s.hexaStringToBuffer)(e)).filter(e=>e!==null).map(e=>[e]).toEither(new Error("Faild to extract TO field of transaction")):r===i.ContainerPath.VALUE?a.Maybe.fromNullable(n.value).map(e=>new s.ByteArrayBuilder().add256BitUIntToData(e).build()).map(e=>[e]).toEither(new Error("Faild to extract VALUE field of transaction")):a.Maybe.fromNullable(n.data).toEither(new Error("Transaction calldata is empty")).chain(e=>a.Maybe.fromNullable((0,s.hexaStringToBuffer)(e)).toEither(new Error(`Invalid hex string calldata: ${e}`))).chain(e=>this.extractCalldataValue(e,r)))}extractCalldataValue(t,r){return t=t.slice(F),r.length===0?(0,a.Left)(new Error("Path is empty")):this.extractCalldataValueAt(t,r,0,0)}extractCalldataValueAt(t,r,n,e){const c=r[r.length-1],E=c.type===i.DataPathElementType.SLICE?c:null;for(;r.length>0;){const l=r[0];switch(r=r.slice(1),l.type){case i.DataPathElementType.TUPLE:e=n,n+=l.offset*m;break;case i.DataPathElementType.ARRAY:return this.getU256(t.slice(n)).toEither(new Error(`Invalid array length at offset ${n}`)).chain(o=>{n+=m,e=n;const h=l.start===void 0?0:l.start<0?o+l.start:l.start,b=l.end===void 0?o:l.end<0?o+l.end:l.end;return h<0||h>=o||b>o||h>=b?(0,a.Left)(new Error(`Array slice out of bounds, start=${l.start}, end=${l.end}`)):Array.from({length:b-h},(A,U)=>U).map(A=>n+(A+h)*l.itemSize*m).reduce((A,U)=>A.chain(f=>this.extractCalldataValueAt(t,r,U,e).map(T=>[...f,...T])),(0,a.Right)([]))});case i.DataPathElementType.REF:if(this.getU256(t.slice(n)).ifJust(o=>n=e+o).isNothing())return(0,a.Left)(new Error(`Invalid ref at offset ${n}`));break;case i.DataPathElementType.LEAF:switch(l.leafType){case i.DataPathLeafType.ARRAY_LEAF:return(0,a.Left)(new Error("Array leaf is not supported in v1 of protocol"));case i.DataPathLeafType.TUPLE_LEAF:return(0,a.Left)(new Error("Tuple leaf is not supported in v1 of protocol"));case i.DataPathLeafType.STATIC_LEAF:return this.getSlice(t,n,m).chain(o=>E===null?(0,a.Right)([o]):this.sliceLeaf(o,E));case i.DataPathLeafType.DYNAMIC_LEAF:return this.getU256(t.slice(n)).toEither(new Error(`Invalid leaf length at offset ${n}`)).chain(o=>(n+=m,this.getSlice(t,n,o).chain(h=>E===null?(0,a.Right)([h]):this.sliceLeaf(h,E))))}break;case i.DataPathElementType.SLICE:return(0,a.Left)(new Error("Slice can only be used as last element of the path"))}}return(0,a.Left)(new Error("Path did not resolve to a leaf element"))}sliceLeaf(t,r){const n=t.length,e=r.start===void 0?0:r.start<0?n+r.start:r.start,c=r.end===void 0?n:r.end<0?n+r.end:r.end;return e>=c?(0,a.Left)(new Error(`invalid leaf slice: start ${e}, end ${c}`)):this.getSlice(t,e,c-e).map(E=>[E])}getSlice(t,r,n){return r<0||t.length<r+n?(0,a.Left)(new Error(`calldata too small to slice at offset ${r} of length ${n}`)):(0,a.Right)(t.slice(r,r+n))}getU256(t){return a.Maybe.fromNullable(new s.ByteArrayParser(t).extract256BitUInt(!0)).filter(r=>r<=Number.MAX_SAFE_INTEGER).map(r=>Number(r))}};d=p([(0,L.injectable)()],d);0&&(module.exports={TransactionParserService});
1
+ "use strict";var y=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var P=(c,e)=>{for(var r in e)y(c,r,{get:e[r],enumerable:!0})},f=(c,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of x(e))!C.call(c,n)&&n!==r&&y(c,n,{get:()=>e[n],enumerable:!(t=g(e,n))||t.enumerable});return c};var I=c=>f(y({},"__esModule",{value:!0}),c),p=(c,e,r,t)=>{for(var n=t>1?void 0:t?g(e,r):e,u=c.length-1,a;u>=0;u--)(a=c[u])&&(n=(t?a(e,r,n):a(n))||n);return t&&n&&y(e,r,n),n};var F={};P(F,{TransactionParserService:()=>d});module.exports=I(F);var l=require("@ledgerhq/context-module"),h=require("@ledgerhq/device-management-kit"),w=require("inversify"),i=require("purify-ts");const N=4,m=32;let d=class{extractValue(e,r){const{to:t,data:n,value:u}=e;return r===l.ContainerPath.FROM?(0,i.Left)(new Error("Cannot get 'FROM' field of an unsigned transaction")):r===l.ContainerPath.TO?i.Maybe.fromNullable(t).map(a=>(0,h.hexaStringToBuffer)(a)).filter(a=>a!==null).map(a=>[a]).toEither(new Error("Failed to extract TO field of transaction")):r===l.ContainerPath.VALUE?i.Maybe.fromNullable(u).map(a=>new h.ByteArrayBuilder().add256BitUIntToData(a).build()).map(a=>[a]).toEither(new Error("Failed to extract VALUE field of transaction")):i.Maybe.fromNullable(n).toEither(new Error("Transaction calldata is empty")).chain(a=>i.Maybe.fromNullable((0,h.hexaStringToBuffer)(a)).toEither(new Error(`Invalid hex string calldata: ${a}`))).chain(a=>this.extractCalldataValue(a,r))}extractCalldataValue(e,r){return e=e.slice(N),r.length===0?(0,i.Left)(new Error("Path is empty")):this.extractCalldataValueAt(e,r,0,0)}extractCalldataValueAt(e,r,t,n){const u=r[r.length-1],a=u.type===l.DataPathElementType.SLICE?u:null;for(;r.length>0;){const o=r[0];switch(r=r.slice(1),o.type){case l.DataPathElementType.TUPLE:n=t,t+=o.offset*m;break;case l.DataPathElementType.ARRAY:return this.getU256(e.slice(t)).toEither(new Error(`Invalid array length at offset ${t}`)).chain(s=>{t+=m,n=t;const E=o.start===void 0?0:o.start<0?s+o.start:o.start,b=o.end===void 0?s:o.end<0?s+o.end:o.end;return E<0||E>=s||b>s||E>=b?(0,i.Left)(new Error(`Array slice out of bounds, start=${o.start}, end=${o.end}`)):Array.from({length:b-E},(A,U)=>U).map(A=>t+(A+E)*o.itemSize*m).reduce((A,U)=>A.chain(L=>this.extractCalldataValueAt(e,r,U,n).map(T=>[...L,...T])),(0,i.Right)([]))});case l.DataPathElementType.REF:if(this.getU256(e.slice(t)).ifJust(s=>t=n+s).isNothing())return(0,i.Left)(new Error(`Invalid ref at offset ${t}`));break;case l.DataPathElementType.LEAF:switch(o.leafType){case l.DataPathLeafType.ARRAY_LEAF:return(0,i.Left)(new Error("Array leaf is not supported in v1 of protocol"));case l.DataPathLeafType.TUPLE_LEAF:return(0,i.Left)(new Error("Tuple leaf is not supported in v1 of protocol"));case l.DataPathLeafType.STATIC_LEAF:return this.getSlice(e,t,m).chain(s=>a===null?(0,i.Right)([s]):this.sliceLeaf(s,a));case l.DataPathLeafType.DYNAMIC_LEAF:return this.getU256(e.slice(t)).toEither(new Error(`Invalid leaf length at offset ${t}`)).chain(s=>(t+=m,this.getSlice(e,t,s).chain(E=>a===null?(0,i.Right)([E]):this.sliceLeaf(E,a))))}break;case l.DataPathElementType.SLICE:return(0,i.Left)(new Error("Slice can only be used as last element of the path"))}}return(0,i.Left)(new Error("Path did not resolve to a leaf element"))}sliceLeaf(e,r){const t=e.length,n=r.start===void 0?0:r.start<0?t+r.start:r.start,u=r.end===void 0?t:r.end<0?t+r.end:r.end;return n>=u?(0,i.Left)(new Error(`invalid leaf slice: start ${n}, end ${u}`)):this.getSlice(e,n,u-n).map(a=>[a])}getSlice(e,r,t){return r<0||e.length<r+t?(0,i.Left)(new Error(`calldata too small to slice at offset ${r} of length ${t}`)):(0,i.Right)(e.slice(r,r+t))}getU256(e){return i.Maybe.fromNullable(new h.ByteArrayParser(e).extract256BitUInt(!0)).filter(r=>r<=Number.MAX_SAFE_INTEGER).map(r=>Number(r))}};d=p([(0,w.injectable)()],d);0&&(module.exports={TransactionParserService});
2
2
  //# sourceMappingURL=TransactionParserService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/transaction/service/parser/TransactionParserService.ts"],
4
- "sourcesContent": ["import type {\n DataPathElement,\n DataPathElementSlice,\n GenericPath,\n} from \"@ledgerhq/context-module\";\nimport {\n ContainerPath,\n DataPathElementType,\n DataPathLeafType,\n} from \"@ledgerhq/context-module\";\nimport {\n bufferToHexaString,\n ByteArrayBuilder,\n ByteArrayParser,\n hexaStringToBuffer,\n} from \"@ledgerhq/device-management-kit\";\nimport { Transaction } from \"ethers\";\nimport { injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\n\n/**\n * The goal of this service it to implement the GenericPath parser in the context\n * of an ethereum transaction.\n *\n * The abi of an ethereum transaction calldata is specified here:\n * https://docs.soliditylang.org/en/latest/abi-spec.html\n *\n * To be noted:\n * - calldata is composed of:\n * - the selector on 4 bytes\n * - chunks of 32 bytes, whatever the size of the item contained in that chunk\n * - static elements (fixed size) are encoded \"in-place\", always in 1 chunk padded with zeros\n * (even a bool is on 32 bytes)\n * - dynamic elements (variable size) are behind references (pointers) and then encoded with length+value\n *\n * Examples extracted from the abi specification:\n * - example for a function with static elements:\n * signature: baz(uint32 x, bool y)\n * parameters: x = 69\n * y = true\n * - Encoding:\n * 0xcdcd77c0: the selector\n * [0] 0x0000000000000000000000000000000000000000000000000000000000000045: value = 69\n * [1] 0x0000000000000000000000000000000000000000000000000000000000000001: value = true\n *\n * - example for a function with dynamic elements:\n * signature: g(uint256[][] x, string[] x)\n * parameters: x = [[1, 2], [3]]\n * y = [\"one\", \"two\", \"three\"]\n * - Encoding:\n * 0x2289b18c: the selector\n * [0] 0x0000000000000000000000000000000000000000000000000000000000000040: offset of x\n * [1] 0x0000000000000000000000000000000000000000000000000000000000000140: offset of y\n * [2] 0x0000000000000000000000000000000000000000000000000000000000000002: length of x\n * [3] 0x0000000000000000000000000000000000000000000000000000000000000040: offset of x[0]\n * [4] 0x00000000000000000000000000000000000000000000000000000000000000a0: offset of x[1]\n * [5] 0x0000000000000000000000000000000000000000000000000000000000000002: length of x[0]\n * [6] 0x0000000000000000000000000000000000000000000000000000000000000001: value of x[0][0] = 1\n * [7] 0x0000000000000000000000000000000000000000000000000000000000000002: value of x[0][1] = 2\n * [8] 0x0000000000000000000000000000000000000000000000000000000000000001: length of x[1]\n * [9] 0x0000000000000000000000000000000000000000000000000000000000000003: value of x[1][0] = 3\n * [10] 0x0000000000000000000000000000000000000000000000000000000000000003: length of y\n * [11] 0x0000000000000000000000000000000000000000000000000000000000000060: offset of y[0]\n * [12] 0x00000000000000000000000000000000000000000000000000000000000000a0: offset of y[1]\n * [13] 0x00000000000000000000000000000000000000000000000000000000000000e0: offset of y[2]\n * [14] 0x0000000000000000000000000000000000000000000000000000000000000003: length of y[0]\n * [15] 0x6f6e650000000000000000000000000000000000000000000000000000000000: value of y[0] = \"one\"\n * [16] 0x0000000000000000000000000000000000000000000000000000000000000003: length of y[1]\n * [17] 0x74776f0000000000000000000000000000000000000000000000000000000000: value of y[1] = \"two\"\n * [18] 0x0000000000000000000000000000000000000000000000000000000000000005: length of y[2]\n * [19] 0x7468726565000000000000000000000000000000000000000000000000000000: value of y[2] = \"three\"\n */\nconst SELECTOR_LENGTH = 4;\nconst CHUNK_SIZE = 32;\n\n@injectable()\nexport class TransactionParserService {\n public extractValue(\n serializedTransaction: Uint8Array,\n path: GenericPath,\n ): Either<Error, Uint8Array[]> {\n return Either.encase(() =>\n Transaction.from(bufferToHexaString(serializedTransaction)),\n ).chain((transaction) => {\n /**\n * We can first check container paths, which are in the transaction envelop\n */\n if (path === ContainerPath.FROM) {\n // 'from' is not part of the unsigned ethereum transaction, and can\n // only by recovered from the transaction signature later on.\n // Therefore we cannot extract it from a transaction before signing it.\n // It is not an issue since that field will typically be displayed as an\n // address on the device and therefore don't require additional descriptors.\n return Left(\n new Error(\"Cannot get 'FROM' field of an unsigned transaction\"),\n );\n } else if (path === ContainerPath.TO) {\n return Maybe.fromNullable(transaction.to)\n .map((str) => hexaStringToBuffer(str))\n .filter((bytes) => bytes !== null)\n .map((bytes) => [bytes])\n .toEither(new Error(\"Faild to extract TO field of transaction\"));\n } else if (path === ContainerPath.VALUE) {\n return Maybe.fromNullable(transaction.value)\n .map((num) => new ByteArrayBuilder().add256BitUIntToData(num).build())\n .map((bytes) => [bytes])\n .toEither(new Error(\"Faild to extract VALUE field of transaction\"));\n }\n\n /**\n * If it was not a path in the container, it means it's a path in the calldata\n */\n return Maybe.fromNullable(transaction.data)\n .toEither(new Error(\"Transaction calldata is empty\"))\n .chain((calldata) =>\n Maybe.fromNullable(hexaStringToBuffer(calldata)).toEither(\n new Error(`Invalid hex string calldata: ${calldata}`),\n ),\n )\n .chain((calldata) => this.extractCalldataValue(calldata, path));\n });\n }\n\n private extractCalldataValue(\n data: Uint8Array,\n path: DataPathElement[],\n ): Either<Error, Uint8Array[]> {\n data = data.slice(SELECTOR_LENGTH); // Remove the selector from the calldata\n if (path.length === 0) {\n return Left(new Error(\"Path is empty\"));\n }\n return this.extractCalldataValueAt(data, path, 0, 0);\n }\n\n private extractCalldataValueAt(\n data: Uint8Array,\n path: DataPathElement[],\n offset: number,\n parentOffset: number,\n ): Either<Error, Uint8Array[]> {\n // If the path ends with a slice, store it now as it is only allowed at the end of a binary path.\n const lastElement = path[path.length - 1]!;\n const leafSlice: DataPathElementSlice | null =\n lastElement.type === DataPathElementType.SLICE ? lastElement : null;\n\n while (path.length > 0) {\n const element = path[0]!;\n path = path.slice(1);\n switch (element.type) {\n case DataPathElementType.TUPLE:\n // A tuple contain 1 element per chunk\n parentOffset = offset;\n offset += element.offset * CHUNK_SIZE;\n break;\n case DataPathElementType.ARRAY:\n // An array contains a length, followed by the list of elements.\n // See the examples with dynamic types at the top of this file for more informations.\n return this.getU256(data.slice(offset))\n .toEither(new Error(`Invalid array length at offset ${offset}`))\n .chain((length) => {\n // Skip the array length\n offset += CHUNK_SIZE;\n parentOffset = offset;\n // Select the array slice to iterate on\n const start =\n element.start === undefined\n ? 0\n : element.start < 0\n ? length + element.start\n : element.start;\n const end =\n element.end === undefined\n ? length\n : element.end < 0\n ? length + element.end\n : element.end;\n if (\n start < 0 ||\n start >= length ||\n end > length ||\n start >= end\n ) {\n return Left(\n new Error(\n `Array slice out of bounds, start=${element.start}, end=${element.end}`,\n ),\n );\n }\n // Iterate on the array slice\n return Array.from({ length: end - start }, (_, i) => i)\n .map(\n (i) => offset + (i + start) * element.itemSize * CHUNK_SIZE,\n )\n .reduce(\n (acc: Either<Error, Uint8Array[]>, arrayOffset) =>\n acc.chain((values) =>\n this.extractCalldataValueAt(\n data,\n path,\n arrayOffset,\n parentOffset,\n ).map((newValues) => [...values, ...newValues]),\n ),\n Right([]),\n );\n });\n case DataPathElementType.REF:\n // A reference means the current slot points to a new offset in the calldata (a kind of pointer).\n // That offset is relative to its 'parent' element, here named parentOffset.\n // See the examples with dynamic types at the top of this file for more informations.\n if (\n this.getU256(data.slice(offset))\n .ifJust((reference) => (offset = parentOffset + reference))\n .isNothing()\n ) {\n return Left(new Error(`Invalid ref at offset ${offset}`));\n }\n break;\n case DataPathElementType.LEAF:\n // A leaf means we reached the end of the path.\n // We have to check the leaf type to know how to extract the data.\n switch (element.leafType) {\n case DataPathLeafType.ARRAY_LEAF:\n return Left(\n new Error(\"Array leaf is not supported in v1 of protocol\"),\n );\n case DataPathLeafType.TUPLE_LEAF:\n return Left(\n new Error(\"Tuple leaf is not supported in v1 of protocol\"),\n );\n case DataPathLeafType.STATIC_LEAF:\n // A static leaf is the chunk of current offset (data of static size)\n return this.getSlice(data, offset, CHUNK_SIZE).chain((leaf) => {\n if (leafSlice === null) {\n return Right([leaf]);\n } else {\n return this.sliceLeaf(leaf, leafSlice);\n }\n });\n case DataPathLeafType.DYNAMIC_LEAF:\n // A dynamic leaf is composed of a length followed by the actual value\n // (data of variable size such as a string).\n // See the examples with dynamic types at the top of this file for more informations.\n return this.getU256(data.slice(offset))\n .toEither(new Error(`Invalid leaf length at offset ${offset}`))\n .chain((length) => {\n // Skip dynamic leaf length\n offset += CHUNK_SIZE;\n return this.getSlice(data, offset, length).chain((leaf) => {\n if (leafSlice === null) {\n return Right([leaf]);\n } else {\n return this.sliceLeaf(leaf, leafSlice);\n }\n });\n });\n }\n break;\n case DataPathElementType.SLICE:\n // If the last element was a slice, it was already popped at the beginning of this function\n return Left(\n new Error(\"Slice can only be used as last element of the path\"),\n );\n }\n }\n // We should have early-returned on a leaf\n return Left(new Error(\"Path did not resolve to a leaf element\"));\n }\n\n private sliceLeaf(\n data: Uint8Array,\n leafSlice: DataPathElementSlice,\n ): Either<Error, Uint8Array[]> {\n const length = data.length;\n const start =\n leafSlice.start === undefined\n ? 0\n : leafSlice.start < 0\n ? length + leafSlice.start\n : leafSlice.start;\n const end =\n leafSlice.end === undefined\n ? length\n : leafSlice.end < 0\n ? length + leafSlice.end\n : leafSlice.end;\n if (start >= end) {\n return Left(new Error(`invalid leaf slice: start ${start}, end ${end}`));\n }\n return this.getSlice(data, start, end - start).map((leaf) => [leaf]);\n }\n\n getSlice(\n data: Uint8Array,\n offset: number,\n size: number,\n ): Either<Error, Uint8Array> {\n return offset < 0 || data.length < offset + size\n ? Left(\n new Error(\n `calldata too small to slice at offset ${offset} of length ${size}`,\n ),\n )\n : Right(data.slice(offset, offset + size));\n }\n\n getU256(data: Uint8Array): Maybe<number> {\n // https://docs.soliditylang.org/en/latest/abi-spec.html#formal-specification-of-the-encoding\n return Maybe.fromNullable(new ByteArrayParser(data).extract256BitUInt(true))\n .filter((res) => res <= Number.MAX_SAFE_INTEGER)\n .map((res) => Number(res));\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["TransactionParserService_exports", "__export", "TransactionParserService", "__toCommonJS", "import_context_module", "import_device_management_kit", "import_ethers", "import_inversify", "import_purify_ts", "SELECTOR_LENGTH", "CHUNK_SIZE", "TransactionParserService", "serializedTransaction", "path", "transaction", "str", "bytes", "num", "calldata", "data", "offset", "parentOffset", "lastElement", "leafSlice", "element", "length", "start", "end", "_", "i", "acc", "arrayOffset", "values", "newValues", "reference", "leaf", "size", "res", "__decorateClass"]
4
+ "sourcesContent": ["import type {\n DataPathElement,\n DataPathElementSlice,\n GenericPath,\n TransactionSubset,\n} from \"@ledgerhq/context-module\";\nimport {\n ContainerPath,\n DataPathElementType,\n DataPathLeafType,\n} from \"@ledgerhq/context-module\";\nimport {\n ByteArrayBuilder,\n ByteArrayParser,\n hexaStringToBuffer,\n} from \"@ledgerhq/device-management-kit\";\nimport { injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\n\n/**\n * The goal of this service it to implement the GenericPath parser in the context\n * of an ethereum transaction.\n *\n * The abi of an ethereum transaction calldata is specified here:\n * https://docs.soliditylang.org/en/latest/abi-spec.html\n *\n * To be noted:\n * - calldata is composed of:\n * - the selector on 4 bytes\n * - chunks of 32 bytes, whatever the size of the item contained in that chunk\n * - static elements (fixed size) are encoded \"in-place\", always in 1 chunk padded with zeros\n * (even a bool is on 32 bytes)\n * - dynamic elements (variable size) are behind references (pointers) and then encoded with length+value\n *\n * Examples extracted from the abi specification:\n * - example for a function with static elements:\n * signature: baz(uint32 x, bool y)\n * parameters: x = 69\n * y = true\n * - Encoding:\n * 0xcdcd77c0: the selector\n * [0] 0x0000000000000000000000000000000000000000000000000000000000000045: value = 69\n * [1] 0x0000000000000000000000000000000000000000000000000000000000000001: value = true\n *\n * - example for a function with dynamic elements:\n * signature: g(uint256[][] x, string[] x)\n * parameters: x = [[1, 2], [3]]\n * y = [\"one\", \"two\", \"three\"]\n * - Encoding:\n * 0x2289b18c: the selector\n * [0] 0x0000000000000000000000000000000000000000000000000000000000000040: offset of x\n * [1] 0x0000000000000000000000000000000000000000000000000000000000000140: offset of y\n * [2] 0x0000000000000000000000000000000000000000000000000000000000000002: length of x\n * [3] 0x0000000000000000000000000000000000000000000000000000000000000040: offset of x[0]\n * [4] 0x00000000000000000000000000000000000000000000000000000000000000a0: offset of x[1]\n * [5] 0x0000000000000000000000000000000000000000000000000000000000000002: length of x[0]\n * [6] 0x0000000000000000000000000000000000000000000000000000000000000001: value of x[0][0] = 1\n * [7] 0x0000000000000000000000000000000000000000000000000000000000000002: value of x[0][1] = 2\n * [8] 0x0000000000000000000000000000000000000000000000000000000000000001: length of x[1]\n * [9] 0x0000000000000000000000000000000000000000000000000000000000000003: value of x[1][0] = 3\n * [10] 0x0000000000000000000000000000000000000000000000000000000000000003: length of y\n * [11] 0x0000000000000000000000000000000000000000000000000000000000000060: offset of y[0]\n * [12] 0x00000000000000000000000000000000000000000000000000000000000000a0: offset of y[1]\n * [13] 0x00000000000000000000000000000000000000000000000000000000000000e0: offset of y[2]\n * [14] 0x0000000000000000000000000000000000000000000000000000000000000003: length of y[0]\n * [15] 0x6f6e650000000000000000000000000000000000000000000000000000000000: value of y[0] = \"one\"\n * [16] 0x0000000000000000000000000000000000000000000000000000000000000003: length of y[1]\n * [17] 0x74776f0000000000000000000000000000000000000000000000000000000000: value of y[1] = \"two\"\n * [18] 0x0000000000000000000000000000000000000000000000000000000000000005: length of y[2]\n * [19] 0x7468726565000000000000000000000000000000000000000000000000000000: value of y[2] = \"three\"\n */\nconst SELECTOR_LENGTH = 4;\nconst CHUNK_SIZE = 32;\n\n@injectable()\nexport class TransactionParserService {\n public extractValue(\n subset: TransactionSubset,\n path: GenericPath,\n ): Either<Error, Uint8Array[]> {\n const { to, data, value } = subset;\n /**\n * We can first check container paths, which are in the transaction envelop\n */\n if (path === ContainerPath.FROM) {\n // 'from' is not part of the unsigned ethereum transaction, and can\n // only by recovered from the transaction signature later on.\n // Therefore we cannot extract it from a transaction before signing it.\n // It is not an issue since that field will typically be displayed as an\n // address on the device and therefore don't require additional descriptors.\n return Left(\n new Error(\"Cannot get 'FROM' field of an unsigned transaction\"),\n );\n } else if (path === ContainerPath.TO) {\n return Maybe.fromNullable(to)\n .map((str) => hexaStringToBuffer(str))\n .filter((bytes) => bytes !== null)\n .map((bytes) => [bytes])\n .toEither(new Error(\"Failed to extract TO field of transaction\"));\n } else if (path === ContainerPath.VALUE) {\n return Maybe.fromNullable(value)\n .map((num) => new ByteArrayBuilder().add256BitUIntToData(num).build())\n .map((bytes) => [bytes])\n .toEither(new Error(\"Failed to extract VALUE field of transaction\"));\n }\n\n /**\n * If it was not a path in the container, it means it's a path in the calldata\n */\n return Maybe.fromNullable(data)\n .toEither(new Error(\"Transaction calldata is empty\"))\n .chain((calldata) =>\n Maybe.fromNullable(hexaStringToBuffer(calldata)).toEither(\n new Error(`Invalid hex string calldata: ${calldata}`),\n ),\n )\n .chain((calldata) => this.extractCalldataValue(calldata, path));\n }\n\n private extractCalldataValue(\n data: Uint8Array,\n path: DataPathElement[],\n ): Either<Error, Uint8Array[]> {\n data = data.slice(SELECTOR_LENGTH); // Remove the selector from the calldata\n if (path.length === 0) {\n return Left(new Error(\"Path is empty\"));\n }\n return this.extractCalldataValueAt(data, path, 0, 0);\n }\n\n private extractCalldataValueAt(\n data: Uint8Array,\n path: DataPathElement[],\n offset: number,\n parentOffset: number,\n ): Either<Error, Uint8Array[]> {\n // If the path ends with a slice, store it now as it is only allowed at the end of a binary path.\n const lastElement = path[path.length - 1]!;\n const leafSlice: DataPathElementSlice | null =\n lastElement.type === DataPathElementType.SLICE ? lastElement : null;\n\n while (path.length > 0) {\n const element = path[0]!;\n path = path.slice(1);\n switch (element.type) {\n case DataPathElementType.TUPLE:\n // A tuple contain 1 element per chunk\n parentOffset = offset;\n offset += element.offset * CHUNK_SIZE;\n break;\n case DataPathElementType.ARRAY:\n // An array contains a length, followed by the list of elements.\n // See the examples with dynamic types at the top of this file for more informations.\n return this.getU256(data.slice(offset))\n .toEither(new Error(`Invalid array length at offset ${offset}`))\n .chain((length) => {\n // Skip the array length\n offset += CHUNK_SIZE;\n parentOffset = offset;\n // Select the array slice to iterate on\n const start =\n element.start === undefined\n ? 0\n : element.start < 0\n ? length + element.start\n : element.start;\n const end =\n element.end === undefined\n ? length\n : element.end < 0\n ? length + element.end\n : element.end;\n if (\n start < 0 ||\n start >= length ||\n end > length ||\n start >= end\n ) {\n return Left(\n new Error(\n `Array slice out of bounds, start=${element.start}, end=${element.end}`,\n ),\n );\n }\n // Iterate on the array slice\n return Array.from({ length: end - start }, (_, i) => i)\n .map(\n (i) => offset + (i + start) * element.itemSize * CHUNK_SIZE,\n )\n .reduce(\n (acc: Either<Error, Uint8Array[]>, arrayOffset) =>\n acc.chain((values) =>\n this.extractCalldataValueAt(\n data,\n path,\n arrayOffset,\n parentOffset,\n ).map((newValues) => [...values, ...newValues]),\n ),\n Right([]),\n );\n });\n case DataPathElementType.REF:\n // A reference means the current slot points to a new offset in the calldata (a kind of pointer).\n // That offset is relative to its 'parent' element, here named parentOffset.\n // See the examples with dynamic types at the top of this file for more informations.\n if (\n this.getU256(data.slice(offset))\n .ifJust((reference) => (offset = parentOffset + reference))\n .isNothing()\n ) {\n return Left(new Error(`Invalid ref at offset ${offset}`));\n }\n break;\n case DataPathElementType.LEAF:\n // A leaf means we reached the end of the path.\n // We have to check the leaf type to know how to extract the data.\n switch (element.leafType) {\n case DataPathLeafType.ARRAY_LEAF:\n return Left(\n new Error(\"Array leaf is not supported in v1 of protocol\"),\n );\n case DataPathLeafType.TUPLE_LEAF:\n return Left(\n new Error(\"Tuple leaf is not supported in v1 of protocol\"),\n );\n case DataPathLeafType.STATIC_LEAF:\n // A static leaf is the chunk of current offset (data of static size)\n return this.getSlice(data, offset, CHUNK_SIZE).chain((leaf) => {\n if (leafSlice === null) {\n return Right([leaf]);\n } else {\n return this.sliceLeaf(leaf, leafSlice);\n }\n });\n case DataPathLeafType.DYNAMIC_LEAF:\n // A dynamic leaf is composed of a length followed by the actual value\n // (data of variable size such as a string).\n // See the examples with dynamic types at the top of this file for more informations.\n return this.getU256(data.slice(offset))\n .toEither(new Error(`Invalid leaf length at offset ${offset}`))\n .chain((length) => {\n // Skip dynamic leaf length\n offset += CHUNK_SIZE;\n return this.getSlice(data, offset, length).chain((leaf) => {\n if (leafSlice === null) {\n return Right([leaf]);\n } else {\n return this.sliceLeaf(leaf, leafSlice);\n }\n });\n });\n }\n break;\n case DataPathElementType.SLICE:\n // If the last element was a slice, it was already popped at the beginning of this function\n return Left(\n new Error(\"Slice can only be used as last element of the path\"),\n );\n }\n }\n // We should have early-returned on a leaf\n return Left(new Error(\"Path did not resolve to a leaf element\"));\n }\n\n private sliceLeaf(\n data: Uint8Array,\n leafSlice: DataPathElementSlice,\n ): Either<Error, Uint8Array[]> {\n const length = data.length;\n const start =\n leafSlice.start === undefined\n ? 0\n : leafSlice.start < 0\n ? length + leafSlice.start\n : leafSlice.start;\n const end =\n leafSlice.end === undefined\n ? length\n : leafSlice.end < 0\n ? length + leafSlice.end\n : leafSlice.end;\n if (start >= end) {\n return Left(new Error(`invalid leaf slice: start ${start}, end ${end}`));\n }\n return this.getSlice(data, start, end - start).map((leaf) => [leaf]);\n }\n\n getSlice(\n data: Uint8Array,\n offset: number,\n size: number,\n ): Either<Error, Uint8Array> {\n return offset < 0 || data.length < offset + size\n ? Left(\n new Error(\n `calldata too small to slice at offset ${offset} of length ${size}`,\n ),\n )\n : Right(data.slice(offset, offset + size));\n }\n\n getU256(data: Uint8Array): Maybe<number> {\n // https://docs.soliditylang.org/en/latest/abi-spec.html#formal-specification-of-the-encoding\n return Maybe.fromNullable(new ByteArrayParser(data).extract256BitUInt(true))\n .filter((res) => res <= Number.MAX_SAFE_INTEGER)\n .map((res) => Number(res));\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["TransactionParserService_exports", "__export", "TransactionParserService", "__toCommonJS", "import_context_module", "import_device_management_kit", "import_inversify", "import_purify_ts", "SELECTOR_LENGTH", "CHUNK_SIZE", "TransactionParserService", "subset", "path", "to", "data", "value", "str", "bytes", "num", "calldata", "offset", "parentOffset", "lastElement", "leafSlice", "element", "length", "start", "end", "_", "i", "acc", "arrayOffset", "values", "newValues", "reference", "leaf", "size", "res", "__decorateClass"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=require("@ledgerhq/context-module"),a=require("@ledgerhq/device-management-kit"),l=require("ethers"),n=require("./TransactionParserService");describe("TransactionParserService",()=>{const i=new n.TransactionParserService,o=(0,a.hexaStringToBuffer)("0x3f32cF0B1DF94157EE1c3876c49BE3732C92a98f"),r=81818275935222000n,p=new a.ByteArrayBuilder().add256BitUIntToData(81818275935222000n).build();beforeEach(()=>{jest.clearAllMocks()}),describe("Container paths",()=>{it("should extract TO of the container",()=>{const c=(0,a.hexaStringToBuffer)(l.Transaction.from({to:(0,a.bufferToHexaString)(o),value:r,data:"0x"}).unsignedSerialized),e=i.extractValue(c,s.ContainerPath.TO);expect(e.isRight()).toStrictEqual(!0),expect(e.unsafeCoerce()).toStrictEqual([o])}),it("should extract VALUE of the container",()=>{const c=(0,a.hexaStringToBuffer)(l.Transaction.from({to:(0,a.bufferToHexaString)(o),value:r,data:"0x"}).unsignedSerialized),e=i.extractValue(c,s.ContainerPath.VALUE);expect(e.isRight()).toStrictEqual(!0),expect(e.unsafeCoerce()).toStrictEqual([p])}),it("Unavailable container fields",()=>{const c=(0,a.hexaStringToBuffer)(l.Transaction.from({data:"0x",signature:{r:"0x73b969418389828a6328fdb96e747296226832894b8bb46d60f231a9960ec3b5",s:"0x4806aaccc52354f4a42ef9efe0d89dd8cf95210829443ad7f4a9017d6b02de07",v:1}}).unsignedSerialized),e=i.extractValue(c,s.ContainerPath.FROM),t=i.extractValue(c,s.ContainerPath.TO);expect(e.isRight()).toStrictEqual(!1),expect(t.isRight()).toStrictEqual(!1)}),it("invalid transaction format",()=>{const c=(0,a.hexaStringToBuffer)("0xdeadbeef"),e=i.extractValue(c,s.ContainerPath.FROM);expect(e.isRight()).toStrictEqual(!1)})}),describe("Data paths in a calldata with static elements",()=>{const c=(0,a.hexaStringToBuffer)(l.Transaction.from({to:(0,a.bufferToHexaString)(o),value:r,data:"0xcdcd77c000000000000000000000000000000000000000000000000000000000000000450000000000000000000000000000000000000000000000000000000000000001"}).unsignedSerialized);it("Extract the first element",()=>{const e=[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000045")])}),it("Extract the second element",()=>{const e=[{type:"TUPLE",offset:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000001")])}),it("Slice the static leaf",()=>{const e=[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"},{type:"SLICE",start:-4}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x00000045")])}),it("Out of bounds",()=>{const e=[{type:"TUPLE",offset:2},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)})}),describe("Data paths in a calldata with dynamic elements",()=>{const c=(0,a.hexaStringToBuffer)(l.Transaction.from({to:(0,a.bufferToHexaString)(o),value:r,data:"0x2289b18c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000036f6e650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000374776f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057468726565000000000000000000000000000000000000000000000000000000"}).unsignedSerialized);it("Extract all the elements of x, concatenated together",()=>{const e=[{type:"TUPLE",offset:0},{type:"REF"},{type:"ARRAY",itemSize:1},{type:"REF"},{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000001"),(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000002"),(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000003")])}),it("Extract all the elements of x[0]",()=>{const e=[{type:"TUPLE",offset:0},{type:"REF"},{type:"ARRAY",itemSize:1,start:0,end:1},{type:"REF"},{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000001"),(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000002")])}),it("Extract all the elements of x[0:-1][-1:]",()=>{const e=[{type:"TUPLE",offset:0},{type:"REF"},{type:"ARRAY",itemSize:1,start:0,end:-1},{type:"REF"},{type:"ARRAY",itemSize:1,start:-1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000002")])}),it("Array out of bounds",()=>{const e=[{type:"TUPLE",offset:0},{type:"REF"},{type:"ARRAY",itemSize:1,start:0,end:1},{type:"REF"},{type:"ARRAY",itemSize:1,start:2,end:3},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)}),it("Extract all the elements of x[1]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x6f6e65"),(0,a.hexaStringToBuffer)("0x74776f"),(0,a.hexaStringToBuffer)("0x7468726565")])}),it("Extract all the elements of x[1][:2]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1,end:2},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x6f6e65"),(0,a.hexaStringToBuffer)("0x74776f")])}),it("Slice the dynamic leaf with [1:-2]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1,start:2,end:3},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"},{type:"SLICE",start:1,end:-2}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x6872")])}),it("Slice the dynamic leaf with [-1:]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1,start:2,end:3},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"},{type:"SLICE",start:-1}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x65")])}),it("Slice the dynamic leaf with [:1]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1,start:2,end:3},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"},{type:"SLICE",end:1}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x74")])}),it("Error no leaf",()=>{const e=[{type:"TUPLE",offset:1}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)}),it("Error slice not at the end",()=>{const e=[{type:"TUPLE",offset:1},{type:"SLICE",start:0,end:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)}),it("Error empty slice",()=>{const e=[{type:"TUPLE",offset:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"},{type:"SLICE",start:0,end:0}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)})}),describe("Array of tuples, with bigger itemSize",()=>{const c=(0,a.hexaStringToBuffer)(l.Transaction.from({to:(0,a.bufferToHexaString)(o),value:r,data:"0xcdcd77c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006"}).unsignedSerialized);it("Extract the first tuple element of all array elements",()=>{const e=[{type:"REF"},{type:"ARRAY",itemSize:2},{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000001"),(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000003"),(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000005")])}),it("Extract the second tuple element of all array elements",()=>{const e=[{type:"REF"},{type:"ARRAY",itemSize:2},{type:"TUPLE",offset:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000002"),(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000004"),(0,a.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000006")])})}),describe("Malformed calldata",()=>{const c=(0,a.hexaStringToBuffer)(l.Transaction.from({to:(0,a.bufferToHexaString)(o),value:r,data:"0x2289b18c0000000000000000000000000000000000000000000000000000000000000080f000000000000000000000000000000000000000000000000000000000000140f000000000000000000000000000000000000000000000000000000000000002"}).unsignedSerialized);it("Dynamic leaf length overflow",()=>{const e=[{type:"TUPLE",offset:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)}),it("Calldata smaller than dynamic leaf",()=>{const e=[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)}),it("Array length overflow",()=>{const e=[{type:"TUPLE",offset:1},{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)}),it("Calldata smaller than array length",()=>{const e=[{type:"TUPLE",offset:0},{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)}),it("Ref out of bounds",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"LEAF",leafType:"STATIC_LEAF"}],t=i.extractValue(c,e);expect(t.isRight()).toStrictEqual(!1)})})});
1
+ "use strict";var o=require("@ledgerhq/context-module"),c=require("@ledgerhq/device-management-kit"),r=require("./TransactionParserService");describe("TransactionParserService",()=>{const l=new r.TransactionParserService,i=(0,c.hexaStringToBuffer)("0x3f32cF0B1DF94157EE1c3876c49BE3732C92a98f"),s=81818275935222000n,n=new c.ByteArrayBuilder().add256BitUIntToData(81818275935222000n).build();beforeEach(()=>{vi.clearAllMocks()}),describe("Container paths",()=>{it("should extract TO of the container",()=>{const a={chainId:1,data:"0x",selector:"0x",to:(0,c.bufferToHexaString)(i),value:s},e=l.extractValue(a,o.ContainerPath.TO);expect(e.isRight()).toStrictEqual(!0),expect(e.unsafeCoerce()).toStrictEqual([i])}),it("should extract VALUE of the container",()=>{const a={chainId:1,data:"0x",selector:"0x",to:(0,c.bufferToHexaString)(i),value:s},e=l.extractValue(a,o.ContainerPath.VALUE);expect(e.isRight()).toStrictEqual(!0),expect(e.unsafeCoerce()).toStrictEqual([n])}),it("Unavailable container fields",()=>{const a={chainId:1,data:"0x",selector:"0x",to:void 0,from:void 0,value:s},e=l.extractValue(a,o.ContainerPath.FROM),t=l.extractValue(a,o.ContainerPath.TO);expect(e.isRight()).toStrictEqual(!1),expect(t.isRight()).toStrictEqual(!1)}),it("invalid transaction format",()=>{const a=(0,c.hexaStringToBuffer)("0xdeadbeef"),e=l.extractValue(a,o.ContainerPath.FROM);expect(e.isRight()).toStrictEqual(!1)})}),describe("Data paths in a calldata with static elements",()=>{const a={chainId:1,data:"0xcdcd77c000000000000000000000000000000000000000000000000000000000000000450000000000000000000000000000000000000000000000000000000000000001",selector:"0xcdcd77c",to:(0,c.bufferToHexaString)(i),value:s};it("Extract the first element",()=>{const e=[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000045")])}),it("Extract the second element",()=>{const e=[{type:"TUPLE",offset:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000001")])}),it("Slice the static leaf",()=>{const e=[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"},{type:"SLICE",start:-4}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x00000045")])}),it("Out of bounds",()=>{const e=[{type:"TUPLE",offset:2},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)})}),describe("Data paths in a calldata with dynamic elements",()=>{const a={to:(0,c.bufferToHexaString)(i),value:s,chainId:1,data:"0x2289b18c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000036f6e650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000374776f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000057468726565000000000000000000000000000000000000000000000000000000",selector:"0x2289b18c"};it("Extract all the elements of x, concatenated together",()=>{const e=[{type:"TUPLE",offset:0},{type:"REF"},{type:"ARRAY",itemSize:1},{type:"REF"},{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000001"),(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000002"),(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000003")])}),it("Extract all the elements of x[0]",()=>{const e=[{type:"TUPLE",offset:0},{type:"REF"},{type:"ARRAY",itemSize:1,start:0,end:1},{type:"REF"},{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000001"),(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000002")])}),it("Extract all the elements of x[0:-1][-1:]",()=>{const e=[{type:"TUPLE",offset:0},{type:"REF"},{type:"ARRAY",itemSize:1,start:0,end:-1},{type:"REF"},{type:"ARRAY",itemSize:1,start:-1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000002")])}),it("Array out of bounds",()=>{const e=[{type:"TUPLE",offset:0},{type:"REF"},{type:"ARRAY",itemSize:1,start:0,end:1},{type:"REF"},{type:"ARRAY",itemSize:1,start:2,end:3},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)}),it("Extract all the elements of x[1]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x6f6e65"),(0,c.hexaStringToBuffer)("0x74776f"),(0,c.hexaStringToBuffer)("0x7468726565")])}),it("Extract all the elements of x[1][:2]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1,end:2},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x6f6e65"),(0,c.hexaStringToBuffer)("0x74776f")])}),it("Slice the dynamic leaf with [1:-2]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1,start:2,end:3},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"},{type:"SLICE",start:1,end:-2}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x6872")])}),it("Slice the dynamic leaf with [-1:]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1,start:2,end:3},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"},{type:"SLICE",start:-1}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x65")])}),it("Slice the dynamic leaf with [:1]",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"ARRAY",itemSize:1,start:2,end:3},{type:"REF"},{type:"LEAF",leafType:"DYNAMIC_LEAF"},{type:"SLICE",end:1}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x74")])}),it("Error no leaf",()=>{const e=[{type:"TUPLE",offset:1}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)}),it("Error slice not at the end",()=>{const e=[{type:"TUPLE",offset:1},{type:"SLICE",start:0,end:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)}),it("Error empty slice",()=>{const e=[{type:"TUPLE",offset:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"},{type:"SLICE",start:0,end:0}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)})}),describe("Array of tuples, with bigger itemSize",()=>{const a={chainId:1,data:"0xcdcd77c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006",selector:"0xcdcd77c",to:(0,c.bufferToHexaString)(i),value:s};it("Extract the first tuple element of all array elements",()=>{const e=[{type:"REF"},{type:"ARRAY",itemSize:2},{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000001"),(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000003"),(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000005")])}),it("Extract the second tuple element of all array elements",()=>{const e=[{type:"REF"},{type:"ARRAY",itemSize:2},{type:"TUPLE",offset:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!0),expect(t.unsafeCoerce()).toStrictEqual([(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000002"),(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000004"),(0,c.hexaStringToBuffer)("0x0000000000000000000000000000000000000000000000000000000000000006")])})}),describe("Malformed calldata",()=>{const a={chainId:1,data:"0x2289b18c0000000000000000000000000000000000000000000000000000000000000080f000000000000000000000000000000000000000000000000000000000000140f000000000000000000000000000000000000000000000000000000000000002",selector:"0x2289b18c",to:(0,c.bufferToHexaString)(i),value:s};it("Dynamic leaf length overflow",()=>{const e=[{type:"TUPLE",offset:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)}),it("Calldata smaller than dynamic leaf",()=>{const e=[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)}),it("Array length overflow",()=>{const e=[{type:"TUPLE",offset:1},{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)}),it("Calldata smaller than array length",()=>{const e=[{type:"TUPLE",offset:0},{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)}),it("Ref out of bounds",()=>{const e=[{type:"TUPLE",offset:1},{type:"REF"},{type:"LEAF",leafType:"STATIC_LEAF"}],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)}),it("Empty array",()=>{const e=[],t=l.extractValue(a,e);expect(t.isRight()).toStrictEqual(!1)})})});
2
2
  //# sourceMappingURL=TransactionParserService.test.js.map