@ledgerhq/context-module 0.0.0-develop-20241011001048 → 0.0.0-signer-eth-20250122093657

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 (572) hide show
  1. package/LICENSE.MD +202 -0
  2. package/README.md +4 -6
  3. package/lib/cjs/index.js +2 -20
  4. package/lib/cjs/index.js.map +7 -1
  5. package/lib/cjs/package.json +54 -59
  6. package/lib/cjs/src/ContextModule.js +2 -3
  7. package/lib/cjs/src/ContextModule.js.map +7 -1
  8. package/lib/cjs/src/ContextModuleBuilder.js +2 -87
  9. package/lib/cjs/src/ContextModuleBuilder.js.map +7 -1
  10. package/lib/cjs/src/ContextModuleBuilder.test.js +2 -0
  11. package/lib/cjs/src/ContextModuleBuilder.test.js.map +7 -0
  12. package/lib/cjs/src/DefaultContextModule.js +2 -21
  13. package/lib/cjs/src/DefaultContextModule.js.map +7 -1
  14. package/lib/cjs/src/DefaultContextModule.test.js +2 -0
  15. package/lib/cjs/src/DefaultContextModule.test.js.map +7 -0
  16. package/lib/cjs/src/config/di/configModuleFactory.js +2 -10
  17. package/lib/cjs/src/config/di/configModuleFactory.js.map +7 -1
  18. package/lib/cjs/src/config/di/configTypes.js +2 -7
  19. package/lib/cjs/src/config/di/configTypes.js.map +7 -1
  20. package/lib/cjs/src/config/model/ContextModuleConfig.js +2 -3
  21. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +7 -1
  22. package/lib/cjs/src/di.js +2 -17
  23. package/lib/cjs/src/di.js.map +7 -1
  24. package/lib/cjs/src/external-plugin/data/DAppDto.js +2 -3
  25. package/lib/cjs/src/external-plugin/data/DAppDto.js.map +7 -1
  26. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.js +2 -3
  27. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.js.map +7 -1
  28. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +2 -83
  29. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +7 -1
  30. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +2 -0
  31. package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +7 -0
  32. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js +2 -13
  33. package/lib/cjs/src/external-plugin/di/externalPluginModuleFactory.js.map +7 -1
  34. package/lib/cjs/src/external-plugin/di/externalPluginTypes.js +2 -8
  35. package/lib/cjs/src/external-plugin/di/externalPluginTypes.js.map +7 -1
  36. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +2 -136
  37. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +7 -1
  38. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +2 -0
  39. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +7 -0
  40. package/lib/cjs/src/external-plugin/model/DappInfos.js +2 -3
  41. package/lib/cjs/src/external-plugin/model/DappInfos.js.map +7 -1
  42. package/lib/cjs/src/external-plugin/model/SelectorDetails.js +2 -3
  43. package/lib/cjs/src/external-plugin/model/SelectorDetails.js.map +7 -1
  44. package/lib/cjs/src/index.js +2 -30
  45. package/lib/cjs/src/index.js.map +7 -1
  46. package/lib/cjs/src/nft/data/HttpNftDataSource.js +2 -57
  47. package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +7 -1
  48. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +2 -0
  49. package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +7 -0
  50. package/lib/cjs/src/nft/data/NftDataSource.js +2 -3
  51. package/lib/cjs/src/nft/data/NftDataSource.js.map +7 -1
  52. package/lib/cjs/src/nft/di/nftModuleFactory.js +2 -13
  53. package/lib/cjs/src/nft/di/nftModuleFactory.js.map +7 -1
  54. package/lib/cjs/src/nft/di/nftTypes.js +2 -8
  55. package/lib/cjs/src/nft/di/nftTypes.js.map +7 -1
  56. package/lib/cjs/src/nft/domain/NftContextLoader.js +2 -111
  57. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +7 -1
  58. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +2 -0
  59. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +7 -0
  60. package/lib/cjs/src/shared/domain/ContextLoader.js +2 -3
  61. package/lib/cjs/src/shared/domain/ContextLoader.js.map +7 -1
  62. package/lib/cjs/src/shared/model/ClearSignContext.js +2 -13
  63. package/lib/cjs/src/shared/model/ClearSignContext.js.map +7 -1
  64. package/lib/cjs/src/shared/model/GenericPath.js +2 -0
  65. package/lib/cjs/src/shared/model/GenericPath.js.map +7 -0
  66. package/lib/cjs/src/shared/model/TransactionContext.js +2 -3
  67. package/lib/cjs/src/shared/model/TransactionContext.js.map +7 -1
  68. package/lib/cjs/src/shared/model/TransactionSubset.js +2 -3
  69. package/lib/cjs/src/shared/model/TransactionSubset.js.map +7 -1
  70. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js +2 -6
  71. package/lib/cjs/src/shared/model/TypedDataClearSignContext.js.map +7 -1
  72. package/lib/cjs/src/shared/model/TypedDataContext.js +2 -3
  73. package/lib/cjs/src/shared/model/TypedDataContext.js.map +7 -1
  74. package/lib/cjs/src/shared/utils/HexStringUtils.js +2 -15
  75. package/lib/cjs/src/shared/utils/HexStringUtils.js.map +7 -1
  76. package/lib/cjs/src/token/data/HttpTokenDataSource.js +2 -83
  77. package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +7 -1
  78. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +2 -0
  79. package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +7 -0
  80. package/lib/cjs/src/token/data/TokenDataSource.js +2 -3
  81. package/lib/cjs/src/token/data/TokenDataSource.js.map +7 -1
  82. package/lib/cjs/src/token/data/TokenDto.js +2 -3
  83. package/lib/cjs/src/token/data/TokenDto.js.map +7 -1
  84. package/lib/cjs/src/token/di/tokenModuleFactory.js +2 -13
  85. package/lib/cjs/src/token/di/tokenModuleFactory.js.map +7 -1
  86. package/lib/cjs/src/token/di/tokenTypes.js +2 -8
  87. package/lib/cjs/src/token/di/tokenTypes.js.map +7 -1
  88. package/lib/cjs/src/token/domain/TokenContextLoader.js +2 -74
  89. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +7 -1
  90. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +2 -0
  91. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +7 -0
  92. package/lib/cjs/src/transaction/data/CalldataDto.js +2 -0
  93. package/lib/cjs/src/transaction/data/CalldataDto.js.map +7 -0
  94. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +2 -0
  95. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +7 -0
  96. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +2 -0
  97. package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +7 -0
  98. package/lib/cjs/src/transaction/data/TransactionDataSource.js +2 -0
  99. package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +7 -0
  100. package/lib/cjs/src/transaction/di/transactionModuleFactory.js +2 -0
  101. package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +7 -0
  102. package/lib/cjs/src/transaction/di/transactionTypes.js +2 -0
  103. package/lib/cjs/src/transaction/di/transactionTypes.js.map +7 -0
  104. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +2 -0
  105. package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +7 -0
  106. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +2 -0
  107. package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +7 -0
  108. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  109. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  110. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  111. package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  112. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js +2 -0
  113. package/lib/cjs/src/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  114. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js +2 -0
  115. package/lib/cjs/src/trusted-name/data/TrustedNameDto.js.map +7 -0
  116. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +2 -0
  117. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  118. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js +2 -0
  119. package/lib/cjs/src/trusted-name/di/trustedNameTypes.js.map +7 -0
  120. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  121. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  122. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  123. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  124. package/lib/cjs/src/typed-data/data/FiltersDto.js +2 -3
  125. package/lib/cjs/src/typed-data/data/FiltersDto.js.map +7 -1
  126. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +2 -163
  127. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +7 -1
  128. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +2 -0
  129. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +7 -0
  130. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js +2 -3
  131. package/lib/cjs/src/typed-data/data/TypedDataDataSource.js.map +7 -1
  132. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js +2 -13
  133. package/lib/cjs/src/typed-data/di/typedDataModuleFactory.js.map +7 -1
  134. package/lib/cjs/src/typed-data/di/typedDataTypes.js +2 -8
  135. package/lib/cjs/src/typed-data/di/typedDataTypes.js.map +7 -1
  136. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +2 -127
  137. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +7 -1
  138. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +2 -0
  139. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +7 -0
  140. package/lib/cjs/src/typed-data/domain/TypedDataContextLoader.js +2 -3
  141. package/lib/cjs/src/typed-data/domain/TypedDataContextLoader.js.map +7 -1
  142. package/lib/esm/index.js +2 -4
  143. package/lib/esm/index.js.map +7 -1
  144. package/lib/esm/package.json +54 -59
  145. package/lib/esm/src/ContextModule.js +1 -2
  146. package/lib/esm/src/ContextModule.js.map +7 -1
  147. package/lib/esm/src/ContextModuleBuilder.js +2 -83
  148. package/lib/esm/src/ContextModuleBuilder.js.map +7 -1
  149. package/lib/esm/src/ContextModuleBuilder.test.js +2 -0
  150. package/lib/esm/src/ContextModuleBuilder.test.js.map +7 -0
  151. package/lib/esm/src/DefaultContextModule.js +2 -17
  152. package/lib/esm/src/DefaultContextModule.js.map +7 -1
  153. package/lib/esm/src/DefaultContextModule.test.js +2 -0
  154. package/lib/esm/src/DefaultContextModule.test.js.map +7 -0
  155. package/lib/esm/src/config/di/configModuleFactory.js +2 -6
  156. package/lib/esm/src/config/di/configModuleFactory.js.map +7 -1
  157. package/lib/esm/src/config/di/configTypes.js +2 -4
  158. package/lib/esm/src/config/di/configTypes.js.map +7 -1
  159. package/lib/esm/src/config/model/ContextModuleConfig.js +1 -2
  160. package/lib/esm/src/config/model/ContextModuleConfig.js.map +7 -1
  161. package/lib/esm/src/di.js +2 -13
  162. package/lib/esm/src/di.js.map +7 -1
  163. package/lib/esm/src/external-plugin/data/DAppDto.js +1 -2
  164. package/lib/esm/src/external-plugin/data/DAppDto.js.map +7 -1
  165. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.js +1 -2
  166. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.js.map +7 -1
  167. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +2 -77
  168. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +7 -1
  169. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +2 -0
  170. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +7 -0
  171. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js +2 -9
  172. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.js.map +7 -1
  173. package/lib/esm/src/external-plugin/di/externalPluginTypes.js +2 -5
  174. package/lib/esm/src/external-plugin/di/externalPluginTypes.js.map +7 -1
  175. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +2 -133
  176. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +7 -1
  177. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +2 -0
  178. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +7 -0
  179. package/lib/esm/src/external-plugin/model/DappInfos.js +1 -2
  180. package/lib/esm/src/external-plugin/model/DappInfos.js.map +7 -1
  181. package/lib/esm/src/external-plugin/model/SelectorDetails.js +1 -2
  182. package/lib/esm/src/external-plugin/model/SelectorDetails.js.map +7 -1
  183. package/lib/esm/src/index.js +2 -14
  184. package/lib/esm/src/index.js.map +7 -1
  185. package/lib/esm/src/nft/data/HttpNftDataSource.js +2 -51
  186. package/lib/esm/src/nft/data/HttpNftDataSource.js.map +7 -1
  187. package/lib/esm/src/nft/data/HttpNftDataSource.test.js +2 -0
  188. package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +7 -0
  189. package/lib/esm/src/nft/data/NftDataSource.js +1 -2
  190. package/lib/esm/src/nft/data/NftDataSource.js.map +7 -1
  191. package/lib/esm/src/nft/di/nftModuleFactory.js +2 -9
  192. package/lib/esm/src/nft/di/nftModuleFactory.js.map +7 -1
  193. package/lib/esm/src/nft/di/nftTypes.js +2 -5
  194. package/lib/esm/src/nft/di/nftTypes.js.map +7 -1
  195. package/lib/esm/src/nft/domain/NftContextLoader.js +2 -108
  196. package/lib/esm/src/nft/domain/NftContextLoader.js.map +7 -1
  197. package/lib/esm/src/nft/domain/NftContextLoader.test.js +2 -0
  198. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +7 -0
  199. package/lib/esm/src/shared/domain/ContextLoader.js +1 -2
  200. package/lib/esm/src/shared/domain/ContextLoader.js.map +7 -1
  201. package/lib/esm/src/shared/model/ClearSignContext.js +2 -10
  202. package/lib/esm/src/shared/model/ClearSignContext.js.map +7 -1
  203. package/lib/esm/src/shared/model/GenericPath.js +2 -0
  204. package/lib/esm/src/shared/model/GenericPath.js.map +7 -0
  205. package/lib/esm/src/shared/model/TransactionContext.js +1 -2
  206. package/lib/esm/src/shared/model/TransactionContext.js.map +7 -1
  207. package/lib/esm/src/shared/model/TransactionSubset.js +1 -2
  208. package/lib/esm/src/shared/model/TransactionSubset.js.map +7 -1
  209. package/lib/esm/src/shared/model/TypedDataClearSignContext.js +2 -3
  210. package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +7 -1
  211. package/lib/esm/src/shared/model/TypedDataContext.js +1 -2
  212. package/lib/esm/src/shared/model/TypedDataContext.js.map +7 -1
  213. package/lib/esm/src/shared/utils/HexStringUtils.js +2 -11
  214. package/lib/esm/src/shared/utils/HexStringUtils.js.map +7 -1
  215. package/lib/esm/src/token/data/HttpTokenDataSource.js +2 -77
  216. package/lib/esm/src/token/data/HttpTokenDataSource.js.map +7 -1
  217. package/lib/esm/src/token/data/HttpTokenDataSource.test.js +2 -0
  218. package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +7 -0
  219. package/lib/esm/src/token/data/TokenDataSource.js +1 -2
  220. package/lib/esm/src/token/data/TokenDataSource.js.map +7 -1
  221. package/lib/esm/src/token/data/TokenDto.js +1 -2
  222. package/lib/esm/src/token/data/TokenDto.js.map +7 -1
  223. package/lib/esm/src/token/di/tokenModuleFactory.js +2 -9
  224. package/lib/esm/src/token/di/tokenModuleFactory.js.map +7 -1
  225. package/lib/esm/src/token/di/tokenTypes.js +2 -5
  226. package/lib/esm/src/token/di/tokenTypes.js.map +7 -1
  227. package/lib/esm/src/token/domain/TokenContextLoader.js +2 -71
  228. package/lib/esm/src/token/domain/TokenContextLoader.js.map +7 -1
  229. package/lib/esm/src/token/domain/TokenContextLoader.test.js +2 -0
  230. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +7 -0
  231. package/lib/esm/src/transaction/data/CalldataDto.js +1 -0
  232. package/lib/esm/src/transaction/data/CalldataDto.js.map +7 -0
  233. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +2 -0
  234. package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +7 -0
  235. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +2 -0
  236. package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +7 -0
  237. package/lib/esm/src/transaction/data/TransactionDataSource.js +1 -0
  238. package/lib/esm/src/transaction/data/TransactionDataSource.js.map +7 -0
  239. package/lib/esm/src/transaction/di/transactionModuleFactory.js +2 -0
  240. package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +7 -0
  241. package/lib/esm/src/transaction/di/transactionTypes.js +2 -0
  242. package/lib/esm/src/transaction/di/transactionTypes.js.map +7 -0
  243. package/lib/esm/src/transaction/domain/TransactionContextLoader.js +2 -0
  244. package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +7 -0
  245. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +2 -0
  246. package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +7 -0
  247. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
  248. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
  249. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
  250. package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
  251. package/lib/esm/src/trusted-name/data/TrustedNameDataSource.js +1 -0
  252. package/lib/esm/src/trusted-name/data/TrustedNameDataSource.js.map +7 -0
  253. package/lib/esm/src/trusted-name/data/TrustedNameDto.js +1 -0
  254. package/lib/esm/src/trusted-name/data/TrustedNameDto.js.map +7 -0
  255. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +2 -0
  256. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
  257. package/lib/esm/src/trusted-name/di/trustedNameTypes.js +2 -0
  258. package/lib/esm/src/trusted-name/di/trustedNameTypes.js.map +7 -0
  259. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +2 -0
  260. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
  261. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
  262. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
  263. package/lib/esm/src/typed-data/data/FiltersDto.js +1 -2
  264. package/lib/esm/src/typed-data/data/FiltersDto.js.map +7 -1
  265. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +2 -157
  266. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +7 -1
  267. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +2 -0
  268. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +7 -0
  269. package/lib/esm/src/typed-data/data/TypedDataDataSource.js +1 -2
  270. package/lib/esm/src/typed-data/data/TypedDataDataSource.js.map +7 -1
  271. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js +2 -9
  272. package/lib/esm/src/typed-data/di/typedDataModuleFactory.js.map +7 -1
  273. package/lib/esm/src/typed-data/di/typedDataTypes.js +2 -5
  274. package/lib/esm/src/typed-data/di/typedDataTypes.js.map +7 -1
  275. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +2 -124
  276. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +7 -1
  277. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +2 -0
  278. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +7 -0
  279. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.js +1 -2
  280. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.js.map +7 -1
  281. package/lib/{cjs → types}/src/ContextModule.d.ts +3 -2
  282. package/lib/types/src/ContextModule.d.ts.map +1 -0
  283. package/lib/{cjs → types}/src/ContextModuleBuilder.d.ts +9 -11
  284. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -0
  285. package/lib/types/src/ContextModuleBuilder.test.d.ts +2 -0
  286. package/lib/types/src/ContextModuleBuilder.test.d.ts.map +1 -0
  287. package/lib/types/src/DefaultContextModule.d.ts +18 -0
  288. package/lib/types/src/DefaultContextModule.d.ts.map +1 -0
  289. package/lib/types/src/DefaultContextModule.test.d.ts +2 -0
  290. package/lib/types/src/DefaultContextModule.test.d.ts.map +1 -0
  291. package/lib/{cjs → types}/src/config/di/configModuleFactory.d.ts +1 -1
  292. package/lib/{cjs → types}/src/config/di/configModuleFactory.d.ts.map +1 -1
  293. package/lib/types/src/config/model/ContextModuleConfig.d.ts +16 -0
  294. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -0
  295. package/lib/{cjs → types}/src/di.d.ts +1 -1
  296. package/lib/types/src/di.d.ts.map +1 -0
  297. package/lib/{cjs → types}/src/external-plugin/data/ExternalPluginDataSource.d.ts +3 -3
  298. package/lib/types/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +1 -0
  299. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.test.d.ts +2 -0
  300. package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.test.d.ts.map +1 -0
  301. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.test.d.ts +2 -0
  302. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.test.d.ts.map +1 -0
  303. package/lib/types/src/external-plugin/model/DappInfos.d.ts +6 -0
  304. package/lib/types/src/external-plugin/model/DappInfos.d.ts.map +1 -0
  305. package/lib/{cjs → types}/src/index.d.ts +3 -1
  306. package/lib/types/src/index.d.ts.map +1 -0
  307. package/lib/types/src/nft/data/HttpNftDataSource.test.d.ts +2 -0
  308. package/lib/types/src/nft/data/HttpNftDataSource.test.d.ts.map +1 -0
  309. package/lib/{cjs → types}/src/nft/data/NftDataSource.d.ts +1 -1
  310. package/lib/types/src/nft/data/NftDataSource.d.ts.map +1 -0
  311. package/lib/{cjs → types}/src/nft/domain/NftContextLoader.d.ts +2 -1
  312. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -0
  313. package/lib/types/src/nft/domain/NftContextLoader.test.d.ts +2 -0
  314. package/lib/types/src/nft/domain/NftContextLoader.test.d.ts.map +1 -0
  315. package/lib/types/src/shared/domain/ContextLoader.d.ts +7 -0
  316. package/lib/types/src/shared/domain/ContextLoader.d.ts.map +1 -0
  317. package/lib/types/src/shared/model/ClearSignContext.d.ts +48 -0
  318. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -0
  319. package/lib/types/src/shared/model/GenericPath.d.ts +105 -0
  320. package/lib/types/src/shared/model/GenericPath.d.ts.map +1 -0
  321. package/lib/types/src/shared/model/TransactionContext.d.ts +19 -0
  322. package/lib/types/src/shared/model/TransactionContext.d.ts.map +1 -0
  323. package/lib/{cjs → types}/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
  324. package/lib/types/src/token/data/HttpTokenDataSource.test.d.ts +2 -0
  325. package/lib/types/src/token/data/HttpTokenDataSource.test.d.ts.map +1 -0
  326. package/lib/{cjs → types}/src/token/data/TokenDataSource.d.ts +1 -1
  327. package/lib/types/src/token/data/TokenDataSource.d.ts.map +1 -0
  328. package/lib/types/src/token/data/TokenDto.d.ts +16 -0
  329. package/lib/types/src/token/data/TokenDto.d.ts.map +1 -0
  330. package/lib/{cjs → types}/src/token/domain/TokenContextLoader.d.ts +2 -1
  331. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -0
  332. package/lib/types/src/token/domain/TokenContextLoader.test.d.ts +2 -0
  333. package/lib/types/src/token/domain/TokenContextLoader.test.d.ts.map +1 -0
  334. package/lib/types/src/transaction/data/CalldataDto.d.ts +128 -0
  335. package/lib/types/src/transaction/data/CalldataDto.d.ts.map +1 -0
  336. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts +22 -0
  337. package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +1 -0
  338. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +2 -0
  339. package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +1 -0
  340. package/lib/types/src/transaction/data/TransactionDataSource.d.ts +12 -0
  341. package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +1 -0
  342. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +3 -0
  343. package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +1 -0
  344. package/lib/types/src/transaction/di/transactionTypes.d.ts +5 -0
  345. package/lib/types/src/transaction/di/transactionTypes.d.ts.map +1 -0
  346. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +10 -0
  347. package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +1 -0
  348. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +2 -0
  349. package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +1 -0
  350. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +11 -0
  351. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -0
  352. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.test.d.ts +2 -0
  353. package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.test.d.ts.map +1 -0
  354. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts +16 -0
  355. package/lib/types/src/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -0
  356. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts +15 -0
  357. package/lib/types/src/trusted-name/data/TrustedNameDto.d.ts.map +1 -0
  358. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts +3 -0
  359. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -0
  360. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts +5 -0
  361. package/lib/types/src/trusted-name/di/trustedNameTypes.d.ts.map +1 -0
  362. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +12 -0
  363. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -0
  364. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.test.d.ts +2 -0
  365. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.test.d.ts.map +1 -0
  366. package/lib/{cjs → types}/src/typed-data/data/FiltersDto.d.ts +3 -0
  367. package/lib/types/src/typed-data/data/FiltersDto.d.ts.map +1 -0
  368. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -0
  369. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts +3 -0
  370. package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -0
  371. package/lib/{cjs → types}/src/typed-data/data/TypedDataDataSource.d.ts +3 -3
  372. package/lib/types/src/typed-data/data/TypedDataDataSource.d.ts.map +1 -0
  373. package/lib/{cjs → types}/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  374. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.test.d.ts +2 -0
  375. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.test.d.ts.map +1 -0
  376. package/lib/types/tsconfig.prod.tsbuildinfo +1 -0
  377. package/package.json +22 -27
  378. package/lib/cjs/src/ContextModule.d.ts.map +0 -1
  379. package/lib/cjs/src/ContextModuleBuilder.d.ts.map +0 -1
  380. package/lib/cjs/src/DefaultContextModule.d.ts +0 -20
  381. package/lib/cjs/src/DefaultContextModule.d.ts.map +0 -1
  382. package/lib/cjs/src/config/model/ContextModuleConfig.d.ts +0 -9
  383. package/lib/cjs/src/config/model/ContextModuleConfig.d.ts.map +0 -1
  384. package/lib/cjs/src/di.d.ts.map +0 -1
  385. package/lib/cjs/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +0 -1
  386. package/lib/cjs/src/external-plugin/model/DappInfos.d.ts +0 -6
  387. package/lib/cjs/src/external-plugin/model/DappInfos.d.ts.map +0 -1
  388. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.d.ts +0 -9
  389. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.d.ts.map +0 -1
  390. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.js +0 -3
  391. package/lib/cjs/src/forward-domain/data/ForwardDomainDataSource.js.map +0 -1
  392. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.d.ts +0 -6
  393. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.d.ts.map +0 -1
  394. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.js +0 -40
  395. package/lib/cjs/src/forward-domain/data/HttpForwardDomainDataSource.js.map +0 -1
  396. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.d.ts +0 -3
  397. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.d.ts.map +0 -1
  398. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.js +0 -13
  399. package/lib/cjs/src/forward-domain/di/forwardDomainModuleFactory.js.map +0 -1
  400. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.d.ts +0 -5
  401. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.d.ts.map +0 -1
  402. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.js +0 -8
  403. package/lib/cjs/src/forward-domain/di/forwardDomainTypes.js.map +0 -1
  404. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.d.ts +0 -11
  405. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.d.ts.map +0 -1
  406. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.js +0 -66
  407. package/lib/cjs/src/forward-domain/domain/ForwardDomainContextLoader.js.map +0 -1
  408. package/lib/cjs/src/index.d.ts.map +0 -1
  409. package/lib/cjs/src/nft/data/NftDataSource.d.ts.map +0 -1
  410. package/lib/cjs/src/nft/domain/NftContextLoader.d.ts.map +0 -1
  411. package/lib/cjs/src/shared/domain/ContextLoader.d.ts +0 -6
  412. package/lib/cjs/src/shared/domain/ContextLoader.d.ts.map +0 -1
  413. package/lib/cjs/src/shared/model/ClearSignContext.d.ts +0 -21
  414. package/lib/cjs/src/shared/model/ClearSignContext.d.ts.map +0 -1
  415. package/lib/cjs/src/shared/model/TransactionContext.d.ts +0 -6
  416. package/lib/cjs/src/shared/model/TransactionContext.d.ts.map +0 -1
  417. package/lib/cjs/src/token/data/TokenDataSource.d.ts.map +0 -1
  418. package/lib/cjs/src/token/data/TokenDto.d.ts +0 -6
  419. package/lib/cjs/src/token/data/TokenDto.d.ts.map +0 -1
  420. package/lib/cjs/src/token/domain/TokenContextLoader.d.ts.map +0 -1
  421. package/lib/cjs/src/typed-data/data/FiltersDto.d.ts.map +0 -1
  422. package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +0 -1
  423. package/lib/cjs/src/typed-data/data/TypedDataDataSource.d.ts.map +0 -1
  424. package/lib/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  425. package/lib/esm/index.d.ts +0 -3
  426. package/lib/esm/index.d.ts.map +0 -1
  427. package/lib/esm/src/ContextModule.d.ts +0 -9
  428. package/lib/esm/src/ContextModule.d.ts.map +0 -1
  429. package/lib/esm/src/ContextModuleBuilder.d.ts +0 -45
  430. package/lib/esm/src/ContextModuleBuilder.d.ts.map +0 -1
  431. package/lib/esm/src/DefaultContextModule.d.ts +0 -20
  432. package/lib/esm/src/DefaultContextModule.d.ts.map +0 -1
  433. package/lib/esm/src/config/di/configModuleFactory.d.ts +0 -4
  434. package/lib/esm/src/config/di/configModuleFactory.d.ts.map +0 -1
  435. package/lib/esm/src/config/di/configTypes.d.ts +0 -4
  436. package/lib/esm/src/config/di/configTypes.d.ts.map +0 -1
  437. package/lib/esm/src/config/model/ContextModuleConfig.d.ts +0 -9
  438. package/lib/esm/src/config/model/ContextModuleConfig.d.ts.map +0 -1
  439. package/lib/esm/src/di.d.ts +0 -8
  440. package/lib/esm/src/di.d.ts.map +0 -1
  441. package/lib/esm/src/external-plugin/data/DAppDto.d.ts +0 -38
  442. package/lib/esm/src/external-plugin/data/DAppDto.d.ts.map +0 -1
  443. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.d.ts +0 -12
  444. package/lib/esm/src/external-plugin/data/ExternalPluginDataSource.d.ts.map +0 -1
  445. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.d.ts +0 -10
  446. package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +0 -1
  447. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.d.ts +0 -3
  448. package/lib/esm/src/external-plugin/di/externalPluginModuleFactory.d.ts.map +0 -1
  449. package/lib/esm/src/external-plugin/di/externalPluginTypes.d.ts +0 -5
  450. package/lib/esm/src/external-plugin/di/externalPluginTypes.d.ts.map +0 -1
  451. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +0 -15
  452. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +0 -1
  453. package/lib/esm/src/external-plugin/model/DappInfos.d.ts +0 -6
  454. package/lib/esm/src/external-plugin/model/DappInfos.d.ts.map +0 -1
  455. package/lib/esm/src/external-plugin/model/SelectorDetails.d.ts +0 -8
  456. package/lib/esm/src/external-plugin/model/SelectorDetails.d.ts.map +0 -1
  457. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.d.ts +0 -9
  458. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.d.ts.map +0 -1
  459. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.js +0 -2
  460. package/lib/esm/src/forward-domain/data/ForwardDomainDataSource.js.map +0 -1
  461. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.d.ts +0 -6
  462. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.d.ts.map +0 -1
  463. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.js +0 -34
  464. package/lib/esm/src/forward-domain/data/HttpForwardDomainDataSource.js.map +0 -1
  465. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.d.ts +0 -3
  466. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.d.ts.map +0 -1
  467. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.js +0 -9
  468. package/lib/esm/src/forward-domain/di/forwardDomainModuleFactory.js.map +0 -1
  469. package/lib/esm/src/forward-domain/di/forwardDomainTypes.d.ts +0 -5
  470. package/lib/esm/src/forward-domain/di/forwardDomainTypes.d.ts.map +0 -1
  471. package/lib/esm/src/forward-domain/di/forwardDomainTypes.js +0 -5
  472. package/lib/esm/src/forward-domain/di/forwardDomainTypes.js.map +0 -1
  473. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.d.ts +0 -11
  474. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.d.ts.map +0 -1
  475. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.js +0 -63
  476. package/lib/esm/src/forward-domain/domain/ForwardDomainContextLoader.js.map +0 -1
  477. package/lib/esm/src/index.d.ts +0 -14
  478. package/lib/esm/src/index.d.ts.map +0 -1
  479. package/lib/esm/src/nft/data/HttpNftDataSource.d.ts +0 -7
  480. package/lib/esm/src/nft/data/HttpNftDataSource.d.ts.map +0 -1
  481. package/lib/esm/src/nft/data/NftDataSource.d.ts +0 -15
  482. package/lib/esm/src/nft/data/NftDataSource.d.ts.map +0 -1
  483. package/lib/esm/src/nft/di/nftModuleFactory.d.ts +0 -3
  484. package/lib/esm/src/nft/di/nftModuleFactory.d.ts.map +0 -1
  485. package/lib/esm/src/nft/di/nftTypes.d.ts +0 -5
  486. package/lib/esm/src/nft/di/nftTypes.d.ts.map +0 -1
  487. package/lib/esm/src/nft/domain/NftContextLoader.d.ts +0 -11
  488. package/lib/esm/src/nft/domain/NftContextLoader.d.ts.map +0 -1
  489. package/lib/esm/src/shared/domain/ContextLoader.d.ts +0 -6
  490. package/lib/esm/src/shared/domain/ContextLoader.d.ts.map +0 -1
  491. package/lib/esm/src/shared/model/ClearSignContext.d.ts +0 -21
  492. package/lib/esm/src/shared/model/ClearSignContext.d.ts.map +0 -1
  493. package/lib/esm/src/shared/model/TransactionContext.d.ts +0 -6
  494. package/lib/esm/src/shared/model/TransactionContext.d.ts.map +0 -1
  495. package/lib/esm/src/shared/model/TransactionSubset.d.ts +0 -6
  496. package/lib/esm/src/shared/model/TransactionSubset.d.ts.map +0 -1
  497. package/lib/esm/src/shared/model/TypedDataClearSignContext.d.ts +0 -33
  498. package/lib/esm/src/shared/model/TypedDataClearSignContext.d.ts.map +0 -1
  499. package/lib/esm/src/shared/model/TypedDataContext.d.ts +0 -16
  500. package/lib/esm/src/shared/model/TypedDataContext.d.ts.map +0 -1
  501. package/lib/esm/src/shared/utils/HexStringUtils.d.ts +0 -4
  502. package/lib/esm/src/shared/utils/HexStringUtils.d.ts.map +0 -1
  503. package/lib/esm/src/token/data/HttpTokenDataSource.d.ts +0 -9
  504. package/lib/esm/src/token/data/HttpTokenDataSource.d.ts.map +0 -1
  505. package/lib/esm/src/token/data/TokenDataSource.d.ts +0 -9
  506. package/lib/esm/src/token/data/TokenDataSource.d.ts.map +0 -1
  507. package/lib/esm/src/token/data/TokenDto.d.ts +0 -6
  508. package/lib/esm/src/token/data/TokenDto.d.ts.map +0 -1
  509. package/lib/esm/src/token/di/tokenModuleFactory.d.ts +0 -3
  510. package/lib/esm/src/token/di/tokenModuleFactory.d.ts.map +0 -1
  511. package/lib/esm/src/token/di/tokenTypes.d.ts +0 -5
  512. package/lib/esm/src/token/di/tokenTypes.d.ts.map +0 -1
  513. package/lib/esm/src/token/domain/TokenContextLoader.d.ts +0 -15
  514. package/lib/esm/src/token/domain/TokenContextLoader.d.ts.map +0 -1
  515. package/lib/esm/src/typed-data/data/FiltersDto.d.ts +0 -55
  516. package/lib/esm/src/typed-data/data/FiltersDto.d.ts.map +0 -1
  517. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.d.ts +0 -14
  518. package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +0 -1
  519. package/lib/esm/src/typed-data/data/TypedDataDataSource.d.ts +0 -17
  520. package/lib/esm/src/typed-data/data/TypedDataDataSource.d.ts.map +0 -1
  521. package/lib/esm/src/typed-data/di/typedDataModuleFactory.d.ts +0 -3
  522. package/lib/esm/src/typed-data/di/typedDataModuleFactory.d.ts.map +0 -1
  523. package/lib/esm/src/typed-data/di/typedDataTypes.d.ts +0 -5
  524. package/lib/esm/src/typed-data/di/typedDataTypes.d.ts.map +0 -1
  525. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +0 -13
  526. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +0 -1
  527. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.d.ts +0 -6
  528. package/lib/esm/src/typed-data/domain/TypedDataContextLoader.d.ts.map +0 -1
  529. package/lib/esm/tsconfig.esm.tsbuildinfo +0 -1
  530. /package/lib/{cjs → types}/index.d.ts +0 -0
  531. /package/lib/{cjs → types}/index.d.ts.map +0 -0
  532. /package/lib/{cjs → types}/src/config/di/configTypes.d.ts +0 -0
  533. /package/lib/{cjs → types}/src/config/di/configTypes.d.ts.map +0 -0
  534. /package/lib/{cjs → types}/src/external-plugin/data/DAppDto.d.ts +0 -0
  535. /package/lib/{cjs → types}/src/external-plugin/data/DAppDto.d.ts.map +0 -0
  536. /package/lib/{cjs → types}/src/external-plugin/data/HttpExternalPluginDataSource.d.ts +0 -0
  537. /package/lib/{cjs → types}/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +0 -0
  538. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginModuleFactory.d.ts +0 -0
  539. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginModuleFactory.d.ts.map +0 -0
  540. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginTypes.d.ts +0 -0
  541. /package/lib/{cjs → types}/src/external-plugin/di/externalPluginTypes.d.ts.map +0 -0
  542. /package/lib/{cjs → types}/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +0 -0
  543. /package/lib/{cjs → types}/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +0 -0
  544. /package/lib/{cjs → types}/src/external-plugin/model/SelectorDetails.d.ts +0 -0
  545. /package/lib/{cjs → types}/src/external-plugin/model/SelectorDetails.d.ts.map +0 -0
  546. /package/lib/{cjs → types}/src/nft/data/HttpNftDataSource.d.ts +0 -0
  547. /package/lib/{cjs → types}/src/nft/data/HttpNftDataSource.d.ts.map +0 -0
  548. /package/lib/{cjs → types}/src/nft/di/nftModuleFactory.d.ts +0 -0
  549. /package/lib/{cjs → types}/src/nft/di/nftModuleFactory.d.ts.map +0 -0
  550. /package/lib/{cjs → types}/src/nft/di/nftTypes.d.ts +0 -0
  551. /package/lib/{cjs → types}/src/nft/di/nftTypes.d.ts.map +0 -0
  552. /package/lib/{cjs → types}/src/shared/model/TransactionSubset.d.ts +0 -0
  553. /package/lib/{cjs → types}/src/shared/model/TransactionSubset.d.ts.map +0 -0
  554. /package/lib/{cjs → types}/src/shared/model/TypedDataClearSignContext.d.ts +0 -0
  555. /package/lib/{cjs → types}/src/shared/model/TypedDataClearSignContext.d.ts.map +0 -0
  556. /package/lib/{cjs → types}/src/shared/model/TypedDataContext.d.ts +0 -0
  557. /package/lib/{cjs → types}/src/shared/model/TypedDataContext.d.ts.map +0 -0
  558. /package/lib/{cjs → types}/src/shared/utils/HexStringUtils.d.ts +0 -0
  559. /package/lib/{cjs → types}/src/shared/utils/HexStringUtils.d.ts.map +0 -0
  560. /package/lib/{cjs → types}/src/token/data/HttpTokenDataSource.d.ts +0 -0
  561. /package/lib/{cjs → types}/src/token/di/tokenModuleFactory.d.ts +0 -0
  562. /package/lib/{cjs → types}/src/token/di/tokenModuleFactory.d.ts.map +0 -0
  563. /package/lib/{cjs → types}/src/token/di/tokenTypes.d.ts +0 -0
  564. /package/lib/{cjs → types}/src/token/di/tokenTypes.d.ts.map +0 -0
  565. /package/lib/{cjs → types}/src/typed-data/data/HttpTypedDataDataSource.d.ts +0 -0
  566. /package/lib/{cjs → types}/src/typed-data/di/typedDataModuleFactory.d.ts +0 -0
  567. /package/lib/{cjs → types}/src/typed-data/di/typedDataModuleFactory.d.ts.map +0 -0
  568. /package/lib/{cjs → types}/src/typed-data/di/typedDataTypes.d.ts +0 -0
  569. /package/lib/{cjs → types}/src/typed-data/di/typedDataTypes.d.ts.map +0 -0
  570. /package/lib/{cjs → types}/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +0 -0
  571. /package/lib/{cjs → types}/src/typed-data/domain/TypedDataContextLoader.d.ts +0 -0
  572. /package/lib/{cjs → types}/src/typed-data/domain/TypedDataContextLoader.d.ts.map +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/typed-data/data/HttpTypedDataDataSource.test.ts"],
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { Right } from \"purify-ts\";\n\nimport { type ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { HttpTypedDataDataSource } from \"@/typed-data/data/HttpTypedDataDataSource\";\nimport { type TypedDataDataSource } from \"@/typed-data/data/TypedDataDataSource\";\nimport PACKAGE from \"@root/package.json\";\n\nimport { type FiltersDto, type InstructionField } from \"./FiltersDto\";\n\njest.mock(\"axios\");\n\nexport const buildDescriptor = (\n instructions: InstructionField[],\n): FiltersDto[] => [\n {\n descriptors_eip712: {\n \"0x000000000022d473030f116ddee9f6b43ac78ba3\": {\n \"4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3\": {\n schema: {\n DutchOutput: [\n {\n name: \"token\",\n type: \"address\",\n },\n {\n name: \"startAmount\",\n type: \"uint256\",\n },\n {\n name: \"endAmount\",\n type: \"uint256\",\n },\n {\n name: \"recipient\",\n type: \"address\",\n },\n ],\n EIP712Domain: [\n {\n name: \"name\",\n type: \"string\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n },\n ],\n ExclusiveDutchOrder: [\n {\n name: \"info\",\n type: \"OrderInfo\",\n },\n {\n name: \"decayStartTime\",\n type: \"uint256\",\n },\n {\n name: \"decayEndTime\",\n type: \"uint256\",\n },\n {\n name: \"exclusiveFiller\",\n type: \"address\",\n },\n {\n name: \"exclusivityOverrideBps\",\n type: \"uint256\",\n },\n {\n name: \"inputToken\",\n type: \"address\",\n },\n {\n name: \"inputStartAmount\",\n type: \"uint256\",\n },\n {\n name: \"inputEndAmount\",\n type: \"uint256\",\n },\n {\n name: \"outputs\",\n type: \"DutchOutput[]\",\n },\n ],\n OrderInfo: [\n {\n name: \"reactor\",\n type: \"address\",\n },\n {\n name: \"swapper\",\n type: \"address\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n name: \"additionalValidationContract\",\n type: \"address\",\n },\n {\n name: \"additionalValidationData\",\n type: \"bytes\",\n },\n ],\n PermitWitnessTransferFrom: [\n {\n name: \"permitted\",\n type: \"TokenPermissions\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n name: \"witness\",\n type: \"ExclusiveDutchOrder\",\n },\n ],\n TokenPermissions: [\n {\n name: \"token\",\n type: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n },\n instructions,\n },\n },\n },\n },\n];\n\ndescribe(\"HttpTypedDataDataSource\", () => {\n let datasource: TypedDataDataSource;\n\n const TEST_TYPES = {\n PermitSingle: [\n {\n name: \"details\",\n type: \"PermitDetails\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"sigDeadline\",\n type: \"uint256\",\n },\n ],\n PermitDetails: [\n {\n type: \"address\",\n name: \"token\",\n },\n {\n name: \"amount\",\n type: \"uint160\",\n },\n {\n name: \"expiration\",\n type: \"uint48\",\n },\n {\n name: \"nonce\",\n type: \"uint48\",\n },\n ],\n EIP712Domain: [\n {\n name: \"name\",\n type: \"string\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n },\n ],\n };\n\n beforeAll(() => {\n const config = {\n cal: {\n url: \"https://crypto-assets-service.api.ledger.com/v1\",\n mode: \"prod\",\n },\n } as ContextModuleConfig;\n datasource = new HttpTypedDataDataSource(config);\n jest.clearAllMocks();\n });\n\n it(\"should call axios with the ledger client version header\", async () => {\n // GIVEN\n const version = `context-module/${PACKAGE.version}`;\n const requestSpy = jest.fn(() => Promise.resolve({ data: [] }));\n jest.spyOn(axios, \"request\").mockImplementation(requestSpy);\n\n // WHEN\n await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x00\",\n version: \"v2\",\n schema: {},\n });\n\n // THEN\n expect(requestSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: { \"X-Ledger-Client-Version\": version },\n }),\n );\n });\n\n it(\"should return V2 filters when axios response is correct\", async () => {\n // GIVEN\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Permit2\",\n field_mappers_count: 4,\n descriptor:\n \"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432\",\n signatures: {\n prod: \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n type: \"message\",\n },\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n },\n {\n display_name: \"Amount allowance\",\n format: \"amount\",\n field_path: \"details.amount\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e616d6f756e74416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f\",\n },\n type: \"field\",\n },\n {\n display_name: \"Approve to spender\",\n format: \"raw\",\n field_path: \"spender\",\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df37370656e646572417070726f766520746f207370656e646572\",\n signatures: {\n prod: \"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f\",\n },\n type: \"field\",\n },\n {\n display_name: \"Approval expire\",\n format: \"datetime\",\n field_path: \"details.expiration\",\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e65787069726174696f6e417070726f76616c20657870697265\",\n signatures: {\n prod: \"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff\",\n },\n type: \"field\",\n },\n ]);\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022D473030F116DDEE9F6B43AC78BA3\",\n version: \"v2\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result).toEqual(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token\",\n tokenIndex: 0,\n signature:\n \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n {\n type: \"amount\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n tokenIndex: 0,\n signature:\n \"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f\",\n },\n {\n type: \"raw\",\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f\",\n },\n {\n type: \"datetime\",\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff\",\n },\n ],\n }),\n );\n });\n\n it(\"should return V1 filters when axios response is correct\", async () => {\n // GIVEN\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Permit2\",\n field_mappers_count: 4,\n descriptor:\n \"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432\",\n signatures: {\n prod: \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n type: \"message\",\n },\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n },\n {\n display_name: \"Amount allowance\",\n format: \"amount\",\n field_path: \"details.amount\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e616d6f756e74416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f\",\n },\n type: \"field\",\n },\n {\n display_name: \"Approve to spender\",\n format: \"raw\",\n field_path: \"spender\",\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df37370656e646572417070726f766520746f207370656e646572\",\n signatures: {\n prod: \"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f\",\n },\n type: \"field\",\n },\n {\n display_name: \"Approval expire\",\n format: \"datetime\",\n field_path: \"details.expiration\",\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e65787069726174696f6e417070726f76616c20657870697265\",\n signatures: {\n prod: \"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff\",\n },\n type: \"field\",\n },\n ]);\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result).toEqual(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n filters: [\n {\n type: \"raw\",\n displayName: \"Amount allowance\",\n path: \"details.token\",\n signature:\n \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n {\n type: \"raw\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n signature:\n \"30450221008f9e2f33b35872e63b2024a6d4938525c6e72364604da2d5e21b3d7fa44cac8a02207d4fe42c9d3994a322dae99adc2c56157435c177c51831103fdaf3cef12bb19f\",\n },\n {\n type: \"raw\",\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3045022100dddb92141e3b3f21dafb60c8d5093e28b25a8dc4f926ed501b6d2021203f68bc02201abca405540e72b5b70120a428967b776edb8a88ebd9b1d7aa320c3df602027f\",\n },\n {\n type: \"raw\",\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022060a11c1b15d07e7172e2e68a4e4aa5cbd3b5af900907634b1bce58000eab9fb502201e40963d9e2b00948ce16d3817756329e11a81e8b14b762adff68db4b3a4b8ff\",\n },\n ],\n }),\n );\n });\n\n it(\"should return an error when data is empty\", async () => {\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: undefined });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no typed data filters for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error when schema is not found\", async () => {\n const filtersDTO = buildDescriptor([]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error when schema is undefined\", async () => {\n const filtersDTO = buildDescriptor(\n undefined as unknown as InstructionField[],\n );\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if no message info is found\", async () => {\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n },\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: no message info for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if message info display name is missing\", async () => {\n const filtersDTO = buildDescriptor([\n {\n // display_name: \"Permit2\",\n field_mappers_count: 4,\n descriptor:\n \"b7000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3045065726d697432\",\n signatures: {\n prod: \"304402201675b7d8507b40de5136c386815afdad8012cb8e3f0e0a126c758d6fbb3f6b0f0220595cbfeeab7591d0eebe40f0e4ea8ea53beeaf89ee50b7faf97f97bdf36abbce\",\n },\n type: \"message\",\n } as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if field path is invalid\", async () => {\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n // field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n } as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if field display_name is invalid\", async () => {\n const filtersDTO = buildDescriptor([\n {\n // display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n } as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error if field signatures.prod is missing\", async () => {\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: 0,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n test: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n } as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error on token fileds with coin ref to null\", async () => {\n const filtersDTO = buildDescriptor([\n {\n display_name: \"Amount allowance\",\n format: \"token\",\n field_path: \"details.token\",\n coin_ref: null,\n descriptor:\n \"48000000000000a4b1000000000022d473030f116ddee9f6b43ac78ba34d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df364657461696c732e746f6b656e416d6f756e7420616c6c6f77616e6365\",\n signatures: {\n prod: \"30440220238723d4ddd47baf829d547802a2017476bf68e03d0b920fd46aa543de81d5b902206123218eae82c5f898454c45262e5b0b839dc9d84b2b0926fe14e8218b5b0d53\",\n },\n type: \"field\",\n } as unknown as InstructionField,\n ]);\n // GIVEN\n jest.spyOn(axios, \"request\").mockResolvedValue({ data: filtersDTO });\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v2\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n expect(result.extract()).toEqual(\n new Error(\n `[ContextModule] HttpTypedDataDataSource: invalid typed data field for address 0x000000000022d473030f116ddee9f6b43ac78ba3 on chain 1 for schema 4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3`,\n ),\n );\n });\n\n it(\"should return an error when axios throws an error\", async () => {\n // GIVEN\n jest.spyOn(axios, \"request\").mockRejectedValue(new Error(\"error\"));\n\n // WHEN\n const result = await datasource.getTypedDataFilters({\n chainId: 1,\n address: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n version: \"v1\",\n schema: TEST_TYPES,\n });\n\n // THEN\n expect(result.isLeft()).toEqual(true);\n });\n});\n"],
5
+ "mappings": "AAAA,OAAOA,MAAW,QAClB,OAAS,SAAAC,MAAa,YAGtB,OAAS,2BAAAC,MAA+B,4CAExC,OAAOC,MAAa,qBAIpB,KAAK,KAAK,OAAO,EAEV,MAAMC,EACXC,GACiB,CACjB,CACE,mBAAoB,CAClB,6CAA8C,CAC5C,2DAA4D,CAC1D,OAAQ,CACN,YAAa,CACX,CACE,KAAM,QACN,KAAM,SACR,EACA,CACE,KAAM,cACN,KAAM,SACR,EACA,CACE,KAAM,YACN,KAAM,SACR,EACA,CACE,KAAM,YACN,KAAM,SACR,CACF,EACA,aAAc,CACZ,CACE,KAAM,OACN,KAAM,QACR,EACA,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,oBACN,KAAM,SACR,CACF,EACA,oBAAqB,CACnB,CACE,KAAM,OACN,KAAM,WACR,EACA,CACE,KAAM,iBACN,KAAM,SACR,EACA,CACE,KAAM,eACN,KAAM,SACR,EACA,CACE,KAAM,kBACN,KAAM,SACR,EACA,CACE,KAAM,yBACN,KAAM,SACR,EACA,CACE,KAAM,aACN,KAAM,SACR,EACA,CACE,KAAM,mBACN,KAAM,SACR,EACA,CACE,KAAM,iBACN,KAAM,SACR,EACA,CACE,KAAM,UACN,KAAM,eACR,CACF,EACA,UAAW,CACT,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,QACN,KAAM,SACR,EACA,CACE,KAAM,WACN,KAAM,SACR,EACA,CACE,KAAM,+BACN,KAAM,SACR,EACA,CACE,KAAM,2BACN,KAAM,OACR,CACF,EACA,0BAA2B,CACzB,CACE,KAAM,YACN,KAAM,kBACR,EACA,CACE,KAAM,UACN,KAAM,SACR,EACA,CACE,KAAM,QACN,KAAM,SACR,EACA,CACE,KAAM,WACN,KAAM,SACR,EACA,CACE,KAAM,UACN,KAAM,qBACR,CACF,EACA,iBAAkB,CAChB,CACE,KAAM,QACN,KAAM,SACR,EACA,CACE,KAAM,SACN,KAAM,SACR,CACF,CACF,EACA,aAAAA,CACF,CACF,CACF,CACF,CACF,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",
6
+ "names": ["axios", "Right", "HttpTypedDataDataSource", "PACKAGE", "buildDescriptor", "instructions", "datasource", "TEST_TYPES", "config", "version", "requestSpy", "filtersDTO", "result"]
7
+ }
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=TypedDataDataSource.js.map
1
+ //# sourceMappingURL=TypedDataDataSource.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"TypedDataDataSource.js","sourceRoot":"","sources":["../../../../../src/typed-data/data/TypedDataDataSource.ts"],"names":[],"mappings":""}
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,9 +1,2 @@
1
- import { ContainerModule } from "inversify";
2
- import { HttpTypedDataDataSource } from "../../typed-data/data/HttpTypedDataDataSource";
3
- import { typedDataTypes } from "../../typed-data/di/typedDataTypes";
4
- import { DefaultTypedDataContextLoader } from "../../typed-data/domain/DefaultTypedDataContextLoader";
5
- export const typedDataModuleFactory = () => new ContainerModule((bind, _unbind, _isBound, _rebind) => {
6
- bind(typedDataTypes.TypedDataDataSource).to(HttpTypedDataDataSource);
7
- bind(typedDataTypes.TypedDataContextLoader).to(DefaultTypedDataContextLoader);
8
- });
9
- //# sourceMappingURL=typedDataModuleFactory.js.map
1
+ import{ContainerModule as a}from"inversify";import{HttpTypedDataDataSource as e}from"../../typed-data/data/HttpTypedDataDataSource";import{typedDataTypes as o}from"../../typed-data/di/typedDataTypes";import{DefaultTypedDataContextLoader as r}from"../../typed-data/domain/DefaultTypedDataContextLoader";const u=()=>new a((t,p,d,n)=>{t(o.TypedDataDataSource).to(e),t(o.TypedDataContextLoader).to(r)});export{u as typedDataModuleFactory};
2
+ //# sourceMappingURL=typedDataModuleFactory.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"typedDataModuleFactory.js","sourceRoot":"","sources":["../../../../../src/typed-data/di/typedDataModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAElG,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CACzC,IAAI,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IACvD,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACrE,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAC5C,6BAA6B,CAC9B,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/typed-data/di/typedDataModuleFactory.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpTypedDataDataSource } from \"@/typed-data/data/HttpTypedDataDataSource\";\nimport { typedDataTypes } from \"@/typed-data/di/typedDataTypes\";\nimport { DefaultTypedDataContextLoader } from \"@/typed-data/domain/DefaultTypedDataContextLoader\";\n\nexport const typedDataModuleFactory = () =>\n new ContainerModule((bind, _unbind, _isBound, _rebind) => {\n bind(typedDataTypes.TypedDataDataSource).to(HttpTypedDataDataSource);\n bind(typedDataTypes.TypedDataContextLoader).to(\n DefaultTypedDataContextLoader,\n );\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,2BAAAC,MAA+B,4CACxC,OAAS,kBAAAC,MAAsB,iCAC/B,OAAS,iCAAAC,MAAqC,oDAEvC,MAAMC,EAAyB,IACpC,IAAIJ,EAAgB,CAACK,EAAMC,EAASC,EAAUC,IAAY,CACxDH,EAAKH,EAAe,mBAAmB,EAAE,GAAGD,CAAuB,EACnEI,EAAKH,EAAe,sBAAsB,EAAE,GAC1CC,CACF,CACF,CAAC",
6
+ "names": ["ContainerModule", "HttpTypedDataDataSource", "typedDataTypes", "DefaultTypedDataContextLoader", "typedDataModuleFactory", "bind", "_unbind", "_isBound", "_rebind"]
7
+ }
@@ -1,5 +1,2 @@
1
- export const typedDataTypes = {
2
- TypedDataDataSource: Symbol.for("TypedDataDataSource"),
3
- TypedDataContextLoader: Symbol.for("TypedDataContextLoader"),
4
- };
5
- //# sourceMappingURL=typedDataTypes.js.map
1
+ const a={TypedDataDataSource:Symbol.for("TypedDataDataSource"),TypedDataContextLoader:Symbol.for("TypedDataContextLoader")};export{a as typedDataTypes};
2
+ //# sourceMappingURL=typedDataTypes.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"typedDataTypes.js","sourceRoot":"","sources":["../../../../../src/typed-data/di/typedDataTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACtD,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;CAC7D,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/typed-data/di/typedDataTypes.ts"],
4
+ "sourcesContent": ["export const typedDataTypes = {\n TypedDataDataSource: Symbol.for(\"TypedDataDataSource\"),\n TypedDataContextLoader: Symbol.for(\"TypedDataContextLoader\"),\n};\n"],
5
+ "mappings": "AAAO,MAAMA,EAAiB,CAC5B,oBAAqB,OAAO,IAAI,qBAAqB,EACrD,uBAAwB,OAAO,IAAI,wBAAwB,CAC7D",
6
+ "names": ["typedDataTypes"]
7
+ }
@@ -1,124 +1,2 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- import { inject, injectable } from "inversify";
14
- import { VERIFYING_CONTRACT_TOKEN_INDEX } from "../../shared/model/TypedDataClearSignContext";
15
- import { tokenTypes } from "../../token/di/tokenTypes";
16
- import { typedDataTypes } from "../../typed-data/di/typedDataTypes";
17
- let DefaultTypedDataContextLoader = class DefaultTypedDataContextLoader {
18
- dataSource;
19
- tokenDataSource;
20
- constructor(dataSource, tokenDataSource) {
21
- this.dataSource = dataSource;
22
- this.tokenDataSource = tokenDataSource;
23
- }
24
- async load(typedData) {
25
- // Get the typed data filters from the data source
26
- const data = await this.dataSource.getTypedDataFilters({
27
- address: typedData.verifyingContract,
28
- chainId: typedData.chainId,
29
- version: typedData.version,
30
- schema: typedData.schema,
31
- });
32
- // If there was an error getting the typed data filters, return an error immediately
33
- if (data.isLeft()) {
34
- return {
35
- type: "error",
36
- error: data.extract(),
37
- };
38
- }
39
- // Else, extract the message info and filters
40
- const { messageInfo, filters } = data.unsafeCoerce();
41
- // Loop through the typed data filters to extract informations
42
- const mappedFilters = {};
43
- const mappedTokens = {};
44
- for (const filter of filters) {
45
- // Add the filter to the clear signing context
46
- mappedFilters[filter.path] = filter;
47
- if (filter.type !== "token" && filter.type !== "amount") {
48
- continue; // no token reference
49
- }
50
- // If the filter references a token, retrieve its descriptor from the tokens data source
51
- const tokenIndex = filter.tokenIndex;
52
- if (mappedTokens[tokenIndex] !== undefined) {
53
- continue; // Already fetched for a previous filter
54
- }
55
- // If the filter is a token, get token address from typed message values, and fetch descriptor
56
- if (filter.type === "token") {
57
- const value = typedData.fieldsValues.find((entry) => entry.path === filter.path);
58
- if (value === undefined) {
59
- return {
60
- type: "error",
61
- error: new Error(`The token filter references the value ${filter.path} which is absent from the message`),
62
- };
63
- }
64
- // Fetch descriptor
65
- const address = this.convertAddressToHexaString(value.value);
66
- const chainId = typedData.chainId;
67
- const payload = await this.tokenDataSource.getTokenInfosPayload({
68
- address,
69
- chainId,
70
- });
71
- if (payload.isLeft()) {
72
- return {
73
- type: "error",
74
- error: payload.extract(),
75
- };
76
- }
77
- payload.ifRight((payload) => {
78
- mappedTokens[tokenIndex] = payload;
79
- });
80
- }
81
- // If the filter is an amount with a reference to the verifyingContract, fetch verifyingContract descriptor.
82
- // This is because descriptors data-sources should be compatible with Ledger devices specifications:
83
- // https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#amount-join-value
84
- else if (filter.type === "amount" &&
85
- tokenIndex === VERIFYING_CONTRACT_TOKEN_INDEX) {
86
- const address = typedData.verifyingContract;
87
- const chainId = typedData.chainId;
88
- const payload = await this.tokenDataSource.getTokenInfosPayload({
89
- address,
90
- chainId,
91
- });
92
- if (payload.isLeft()) {
93
- return {
94
- type: "error",
95
- error: payload.extract(),
96
- };
97
- }
98
- payload.ifRight((payload) => {
99
- mappedTokens[tokenIndex] = payload;
100
- });
101
- }
102
- }
103
- return {
104
- type: "success",
105
- messageInfo,
106
- filters: mappedFilters,
107
- tokens: mappedTokens,
108
- };
109
- }
110
- convertAddressToHexaString(address) {
111
- // Address size is 20 bytes so 40 characters, padded with zeros on the left
112
- return `0x${Array.from(address, (byte) => byte.toString(16).padStart(2, "0"))
113
- .join("")
114
- .padStart(40, "0")}`;
115
- }
116
- };
117
- DefaultTypedDataContextLoader = __decorate([
118
- injectable(),
119
- __param(0, inject(typedDataTypes.TypedDataDataSource)),
120
- __param(1, inject(tokenTypes.TokenDataSource)),
121
- __metadata("design:paramtypes", [Object, Object])
122
- ], DefaultTypedDataContextLoader);
123
- export { DefaultTypedDataContextLoader };
124
- //# sourceMappingURL=DefaultTypedDataContextLoader.js.map
1
+ var S=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var l=(s,e,t,o)=>{for(var a=o>1?void 0:o?k(e,t):e,d=s.length-1,r;d>=0;d--)(r=s[d])&&(a=(o?r(e,t,a):r(a))||a);return o&&a&&S(e,t,a),a},f=(s,e)=>(t,o)=>e(t,o,s);import{inject as u,injectable as D}from"inversify";import{VERIFYING_CONTRACT_TOKEN_INDEX as g}from"../../shared/model/TypedDataClearSignContext";import{tokenTypes as x}from"../../token/di/tokenTypes";import{typedDataTypes as v}from"../../typed-data/di/typedDataTypes";let y=class{constructor(e,t){this.dataSource=e;this.tokenDataSource=t}async load(e){const t=await this.dataSource.getTypedDataFilters({address:e.verifyingContract,chainId:e.chainId,version:e.version,schema:e.schema});if(t.isLeft())return{type:"error",error:t.extract()};const{messageInfo:o,filters:a}=t.unsafeCoerce(),d={},r={};for(const n of a){if(d[n.path]=n,n.type!=="token"&&n.type!=="amount")continue;const c=n.tokenIndex;if(r[c]===void 0){if(n.type==="token"){const p=e.fieldsValues.filter(i=>i.path===n.path);if(p.length===0)continue;const T=p[0],m=this.convertAddressToHexaString(T.value);if(p.every(i=>this.convertAddressToHexaString(i.value)===m)){const i=e.chainId;(await this.tokenDataSource.getTokenInfosPayload({address:m,chainId:i})).ifRight(h=>{r[c]=h})}}else if(n.type==="amount"&&c===g){const p=e.verifyingContract,T=e.chainId;(await this.tokenDataSource.getTokenInfosPayload({address:p,chainId:T})).ifRight(i=>{r[c]=i})}}}return{type:"success",messageInfo:o,filters:d,tokens:r}}convertAddressToHexaString(e){return`0x${Array.from(e,t=>t.toString(16).padStart(2,"0")).join("").padStart(40,"0")}`}};y=l([D(),f(0,u(v.TypedDataDataSource)),f(1,u(x.TokenDataSource))],y);export{y as DefaultTypedDataContextLoader};
2
+ //# sourceMappingURL=DefaultTypedDataContextLoader.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"DefaultTypedDataContextLoader.js","sourceRoot":"","sources":["../../../../../src/typed-data/domain/DefaultTypedDataContextLoader.ts"],"names":[],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/typed-data/domain/DefaultTypedDataContextLoader.ts"],
4
+ "sourcesContent": ["import type { HexaString } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport type {\n TypedDataClearSignContext,\n TypedDataFilter,\n TypedDataFilterPath,\n TypedDataToken,\n TypedDataTokenIndex,\n} from \"@/shared/model/TypedDataClearSignContext\";\nimport { VERIFYING_CONTRACT_TOKEN_INDEX } from \"@/shared/model/TypedDataClearSignContext\";\nimport type { TypedDataContext } from \"@/shared/model/TypedDataContext\";\nimport type { TokenDataSource } from \"@/token/data/TokenDataSource\";\nimport { tokenTypes } from \"@/token/di/tokenTypes\";\nimport type { TypedDataDataSource } from \"@/typed-data/data/TypedDataDataSource\";\nimport { typedDataTypes } from \"@/typed-data/di/typedDataTypes\";\nimport type { TypedDataContextLoader } from \"@/typed-data/domain/TypedDataContextLoader\";\n\n@injectable()\nexport class DefaultTypedDataContextLoader implements TypedDataContextLoader {\n constructor(\n @inject(typedDataTypes.TypedDataDataSource)\n private dataSource: TypedDataDataSource,\n @inject(tokenTypes.TokenDataSource)\n private tokenDataSource: TokenDataSource,\n ) {}\n\n async load(typedData: TypedDataContext): Promise<TypedDataClearSignContext> {\n // Get the typed data filters from the data source\n const data = await this.dataSource.getTypedDataFilters({\n address: typedData.verifyingContract,\n chainId: typedData.chainId,\n version: typedData.version,\n schema: typedData.schema,\n });\n\n // If there was an error getting the typed data filters, return an error immediately\n if (data.isLeft()) {\n return {\n type: \"error\",\n error: data.extract(),\n };\n }\n\n // Else, extract the message info and filters\n const { messageInfo, filters } = data.unsafeCoerce();\n\n // Loop through the typed data filters to extract informations\n const mappedFilters: Record<TypedDataFilterPath, TypedDataFilter> = {};\n const mappedTokens: Record<TypedDataTokenIndex, TypedDataToken> = {};\n for (const filter of filters) {\n // Add the filter to the clear signing context\n mappedFilters[filter.path] = filter;\n if (filter.type !== \"token\" && filter.type !== \"amount\") {\n continue; // no token reference\n }\n\n // If the filter references a token, retrieve its descriptor from the tokens data source\n const tokenIndex = filter.tokenIndex;\n if (mappedTokens[tokenIndex] !== undefined) {\n continue; // Already fetched for a previous filter\n }\n\n // If the filter is a token, get token address from typed message values, and fetch descriptor\n if (filter.type === \"token\") {\n const values = typedData.fieldsValues.filter(\n (entry) => entry.path === filter.path,\n );\n if (values.length === 0) {\n // No value matching the referenced token. It may be located in an empty array.\n continue;\n }\n const value = values[0]!;\n const address = this.convertAddressToHexaString(value.value);\n\n // Arrays with different tokens are not supported since there is only 1 tokenIndex per filter.\n // Only fetch tokens if all values are the same.\n if (\n values.every(\n (entry) => this.convertAddressToHexaString(entry.value) === address,\n )\n ) {\n // Fetch descriptor\n const chainId = typedData.chainId;\n const payload = await this.tokenDataSource.getTokenInfosPayload({\n address,\n chainId,\n });\n payload.ifRight((p) => {\n mappedTokens[tokenIndex] = p;\n });\n }\n }\n\n // If the filter is an amount with a reference to the verifyingContract, fetch verifyingContract descriptor.\n // This is because descriptors data-sources should be compatible with Ledger devices specifications:\n // https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#amount-join-value\n else if (\n filter.type === \"amount\" &&\n tokenIndex === VERIFYING_CONTRACT_TOKEN_INDEX\n ) {\n const address = typedData.verifyingContract;\n const chainId = typedData.chainId;\n const payload = await this.tokenDataSource.getTokenInfosPayload({\n address,\n chainId,\n });\n payload.ifRight((p) => {\n mappedTokens[tokenIndex] = p;\n });\n }\n }\n\n return {\n type: \"success\",\n messageInfo,\n filters: mappedFilters,\n tokens: mappedTokens,\n };\n }\n\n private convertAddressToHexaString(address: Uint8Array): HexaString {\n // Address size is 20 bytes so 40 characters, padded with zeros on the left\n return `0x${Array.from(address, (byte) =>\n byte.toString(16).padStart(2, \"0\"),\n )\n .join(\"\")\n .padStart(40, \"0\")}`;\n }\n}\n"],
5
+ "mappings": "iOACA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YASnC,OAAS,kCAAAC,MAAsC,2CAG/C,OAAS,cAAAC,MAAkB,wBAE3B,OAAS,kBAAAC,MAAsB,iCAIxB,IAAMC,EAAN,KAAsE,CAC3E,YAEUC,EAEAC,EACR,CAHQ,gBAAAD,EAEA,qBAAAC,CACP,CAEH,MAAM,KAAKC,EAAiE,CAE1E,MAAMC,EAAO,MAAM,KAAK,WAAW,oBAAoB,CACrD,QAASD,EAAU,kBACnB,QAASA,EAAU,QACnB,QAASA,EAAU,QACnB,OAAQA,EAAU,MACpB,CAAC,EAGD,GAAIC,EAAK,OAAO,EACd,MAAO,CACL,KAAM,QACN,MAAOA,EAAK,QAAQ,CACtB,EAIF,KAAM,CAAE,YAAAC,EAAa,QAAAC,CAAQ,EAAIF,EAAK,aAAa,EAG7CG,EAA8D,CAAC,EAC/DC,EAA4D,CAAC,EACnE,UAAWC,KAAUH,EAAS,CAG5B,GADAC,EAAcE,EAAO,IAAI,EAAIA,EACzBA,EAAO,OAAS,SAAWA,EAAO,OAAS,SAC7C,SAIF,MAAMC,EAAaD,EAAO,WAC1B,GAAID,EAAaE,CAAU,IAAM,QAKjC,GAAID,EAAO,OAAS,QAAS,CAC3B,MAAME,EAASR,EAAU,aAAa,OACnCS,GAAUA,EAAM,OAASH,EAAO,IACnC,EACA,GAAIE,EAAO,SAAW,EAEpB,SAEF,MAAME,EAAQF,EAAO,CAAC,EAChBG,EAAU,KAAK,2BAA2BD,EAAM,KAAK,EAI3D,GACEF,EAAO,MACJC,GAAU,KAAK,2BAA2BA,EAAM,KAAK,IAAME,CAC9D,EACA,CAEA,MAAMC,EAAUZ,EAAU,SACV,MAAM,KAAK,gBAAgB,qBAAqB,CAC9D,QAAAW,EACA,QAAAC,CACF,CAAC,GACO,QAASC,GAAM,CACrBR,EAAaE,CAAU,EAAIM,CAC7B,CAAC,CACH,CACF,SAMEP,EAAO,OAAS,UAChBC,IAAeO,EACf,CACA,MAAMH,EAAUX,EAAU,kBACpBY,EAAUZ,EAAU,SACV,MAAM,KAAK,gBAAgB,qBAAqB,CAC9D,QAAAW,EACA,QAAAC,CACF,CAAC,GACO,QAASC,GAAM,CACrBR,EAAaE,CAAU,EAAIM,CAC7B,CAAC,CACH,EACF,CAEA,MAAO,CACL,KAAM,UACN,YAAAX,EACA,QAASE,EACT,OAAQC,CACV,CACF,CAEQ,2BAA2BM,EAAiC,CAElE,MAAO,KAAK,MAAM,KAAKA,EAAUI,GAC/BA,EAAK,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CACnC,EACG,KAAK,EAAE,EACP,SAAS,GAAI,GAAG,CAAC,EACtB,CACF,EA9GalB,EAANmB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAe,mBAAmB,GAEzCF,EAAA,EAAAC,EAAOE,EAAW,eAAe,IAJzBxB",
6
+ "names": ["inject", "injectable", "VERIFYING_CONTRACT_TOKEN_INDEX", "tokenTypes", "typedDataTypes", "DefaultTypedDataContextLoader", "dataSource", "tokenDataSource", "typedData", "data", "messageInfo", "filters", "mappedFilters", "mappedTokens", "filter", "tokenIndex", "values", "entry", "value", "address", "chainId", "p", "VERIFYING_CONTRACT_TOKEN_INDEX", "byte", "__decorateClass", "injectable", "__decorateParam", "inject", "typedDataTypes", "tokenTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{Left as b,Right as s}from"purify-ts";import{DefaultTypedDataContextLoader as o}from"../../typed-data/domain/DefaultTypedDataContextLoader";describe("TokenContextLoader",()=>{const f={getTokenInfosPayload:jest.fn()},t={getTypedDataFilters:jest.fn()},d=new o(t,f),c={PermitSingle:[{name:"details",type:"PermitDetails"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:[{type:"address[]",name:"token"},{name:"amount",type:"uint160"},{name:"expiration",type:"uint48"},{name:"nonce",type:"uint48"}],EIP712Domain:[{name:"name",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}]},n=[{path:"details.token.[]",value:Uint8Array.from([124,235,35,253,107,192,173,213,158,98,172,37,87,130,112,207,241,185,246,25])},{path:"details.amount",value:Uint8Array.from([18])},{path:"spender",value:Uint8Array.from([18])},{path:"details.expiration",value:Uint8Array.from([18])}];beforeEach(()=>{jest.clearAllMocks(),jest.spyOn(f,"getTokenInfosPayload").mockImplementation(({address:a})=>Promise.resolve(s(`payload-${a}`)))}),describe("load function",()=>{it("success with referenced token",async()=>{const a={verifyingContract:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainId:1,version:"v2",schema:c,fieldsValues:n};jest.spyOn(t,"getTypedDataFilters").mockImplementation(()=>Promise.resolve(s({messageInfo:{displayName:"Permit2",filtersCount:4,signature:"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3"},filters:[{type:"token",displayName:"Amount allowance",path:"details.token.[]",tokenIndex:0,signature:"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733"},{type:"amount",displayName:"Amount allowance",path:"details.amount",tokenIndex:0,signature:"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3"},{type:"raw",displayName:"Approve to spender",path:"spender",signature:"3044022033e5713d9cb9bc375b56a9fb53b736c81ea3c4ac5cfb2d3ca7f8b8f0558fe2430220543ca4fef6d6f725f29e343f167fe9dd582aa856ecb5797259050eb990a1befb"},{type:"datetime",displayName:"Approval expire",path:"details.expiration",signature:"3044022056b3381e4540629ad73bc434ec49d80523234b82f62340fbb77157fb0eb21a680220459fe9cf6ca309f9c7dfc6d4711fea1848dba661563c57f77b3c2dc480b3a63b"}]})));const e=await d.load(a);expect(e).toEqual({type:"success",messageInfo:{displayName:"Permit2",filtersCount:4,signature:"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3"},tokens:{0:"payload-0x7ceb23fd6bc0add59e62ac25578270cff1b9f619"},filters:{"details.amount":{displayName:"Amount allowance",path:"details.amount",signature:"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3",tokenIndex:0,type:"amount"},"details.expiration":{displayName:"Approval expire",path:"details.expiration",signature:"3044022056b3381e4540629ad73bc434ec49d80523234b82f62340fbb77157fb0eb21a680220459fe9cf6ca309f9c7dfc6d4711fea1848dba661563c57f77b3c2dc480b3a63b",type:"datetime"},"details.token.[]":{displayName:"Amount allowance",path:"details.token.[]",signature:"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733",tokenIndex:0,type:"token"},spender:{displayName:"Approve to spender",path:"spender",signature:"3044022033e5713d9cb9bc375b56a9fb53b736c81ea3c4ac5cfb2d3ca7f8b8f0558fe2430220543ca4fef6d6f725f29e343f167fe9dd582aa856ecb5797259050eb990a1befb",type:"raw"}}})}),it("success with referenced token verifying contract",async()=>{const a={verifyingContract:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainId:1,version:"v2",schema:c,fieldsValues:n};jest.spyOn(t,"getTypedDataFilters").mockImplementation(()=>Promise.resolve(s({messageInfo:{displayName:"Permit2",filtersCount:2,signature:"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3"},filters:[{type:"token",displayName:"Amount allowance",path:"details.token.[]",tokenIndex:0,signature:"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733"},{type:"amount",displayName:"Amount allowance",path:"details.amount",tokenIndex:255,signature:"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3"}]})));const e=await d.load(a);expect(e).toEqual({type:"success",messageInfo:{displayName:"Permit2",filtersCount:2,signature:"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3"},tokens:{0:"payload-0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",255:"payload-0x000000000022d473030f116ddee9f6b43ac78ba3"},filters:{"details.amount":{displayName:"Amount allowance",path:"details.amount",signature:"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3",tokenIndex:255,type:"amount"},"details.token.[]":{displayName:"Amount allowance",path:"details.token.[]",signature:"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733",tokenIndex:0,type:"token"}}})}),it("should return an error if filters are unavailable",async()=>{const a={verifyingContract:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainId:1,version:"v2",schema:c,fieldsValues:n};jest.spyOn(t,"getTypedDataFilters").mockImplementation(()=>Promise.resolve(b(new Error("error"))));const e=await d.load(a);expect(e).toEqual({type:"error",error:new Error("error")})}),it("success with unavailable tokens",async()=>{const a={verifyingContract:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainId:1,version:"v2",schema:c,fieldsValues:n};jest.spyOn(t,"getTypedDataFilters").mockImplementation(()=>Promise.resolve(s({messageInfo:{displayName:"Permit2",filtersCount:2,signature:"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3"},filters:[{type:"token",displayName:"Amount allowance",path:"details.token.[]",tokenIndex:0,signature:"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733"}]}))),jest.spyOn(f,"getTokenInfosPayload").mockImplementation(()=>Promise.resolve(b(new Error("token error"))));const e=await d.load(a);expect(e).toEqual({type:"success",messageInfo:{displayName:"Permit2",filtersCount:2,signature:"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3"},tokens:{},filters:{"details.token.[]":{displayName:"Amount allowance",path:"details.token.[]",signature:"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733",tokenIndex:0,type:"token"}}})}),it("success with several identic tokens",async()=>{const a={verifyingContract:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainId:1,version:"v2",schema:c,fieldsValues:[{path:"details.token.[]",value:Uint8Array.from([124,235,35,253,107,192,173,213,158,98,172,37,87,130,112,207,241,185,246,25])},...n]};jest.spyOn(t,"getTypedDataFilters").mockImplementation(()=>Promise.resolve(s({messageInfo:{displayName:"Permit2",filtersCount:2,signature:"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3"},filters:[{type:"token",displayName:"Amount allowance",path:"details.token.[]",tokenIndex:0,signature:"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733"}]}))),jest.spyOn(f,"getTokenInfosPayload").mockImplementation(()=>Promise.resolve(b(new Error("token error"))));const e=await d.load(a);expect(f.getTokenInfosPayload).toHaveBeenCalledWith({address:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",chainId:1}),expect(e.type).toEqual("success")}),it("success with several different tokens",async()=>{const a={verifyingContract:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainId:1,version:"v2",schema:c,fieldsValues:[{path:"details.token.[]",value:Uint8Array.from([124,235,35,253,107,192,173,213,158,98,172,37,87,130,112,207,241,185,246,255])},...n]};jest.spyOn(t,"getTypedDataFilters").mockImplementation(()=>Promise.resolve(s({messageInfo:{displayName:"Permit2",filtersCount:2,signature:"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3"},filters:[{type:"token",displayName:"Amount allowance",path:"details.token.[]",tokenIndex:0,signature:"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733"}]})));const e=await d.load(a);expect(f.getTokenInfosPayload).not.toHaveBeenCalledWith({address:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f6ff",chainId:1}),expect(f.getTokenInfosPayload).not.toHaveBeenCalledWith({address:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",chainId:1}),expect(e.type).toEqual("success")}),it("should ignore the token if value is not found",async()=>{const a={verifyingContract:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainId:1,version:"v2",schema:c,fieldsValues:n};jest.spyOn(t,"getTypedDataFilters").mockImplementation(()=>Promise.resolve(s({messageInfo:{displayName:"Permit2",filtersCount:2,signature:"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3"},filters:[{type:"token",displayName:"Amount allowance",path:"details.badtoken",tokenIndex:0,signature:"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733"}]})));const e=await d.load(a);expect(e.type).toEqual("success"),e.type==="success"&&(expect(e.filters["details.badtoken"]?.displayName).toEqual("Amount allowance"),expect(e.tokens).toEqual({}))})})});
2
+ //# sourceMappingURL=DefaultTypedDataContextLoader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/typed-data/domain/DefaultTypedDataContextLoader.test.ts"],
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport type { TypedDataContext } from \"@/shared/model/TypedDataContext\";\nimport type { TokenDataSource } from \"@/token/data/TokenDataSource\";\nimport type { TypedDataDataSource } from \"@/typed-data/data/TypedDataDataSource\";\nimport { DefaultTypedDataContextLoader } from \"@/typed-data/domain/DefaultTypedDataContextLoader\";\n\ndescribe(\"TokenContextLoader\", () => {\n const mockTokenDataSource: TokenDataSource = {\n getTokenInfosPayload: jest.fn(),\n };\n const mockTypedDataDataSource: TypedDataDataSource = {\n getTypedDataFilters: jest.fn(),\n };\n const loader = new DefaultTypedDataContextLoader(\n mockTypedDataDataSource,\n mockTokenDataSource,\n );\n\n const TEST_TYPES = {\n PermitSingle: [\n {\n name: \"details\",\n type: \"PermitDetails\",\n },\n {\n name: \"spender\",\n type: \"address\",\n },\n {\n name: \"sigDeadline\",\n type: \"uint256\",\n },\n ],\n PermitDetails: [\n {\n type: \"address[]\",\n name: \"token\",\n },\n {\n name: \"amount\",\n type: \"uint160\",\n },\n {\n name: \"expiration\",\n type: \"uint48\",\n },\n {\n name: \"nonce\",\n type: \"uint48\",\n },\n ],\n EIP712Domain: [\n {\n name: \"name\",\n type: \"string\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n },\n ],\n };\n const TEST_VALUES = [\n {\n path: \"details.token.[]\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac, 0x25,\n 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0x19,\n ]),\n },\n {\n path: \"details.amount\",\n value: Uint8Array.from([0x12]),\n },\n {\n path: \"spender\",\n value: Uint8Array.from([0x12]),\n },\n {\n path: \"details.expiration\",\n value: Uint8Array.from([0x12]),\n },\n ];\n\n beforeEach(() => {\n jest.clearAllMocks();\n jest\n .spyOn(mockTokenDataSource, \"getTokenInfosPayload\")\n .mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n });\n\n describe(\"load function\", () => {\n it(\"success with referenced token\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n {\n type: \"amount\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n tokenIndex: 0,\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n },\n {\n type: \"raw\",\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3044022033e5713d9cb9bc375b56a9fb53b736c81ea3c4ac5cfb2d3ca7f8b8f0558fe2430220543ca4fef6d6f725f29e343f167fe9dd582aa856ecb5797259050eb990a1befb\",\n },\n {\n type: \"datetime\",\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022056b3381e4540629ad73bc434ec49d80523234b82f62340fbb77157fb0eb21a680220459fe9cf6ca309f9c7dfc6d4711fea1848dba661563c57f77b3c2dc480b3a63b\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 4,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n tokens: {\n 0: \"payload-0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n },\n filters: {\n \"details.amount\": {\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n tokenIndex: 0,\n type: \"amount\",\n },\n \"details.expiration\": {\n displayName: \"Approval expire\",\n path: \"details.expiration\",\n signature:\n \"3044022056b3381e4540629ad73bc434ec49d80523234b82f62340fbb77157fb0eb21a680220459fe9cf6ca309f9c7dfc6d4711fea1848dba661563c57f77b3c2dc480b3a63b\",\n type: \"datetime\",\n },\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n tokenIndex: 0,\n type: \"token\",\n },\n spender: {\n displayName: \"Approve to spender\",\n path: \"spender\",\n signature:\n \"3044022033e5713d9cb9bc375b56a9fb53b736c81ea3c4ac5cfb2d3ca7f8b8f0558fe2430220543ca4fef6d6f725f29e343f167fe9dd582aa856ecb5797259050eb990a1befb\",\n type: \"raw\",\n },\n },\n });\n });\n\n it(\"success with referenced token verifying contract\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n {\n type: \"amount\",\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n tokenIndex: 255,\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n tokens: {\n 0: \"payload-0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n 255: \"payload-0x000000000022d473030f116ddee9f6b43ac78ba3\",\n },\n filters: {\n \"details.amount\": {\n displayName: \"Amount allowance\",\n path: \"details.amount\",\n signature:\n \"304402201a46e6b4ef89eaf9fcf4945d053bfc5616a826400fd758312fbbe976bafc07ec022025a9b408722baf983ee053f90179c75b0c55bb0668f437d55493e36069bbd5a3\",\n tokenIndex: 255,\n type: \"amount\",\n },\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n tokenIndex: 0,\n type: \"token\",\n },\n },\n });\n });\n\n it(\"should return an error if filters are unavailable\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() => Promise.resolve(Left(new Error(\"error\"))));\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"error\",\n error: new Error(\"error\"),\n });\n });\n\n it(\"success with unavailable tokens\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n jest\n .spyOn(mockTokenDataSource, \"getTokenInfosPayload\")\n .mockImplementation(() =>\n Promise.resolve(Left(new Error(\"token error\"))),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result).toEqual({\n type: \"success\",\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n tokens: {},\n filters: {\n \"details.token.[]\": {\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n tokenIndex: 0,\n type: \"token\",\n },\n },\n });\n });\n\n it(\"success with several identic tokens\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: [\n {\n path: \"details.token.[]\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac,\n 0x25, 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0x19,\n ]),\n },\n ...TEST_VALUES,\n ],\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n jest\n .spyOn(mockTokenDataSource, \"getTokenInfosPayload\")\n .mockImplementation(() =>\n Promise.resolve(Left(new Error(\"token error\"))),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(mockTokenDataSource.getTokenInfosPayload).toHaveBeenCalledWith({\n address: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\",\n chainId: 1,\n });\n expect(result.type).toEqual(\"success\");\n });\n\n it(\"success with several different tokens\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: [\n {\n path: \"details.token.[]\",\n value: Uint8Array.from([\n 0x7c, 0xeb, 0x23, 0xfd, 0x6b, 0xc0, 0xad, 0xd5, 0x9e, 0x62, 0xac,\n 0x25, 0x57, 0x82, 0x70, 0xcf, 0xf1, 0xb9, 0xf6, 0xff,\n ]),\n },\n ...TEST_VALUES,\n ],\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.token.[]\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(mockTokenDataSource.getTokenInfosPayload).not.toHaveBeenCalledWith(\n { address: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f6ff\", chainId: 1 },\n );\n expect(mockTokenDataSource.getTokenInfosPayload).not.toHaveBeenCalledWith(\n { address: \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\", chainId: 1 },\n );\n expect(result.type).toEqual(\"success\");\n });\n\n it(\"should ignore the token if value is not found\", async () => {\n // GIVEN\n const ctx = {\n verifyingContract: \"0x000000000022d473030f116ddee9f6b43ac78ba3\",\n chainId: 1,\n version: \"v2\",\n schema: TEST_TYPES,\n fieldsValues: TEST_VALUES,\n } as TypedDataContext;\n jest\n .spyOn(mockTypedDataDataSource, \"getTypedDataFilters\")\n .mockImplementation(() =>\n Promise.resolve(\n Right({\n messageInfo: {\n displayName: \"Permit2\",\n filtersCount: 2,\n signature:\n \"3045022100e3c597d13d28a87a88b0239404c668373cf5063362f2a81d09eed4582941dfe802207669aabb504fd5b95b2734057f6b8bbf51f14a69a5f9bdf658a5952cefbf44d3\",\n },\n filters: [\n {\n type: \"token\",\n displayName: \"Amount allowance\",\n path: \"details.badtoken\",\n tokenIndex: 0,\n signature:\n \"3044022075103b38995e031d1ebbfe38ac6603bec32854b5146a664e49b4cc4f460c1da6022029f4b0fd1f3b7995ffff1627d4b57f27888a2dcc9b3a4e85c37c67571092c733\",\n },\n ],\n }),\n ),\n );\n\n // WHEN\n const result = await loader.load(ctx);\n\n // THEN\n expect(result.type).toEqual(\"success\");\n if (result.type === \"success\") {\n expect(result.filters[\"details.badtoken\"]?.[\"displayName\"]).toEqual(\n \"Amount allowance\",\n );\n expect(result.tokens).toEqual({});\n }\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Left", "Right", "DefaultTypedDataContextLoader", "mockTokenDataSource", "mockTypedDataDataSource", "loader", "TEST_TYPES", "TEST_VALUES", "address", "ctx", "result"]
7
+ }
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=TypedDataContextLoader.js.map
1
+ //# sourceMappingURL=TypedDataContextLoader.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"TypedDataContextLoader.js","sourceRoot":"","sources":["../../../../../src/typed-data/domain/TypedDataContextLoader.ts"],"names":[],"mappings":""}
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,8 +1,9 @@
1
- import { ClearSignContext } from "./shared/model/ClearSignContext";
2
- import { TransactionContext } from "./shared/model/TransactionContext";
1
+ import { type ClearSignContext } from "./shared/model/ClearSignContext";
2
+ import { type TransactionContext, type TransactionFieldContext } from "./shared/model/TransactionContext";
3
3
  import { type TypedDataClearSignContext } from "./shared/model/TypedDataClearSignContext";
4
4
  import { type TypedDataContext } from "./shared/model/TypedDataContext";
5
5
  export interface ContextModule {
6
+ getContext(field: TransactionFieldContext): Promise<ClearSignContext>;
6
7
  getContexts(transaction: TransactionContext): Promise<ClearSignContext[]>;
7
8
  getTypedDataFilters(typedData: TypedDataContext): Promise<TypedDataClearSignContext>;
8
9
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextModule.d.ts","sourceRoot":"","sources":["../../../src/ContextModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtE,WAAW,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1E,mBAAmB,CACjB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvC"}
@@ -1,20 +1,17 @@
1
- import { ContextModuleConfig } from "./config/model/ContextModuleConfig";
2
- import { ContextLoader } from "./shared/domain/ContextLoader";
1
+ import { type ContextModuleCalConfig, type ContextModuleConfig } from "./config/model/ContextModuleConfig";
2
+ import { type ContextLoader } from "./shared/domain/ContextLoader";
3
3
  import { type TypedDataContextLoader } from "./typed-data/domain/TypedDataContextLoader";
4
- import { ContextModule } from "./ContextModule";
4
+ import { type ContextModule } from "./ContextModule";
5
5
  export declare const DEFAULT_CONFIG: ContextModuleConfig;
6
6
  export declare class ContextModuleBuilder {
7
7
  private config;
8
- private customLoaders;
9
- private defaultLoaders;
10
- private customTypedDataLoader?;
11
8
  constructor();
12
9
  /**
13
10
  * Remove default loaders from the list of loaders
14
11
  *
15
12
  * @returns this
16
13
  */
17
- withoutDefaultLoaders(): this;
14
+ removeDefaultLoaders(): this;
18
15
  /**
19
16
  * Add a custom loader to the list of loaders
20
17
  *
@@ -25,16 +22,17 @@ export declare class ContextModuleBuilder {
25
22
  /**
26
23
  * Replace the default loader for typed data clear signing contexts
27
24
  *
25
+ * @param loader loader to use for typed data clear signing contexts
28
26
  * @returns this
29
27
  */
30
- withTypedDataLoader(loader: TypedDataContextLoader): this;
28
+ addTypedDataLoader(loader: TypedDataContextLoader): this;
31
29
  /**
32
- * Set the configuration for the context module
30
+ * Add a custom CAL configuration
33
31
  *
34
- * @param config configuration for the context module
32
+ * @param calConfig
35
33
  * @returns this
36
34
  */
37
- withConfig(config: Partial<ContextModuleConfig>): this;
35
+ addCalConfig(calConfig: ContextModuleCalConfig): this;
38
36
  /**
39
37
  * Build the context module
40
38
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextModuleBuilder.d.ts","sourceRoot":"","sources":["../../../src/ContextModuleBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD,eAAO,MAAM,cAAc,EAAE,mBAS5B,CAAC;AAEF,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAuC;;IAIrD;;;;OAIG;IACH,oBAAoB;IAKpB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa;IAK/B;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,sBAAsB;IAKjD;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,sBAAsB;IAK9C;;;;OAIG;IACH,KAAK,IAAI,aAAa;CAGvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ContextModuleBuilder.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextModuleBuilder.test.d.ts","sourceRoot":"","sources":["../../../src/ContextModuleBuilder.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { TypedDataClearSignContext } from "./shared/model/TypedDataClearSignContext";
2
+ import type { TypedDataContext } from "./shared/model/TypedDataContext";
3
+ import { type ContextModuleConfig } from "./config/model/ContextModuleConfig";
4
+ import { type ClearSignContext } from "./shared/model/ClearSignContext";
5
+ import { type TransactionContext, type TransactionFieldContext } from "./shared/model/TransactionContext";
6
+ import { type ContextModule } from "./ContextModule";
7
+ export declare class DefaultContextModule implements ContextModule {
8
+ private _container;
9
+ private _loaders;
10
+ private _typedDataLoader;
11
+ constructor(args: ContextModuleConfig);
12
+ private _getDefaultLoaders;
13
+ private _getDefaultTypedDataLoader;
14
+ getContexts(transaction: TransactionContext): Promise<ClearSignContext[]>;
15
+ getContext(field: TransactionFieldContext): Promise<ClearSignContext>;
16
+ getTypedDataFilters(typedData: TypedDataContext): Promise<TypedDataClearSignContext>;
17
+ }
18
+ //# sourceMappingURL=DefaultContextModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultContextModule.d.ts","sourceRoot":"","sources":["../../../src/DefaultContextModule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAIxE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAM9E,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAC;AAO3C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,gBAAgB,CAAyB;gBAErC,IAAI,EAAE,mBAAmB;IAQrC,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,0BAA0B;IAMrB,WAAW,CACtB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAMjB,UAAU,CACrB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAaf,mBAAmB,CAC9B,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,yBAAyB,CAAC;CAGtC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DefaultContextModule.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultContextModule.test.d.ts","sourceRoot":"","sources":["../../../src/DefaultContextModule.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
1
  import { ContainerModule } from "inversify";
2
- import { ContextModuleConfig } from "../../config/model/ContextModuleConfig";
2
+ import { type ContextModuleConfig } from "../../config/model/ContextModuleConfig";
3
3
  export declare const configModuleFactory: (config: ContextModuleConfig) => ContainerModule;
4
4
  //# sourceMappingURL=configModuleFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../src/config/di/configModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAIzE,eAAO,MAAM,mBAAmB,WAAY,mBAAmB,oBAG3D,CAAC"}
1
+ {"version":3,"file":"configModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../src/config/di/configModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAI9E,eAAO,MAAM,mBAAmB,WAAY,mBAAmB,oBAG3D,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type ContextLoader } from "../../shared/domain/ContextLoader";
2
+ import { type TypedDataContextLoader } from "../../typed-data/domain/TypedDataContextLoader";
3
+ export type ContextModuleCalMode = "prod" | "test";
4
+ export type ContextModuleCalBranch = "next" | "main" | "demo";
5
+ export type ContextModuleCalConfig = {
6
+ url: string;
7
+ mode: ContextModuleCalMode;
8
+ branch: ContextModuleCalBranch;
9
+ };
10
+ export type ContextModuleConfig = {
11
+ cal: ContextModuleCalConfig;
12
+ defaultLoaders: boolean;
13
+ customLoaders: ContextLoader[];
14
+ customTypedDataLoader?: TypedDataContextLoader;
15
+ };
16
+ //# sourceMappingURL=ContextModuleConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextModuleConfig.d.ts","sourceRoot":"","sources":["../../../../../src/config/model/ContextModuleConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEzF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;CAChD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Container } from "inversify";
2
- import { ContextModuleConfig } from "./config/model/ContextModuleConfig";
2
+ import { type ContextModuleConfig } from "./config/model/ContextModuleConfig";
3
3
  type MakeContainerArgs = {
4
4
  config: ContextModuleConfig;
5
5
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/di.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAQ9E,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,aAAa,eAAgB,iBAAiB,cAc1D,CAAC"}
@@ -1,6 +1,6 @@
1
- import { HexaString } from "@ledgerhq/device-management-kit";
2
- import { Either } from "purify-ts";
3
- import { DappInfos } from "../../external-plugin/model/DappInfos";
1
+ import { type HexaString } from "@ledgerhq/device-management-kit";
2
+ import { type Either } from "purify-ts";
3
+ import { type DappInfos } from "../../external-plugin/model/DappInfos";
4
4
  export type GetDappInfos = {
5
5
  address: string;
6
6
  selector: HexaString;