@ledgerhq/context-module 1.12.0 → 1.13.0

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 (162) hide show
  1. package/lib/cjs/package.json +1 -1
  2. package/lib/cjs/src/ContextModuleBuilder.js +1 -1
  3. package/lib/cjs/src/ContextModuleBuilder.js.map +3 -3
  4. package/lib/cjs/src/ContextModuleBuilder.test.js +1 -1
  5. package/lib/cjs/src/ContextModuleBuilder.test.js.map +3 -3
  6. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  7. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  8. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +1 -1
  9. package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +3 -3
  10. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +1 -1
  11. package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +3 -3
  12. package/lib/cjs/src/config/model/ContextModuleBuildArgs.js.map +1 -1
  13. package/lib/cjs/src/config/model/ContextModuleConfig.js +1 -1
  14. package/lib/cjs/src/config/model/ContextModuleConfig.js.map +1 -1
  15. package/lib/cjs/src/di.js +1 -1
  16. package/lib/cjs/src/di.js.map +2 -2
  17. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js +1 -1
  18. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +3 -3
  19. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +1 -1
  20. package/lib/cjs/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +3 -3
  21. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  22. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  23. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  24. package/lib/cjs/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  25. package/lib/cjs/src/nft/domain/NftContextLoader.js +1 -1
  26. package/lib/cjs/src/nft/domain/NftContextLoader.js.map +3 -3
  27. package/lib/cjs/src/nft/domain/NftContextLoader.test.js +1 -1
  28. package/lib/cjs/src/nft/domain/NftContextLoader.test.js.map +3 -3
  29. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.js.map +1 -1
  30. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js +1 -1
  31. package/lib/cjs/src/solana/domain/DefaultSolanaContextLoader.test.js.map +3 -3
  32. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +1 -1
  33. package/lib/cjs/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +3 -3
  34. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js +1 -1
  35. package/lib/cjs/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +3 -3
  36. package/lib/cjs/src/token/domain/TokenContextLoader.js +1 -1
  37. package/lib/cjs/src/token/domain/TokenContextLoader.js.map +3 -3
  38. package/lib/cjs/src/token/domain/TokenContextLoader.test.js +1 -1
  39. package/lib/cjs/src/token/domain/TokenContextLoader.test.js.map +3 -3
  40. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js +1 -1
  41. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.js.map +3 -3
  42. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js +1 -1
  43. package/lib/cjs/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +3 -3
  44. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js +1 -1
  45. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +3 -3
  46. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +1 -1
  47. package/lib/cjs/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +3 -3
  48. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  49. package/lib/cjs/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  50. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  51. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  52. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  53. package/lib/cjs/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  54. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  55. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  56. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  57. package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  58. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js +1 -1
  59. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  60. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  61. package/lib/cjs/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  62. package/lib/esm/package.json +1 -1
  63. package/lib/esm/src/ContextModuleBuilder.js +1 -1
  64. package/lib/esm/src/ContextModuleBuilder.js.map +3 -3
  65. package/lib/esm/src/ContextModuleBuilder.test.js +1 -1
  66. package/lib/esm/src/ContextModuleBuilder.test.js.map +3 -3
  67. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  68. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  69. package/lib/esm/src/calldata/domain/CalldataContextLoader.js +1 -1
  70. package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +3 -3
  71. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +1 -1
  72. package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +3 -3
  73. package/lib/esm/src/di.js +1 -1
  74. package/lib/esm/src/di.js.map +2 -2
  75. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js +1 -1
  76. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.js.map +3 -3
  77. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js +1 -1
  78. package/lib/esm/src/dynamic-network/domain/DynamicNetworkContextLoader.test.js.map +3 -3
  79. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js +1 -1
  80. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.js.map +3 -3
  81. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js +1 -1
  82. package/lib/esm/src/external-plugin/domain/ExternalPluginContextLoader.test.js.map +3 -3
  83. package/lib/esm/src/nft/domain/NftContextLoader.js +1 -1
  84. package/lib/esm/src/nft/domain/NftContextLoader.js.map +3 -3
  85. package/lib/esm/src/nft/domain/NftContextLoader.test.js +1 -1
  86. package/lib/esm/src/nft/domain/NftContextLoader.test.js.map +3 -3
  87. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.js.map +1 -1
  88. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js +1 -1
  89. package/lib/esm/src/solana/domain/DefaultSolanaContextLoader.test.js.map +3 -3
  90. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js +1 -1
  91. package/lib/esm/src/solanaLifi/domain/SolanaLifiContextLoader.test.js.map +3 -3
  92. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js +1 -1
  93. package/lib/esm/src/solanaToken/domain/SolanaTokenContextLoader.test.js.map +3 -3
  94. package/lib/esm/src/token/domain/TokenContextLoader.js +1 -1
  95. package/lib/esm/src/token/domain/TokenContextLoader.js.map +3 -3
  96. package/lib/esm/src/token/domain/TokenContextLoader.test.js +1 -1
  97. package/lib/esm/src/token/domain/TokenContextLoader.test.js.map +3 -3
  98. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js +1 -1
  99. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.js.map +3 -3
  100. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js +1 -1
  101. package/lib/esm/src/transaction-check/domain/TransactionCheckContextLoader.test.js.map +3 -3
  102. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js +1 -1
  103. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.js.map +3 -3
  104. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js +1 -1
  105. package/lib/esm/src/transaction-check/domain/TypedDataCheckContextLoader.test.js.map +3 -3
  106. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js +1 -1
  107. package/lib/esm/src/trusted-name/di/trustedNameModuleFactory.js.map +3 -3
  108. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js +1 -1
  109. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.js.map +3 -3
  110. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js +1 -1
  111. package/lib/esm/src/trusted-name/domain/TrustedNameContextLoader.test.js.map +3 -3
  112. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
  113. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +3 -3
  114. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
  115. package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +3 -3
  116. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js +1 -1
  117. package/lib/esm/src/uniswap/domain/UniswapContextLoader.js.map +3 -3
  118. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js +1 -1
  119. package/lib/esm/src/uniswap/domain/UniswapContextLoader.test.js.map +3 -3
  120. package/lib/types/src/ContextModuleBuilder.d.ts +10 -3
  121. package/lib/types/src/ContextModuleBuilder.d.ts.map +1 -1
  122. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +3 -2
  123. package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -1
  124. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts +1 -1
  125. package/lib/types/src/config/model/ContextModuleBuildArgs.d.ts.map +1 -1
  126. package/lib/types/src/config/model/ContextModuleConfig.d.ts +2 -0
  127. package/lib/types/src/config/model/ContextModuleConfig.d.ts.map +1 -1
  128. package/lib/types/src/di.d.ts.map +1 -1
  129. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts +3 -2
  130. package/lib/types/src/dynamic-network/domain/DynamicNetworkContextLoader.d.ts.map +1 -1
  131. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts +3 -2
  132. package/lib/types/src/external-plugin/domain/ExternalPluginContextLoader.d.ts.map +1 -1
  133. package/lib/types/src/nft/domain/NftContextLoader.d.ts +3 -2
  134. package/lib/types/src/nft/domain/NftContextLoader.d.ts.map +1 -1
  135. package/lib/types/src/token/domain/TokenContextLoader.d.ts +3 -2
  136. package/lib/types/src/token/domain/TokenContextLoader.d.ts.map +1 -1
  137. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts +3 -2
  138. package/lib/types/src/transaction-check/domain/TransactionCheckContextLoader.d.ts.map +1 -1
  139. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts +3 -2
  140. package/lib/types/src/transaction-check/domain/TypedDataCheckContextLoader.d.ts.map +1 -1
  141. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts +2 -1
  142. package/lib/types/src/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -1
  143. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts +3 -2
  144. package/lib/types/src/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -1
  145. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts +3 -1
  146. package/lib/types/src/typed-data/domain/DefaultTypedDataContextLoader.d.ts.map +1 -1
  147. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts +3 -2
  148. package/lib/types/src/uniswap/domain/UniswapContextLoader.d.ts.map +1 -1
  149. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  150. package/package.json +5 -5
  151. package/lib/cjs/src/shared/utils/NullLoggerPublisherService.js +0 -2
  152. package/lib/cjs/src/shared/utils/NullLoggerPublisherService.js.map +0 -7
  153. package/lib/cjs/src/shared/utils/NullLoggerPublisherService.test.js +0 -2
  154. package/lib/cjs/src/shared/utils/NullLoggerPublisherService.test.js.map +0 -7
  155. package/lib/esm/src/shared/utils/NullLoggerPublisherService.js +0 -2
  156. package/lib/esm/src/shared/utils/NullLoggerPublisherService.js.map +0 -7
  157. package/lib/esm/src/shared/utils/NullLoggerPublisherService.test.js +0 -2
  158. package/lib/esm/src/shared/utils/NullLoggerPublisherService.test.js.map +0 -7
  159. package/lib/types/src/shared/utils/NullLoggerPublisherService.d.ts +0 -3
  160. package/lib/types/src/shared/utils/NullLoggerPublisherService.d.ts.map +0 -1
  161. package/lib/types/src/shared/utils/NullLoggerPublisherService.test.d.ts +0 -2
  162. package/lib/types/src/shared/utils/NullLoggerPublisherService.test.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/uniswap/domain/UniswapContextLoader.test.ts"],
4
- "sourcesContent": ["import { Interface, type TransactionDescription } from \"ethers\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport { type HttpTokenDataSource } from \"@/token/data/HttpTokenDataSource\";\nimport {\n UNISWAP_EXECUTE_SELECTOR,\n UniswapSupportedCommand,\n} from \"@/uniswap/constants/uniswap\";\nimport { type CommandDecoderDataSource } from \"@/uniswap/data/CommandDecoderDataSource\";\nimport { DefaultCommandDecoderDataSource } from \"@/uniswap/data/DefaultCommandDecoderDataSource\";\nimport { EthersAbiDecoderDataSource } from \"@/uniswap/data/EthersAbiDecoderDataSource\";\n\nimport {\n type UniswapContextInput,\n UniswapContextLoader,\n} from \"./UniswapContextLoader\";\n\ndescribe(\"UniswapContextLoader\", () => {\n const commandDecoderMock: CommandDecoderDataSource = {\n decode: vi.fn(),\n };\n const tokenDataSourceMock = {\n getTokenInfosPayload: vi.fn(),\n };\n let loader: UniswapContextLoader;\n\n describe(\"canHandle function\", () => {\n beforeEach(() => {\n loader = new UniswapContextLoader(\n new DefaultCommandDecoderDataSource(new EthersAbiDecoderDataSource()),\n tokenDataSourceMock as unknown as HttpTokenDataSource,\n );\n });\n\n const validInput: UniswapContextInput = {\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4855b\",\n selector: UNISWAP_EXECUTE_SELECTOR,\n chainId: 1,\n };\n\n it(\"should return true for valid input\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.TOKEN])).toBe(\n true,\n );\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.NFT])).toBe(\n false,\n );\n expect(\n loader.canHandle(validInput, [ClearSignContextType.EXTERNAL_PLUGIN]),\n ).toBe(false);\n });\n\n it.each([\n [null, \"null input\"],\n [undefined, \"undefined input\"],\n [{}, \"empty object\"],\n [\"string\", \"string input\"],\n [123, \"number input\"],\n [{ ...validInput, data: undefined }, \"missing data\"],\n [{ ...validInput, selector: undefined }, \"missing selector\"],\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n [{ ...validInput, data: \"invalid-hex\" }, \"invalid data hex\"],\n [{ ...validInput, data: \"0x\" }, \"empty data hex\"],\n [{ ...validInput, selector: \"invalid-hex\" }, \"invalid selector hex\"],\n [{ ...validInput, selector: \"0x\" }, \"empty selector hex\"],\n [{ ...validInput, selector: \"not-hex-at-all\" }, \"non-hex selector\"],\n [{ ...validInput, selector: 0x00000000 }, \"different selector\"],\n [{ ...validInput, chainId: \"1\" }, \"string chainId\"],\n [{ ...validInput, chainId: null }, \"null chainId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, [ClearSignContextType.TOKEN])).toBe(false);\n });\n });\n\n describe(\"load\", () => {\n describe(\"with tokenDataSourceMock\", () => {\n beforeEach(() => {\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n loader = new UniswapContextLoader(\n new DefaultCommandDecoderDataSource(new EthersAbiDecoderDataSource()),\n tokenDataSourceMock as unknown as HttpTokenDataSource,\n );\n });\n\n it(\"should return an empty array if the selector is not UNISWAP_EXECUTE_SELECTOR\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n selector: \"0x00000000\" as const,\n data: \"0x00000000\" as const,\n chainId: 1,\n };\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return the decoded contexts\", async () => {\n // GIVEN\n // https://etherscan.io/getRawTx?tx=0xc9821c32c1782d9ab6baf6f9ca4b2565bce11aaf5146a2d303215bda026f5e48\n const input: UniswapContextInput = {\n chainId: 1,\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4855b000000000000000000000000000000000000000000000000000000000000000300060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000a18f07d736b90be5500000000000000000000000000000000000000000000000000000000b0b8122abd8412900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bb9f599ce614feb2e1bbe58f180f370d05b39344e002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000017cc6042605381c158d2adab487434bde79aa61c000000000000000000000000000000000000000000000000000000000000005b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000b0b8122abd84129c001a053efc49d03b694742500f49aa09df2360bd7e297fa730c745e0d4320b42fc33fa01ca1c85a46c561f624830fffbae2441ba0f2d54eb5b0f17e0e3561d10db0b7ee\",\n selector: UNISWAP_EXECUTE_SELECTOR,\n };\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: \"token\",\n payload: \"payload-0xb9f599ce614feb2e1bbe58f180f370d05b39344e\",\n }, // ERC20\n {\n type: \"token\",\n payload: \"payload-0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n }, // WETH\n ]);\n });\n\n it(\"should return the decoded contexts with a permit\", async () => {\n // GIVEN\n // https://etherscan.io/getRawTx?tx=0xc4df7ccc0527541d0e80856a8f38deedc48c84825e9355469ba02d873502ce2f\n // PERMIT2_PERMIT, V3_SWAP_EXACT_OUT, UNWRAP_ETH\n const input = {\n chainId: 1,\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000669b9ec100000000000000000000000000000000000000000000000000000000000000030a010c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000016000000000000000000000000055747be9f9f5beb232ad59fe7af013b81d95fd5e000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066c32b0d0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b00000000000000000000000000000000000000000000000000000000669b9ec100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000410d756f55acf289e9754faf91bba0a704b5c7c0aa4b1dfd551115ccbe4c7f290234e1a14265e1da0bc872a23627d997fe37a689c290d519f7b8c9bdde1b79108e1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000030ba49cbff5a00000000000000000000000000000000000000000000000089677c957272141800000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200271055747be9f9f5beb232ad59fe7af013b81d95fd5e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000030ba49cbff5a000c001a0e406d9c91c8b46d959fcd31a28518a77bb248ebb316c5fab7b98335cce922f2aa0462cb970c32a8dbfe71c57b888c43b9ed04fce41d169dbfcc745445587adb771\",\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: \"token\",\n payload: \"payload-0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n }, // WETH\n {\n type: \"token\",\n payload: \"payload-0x55747be9f9f5beb232ad59fe7af013b81d95fd5e\",\n }, // ERC20\n ]);\n });\n\n it(\"should return an empty array if the transaction is not supported\", async () => {\n // GIVEN\n const input = {} as UniswapContextInput;\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValue([]);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if a command is not supported\", async () => {\n // GIVEN\n // https://etherscan.io/getRawTx?tx=0xa628c8b3da2ad984aed0354d8ca4b4c3c42941491dc4e0d6a5f423fd65e6c90a\n // The command 0x05 (TRANSFER) is not supported\n const input: UniswapContextInput = {\n chainId: 1,\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4bef600000000000000000000000000000000000000000000000000000000000000050b0105040c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000078e6708e70aed0f000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000059a16770000000000000000000000000000000000000000000000000078e6708e70aed0f00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb480001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c4700000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006f939b43d65be049b7533907db08e80ba6969f450000000000000000000000000000000000000000000000000000000059682f0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006f939b43d65be049b7533907db08e80ba6969f4500000000000000000000000000000000000000000000000000000000000000000cc080a07c86dd5813ec1f3725c402f8bea6105546d1093c59676023b971f1d83f61bd4ea02a353bf3028cabcbe68c5dc8906752bafe55afc86b6344edb3ffd8a3650332e8\",\n selector: UNISWAP_EXECUTE_SELECTOR,\n };\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n });\n });\n\n describe(\"with mocked ethers parseTransaction\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n loader = new UniswapContextLoader(\n commandDecoderMock,\n tokenDataSourceMock as unknown as HttpTokenDataSource,\n );\n });\n\n it(\"should return an array with contexts if 2 chain swaps are supported\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\")\n .mockReturnValueOnce([\"0x01\", \"0x04\", \"0x02\"])\n .mockReturnValueOnce([\"0x02\", \"0x03\"]);\n\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x0001\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x0002\",\n 0x42,\n );\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(1, { address: \"0x01\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(2, { address: \"0x04\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(3, { address: \"0x02\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(4, { address: \"0x03\", chainId: 0x42 });\n expect(result).toEqual([\n {\n type: \"token\",\n payload: \"payload-0x01\",\n },\n {\n type: \"token\",\n payload: \"payload-0x04\",\n },\n {\n type: \"token\",\n payload: \"payload-0x02\",\n },\n {\n type: \"token\",\n payload: \"payload-0x03\",\n },\n ]);\n });\n\n it(\"should return an array with contexts if 1 chain swap with a non swap command\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0b0004`; // WRAP_ETH, V3_SWAP_EXACT_IN, SWEEP\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\", \"0x0003\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\")\n .mockReturnValueOnce([\"0x01\"])\n .mockReturnValueOnce([\"0x02\", \"0x03\"])\n .mockReturnValueOnce([\"0x04\"]);\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.WRAP_ETH,\n \"0x0001\",\n 0x42,\n );\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(1, { address: \"0x01\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(2, { address: \"0x02\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(3, { address: \"0x03\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(4, { address: \"0x04\", chainId: 0x42 });\n expect(result).toEqual([\n {\n type: \"token\",\n payload: \"payload-0x01\",\n },\n {\n type: \"token\",\n payload: \"payload-0x02\",\n },\n {\n type: \"token\",\n payload: \"payload-0x03\",\n },\n {\n type: \"token\",\n payload: \"payload-0x04\",\n },\n ]);\n });\n\n it(\"should return an array with contexts if one token is not found\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\")\n .mockReturnValueOnce([\"0x01\", \"0x02\"])\n .mockReturnValueOnce([\"0x02\", \"0x03\"]);\n vi.spyOn(tokenDataSourceMock, \"getTokenInfosPayload\")\n .mockResolvedValueOnce(Left(\"error\"))\n .mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x0001\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x0002\",\n 0x42,\n );\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(1, { address: \"0x01\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(2, { address: \"0x02\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(3, { address: \"0x03\", chainId: 0x42 });\n expect(result).toEqual([\n {\n type: \"error\",\n error: \"error\",\n },\n {\n type: \"token\",\n payload: \"payload-0x02\",\n },\n {\n type: \"token\",\n payload: \"payload-0x03\",\n },\n ]);\n });\n\n it(\"should return an empty array if the if 2 chain swaps are not supported\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x01\",\n \"0x02\",\n ]);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x03\", // should be 0x02\n \"0x04\",\n ]);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x0001\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x0002\",\n 0x42,\n );\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if no command are returned from parseTransaction\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n data: UNISWAP_EXECUTE_SELECTOR,\n selector: UNISWAP_EXECUTE_SELECTOR,\n chainId: 1,\n };\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [\"\"],\n } as TransactionDescription);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if no inputs are returned from parseTransaction\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n data: UNISWAP_EXECUTE_SELECTOR,\n selector: UNISWAP_EXECUTE_SELECTOR,\n chainId: 1,\n };\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [\"0x08\", []],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValue([]);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if parseTransaction throws an error\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n data: UNISWAP_EXECUTE_SELECTOR,\n selector: UNISWAP_EXECUTE_SELECTOR,\n chainId: 1,\n };\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockImplementation(\n () => {\n throw new Error();\n },\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the swap is with multiple pool versions\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n };\n const commands = `0x080900`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT, V3_SWAP_EXACT_IN\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x00\", \"0x01\", \"0x02\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValue([\n \"0x01\",\n \"0x02\",\n ]);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x00\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x01\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 3,\n UniswapSupportedCommand.V3_SWAP_EXACT_IN,\n \"0x02\",\n 0x42,\n );\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the selector is not supported\", async () => {\n // GIVEN\n const input = {\n data: \"0x00000000\",\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the length of the commands and inputs are different\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\"]],\n } as TransactionDescription);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAA8C,SACvD,OAAS,QAAAC,EAAM,SAAAC,MAAa,YAE5B,OAAS,wBAAAC,MAA4B,kCAErC,OACE,4BAAAC,EACA,2BAAAC,MACK,8BAEP,OAAS,mCAAAC,MAAuC,iDAChD,OAAS,8BAAAC,MAAkC,4CAE3C,OAEE,wBAAAC,MACK,yBAEP,SAAS,uBAAwB,IAAM,CACrC,MAAMC,EAA+C,CACnD,OAAQ,GAAG,GAAG,CAChB,EACMC,EAAsB,CAC1B,qBAAsB,GAAG,GAAG,CAC9B,EACA,IAAIC,EAEJ,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfA,EAAS,IAAIH,EACX,IAAIF,EAAgC,IAAIC,CAA4B,EACpEG,CACF,CACF,CAAC,EAED,MAAME,EAAkC,CACtC,KAAM,6MACN,SAAUR,EACV,QAAS,CACX,EAEA,GAAG,qCAAsC,IAAM,CAC7C,OAAOO,EAAO,UAAUC,EAAY,CAACT,EAAqB,KAAK,CAAC,CAAC,EAAE,KACjE,EACF,CACF,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxD,OAAOQ,EAAO,UAAUC,EAAY,CAACT,EAAqB,GAAG,CAAC,CAAC,EAAE,KAC/D,EACF,EACA,OACEQ,EAAO,UAAUC,EAAY,CAACT,EAAqB,eAAe,CAAC,CACrE,EAAE,KAAK,EAAK,CACd,CAAC,EAED,GAAG,KAAK,CACN,CAAC,KAAM,YAAY,EACnB,CAAC,OAAW,iBAAiB,EAC7B,CAAC,CAAC,EAAG,cAAc,EACnB,CAAC,SAAU,cAAc,EACzB,CAAC,IAAK,cAAc,EACpB,CAAC,CAAE,GAAGS,EAAY,KAAM,MAAU,EAAG,cAAc,EACnD,CAAC,CAAE,GAAGA,EAAY,SAAU,MAAU,EAAG,kBAAkB,EAC3D,CAAC,CAAE,GAAGA,EAAY,QAAS,MAAU,EAAG,iBAAiB,EACzD,CAAC,CAAE,GAAGA,EAAY,KAAM,aAAc,EAAG,kBAAkB,EAC3D,CAAC,CAAE,GAAGA,EAAY,KAAM,IAAK,EAAG,gBAAgB,EAChD,CAAC,CAAE,GAAGA,EAAY,SAAU,aAAc,EAAG,sBAAsB,EACnE,CAAC,CAAE,GAAGA,EAAY,SAAU,IAAK,EAAG,oBAAoB,EACxD,CAAC,CAAE,GAAGA,EAAY,SAAU,gBAAiB,EAAG,kBAAkB,EAClE,CAAC,CAAE,GAAGA,EAAY,SAAU,CAAW,EAAG,oBAAoB,EAC9D,CAAC,CAAE,GAAGA,EAAY,QAAS,GAAI,EAAG,gBAAgB,EAClD,CAAC,CAAE,GAAGA,EAAY,QAAS,IAAK,EAAG,cAAc,CACnD,CAAC,EAAE,6BAA8B,CAACC,EAAOC,IAAiB,CACxD,OAAOH,EAAO,UAAUE,EAAO,CAACV,EAAqB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAK,CAC1E,CAAC,CACH,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,SAAS,2BAA4B,IAAM,CACzC,WAAW,IAAM,CACf,GAAG,MACDO,EACA,sBACF,EAAE,mBAAmB,CAAC,CAAE,QAAAK,CAAQ,IAC9B,QAAQ,QAAQb,EAAM,WAAWa,CAAO,EAAE,CAAC,CAC7C,EACAJ,EAAS,IAAIH,EACX,IAAIF,EAAgC,IAAIC,CAA4B,EACpEG,CACF,CACF,CAAC,EAED,GAAG,+EAAgF,SAAY,CAE7F,MAAMG,EAA6B,CACjC,SAAU,aACV,KAAM,aACN,QAAS,CACX,EAGMG,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOG,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,EAED,GAAG,qCAAsC,SAAY,CAGnD,MAAMH,EAA6B,CACjC,QAAS,EACT,KAAM,qtDACN,SAAUT,CACZ,EAGMY,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOG,CAAM,EAAE,QAAQ,CACrB,CACE,KAAM,QACN,QAAS,oDACX,EACA,CACE,KAAM,QACN,QAAS,oDACX,CACF,CAAC,CACH,CAAC,EAED,GAAG,mDAAoD,SAAY,CAIjE,MAAMH,EAAQ,CACZ,QAAS,EACT,KAAM,qtEACN,SAAUT,CACZ,EAGMY,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOG,CAAM,EAAE,QAAQ,CACrB,CACE,KAAM,QACN,QAAS,oDACX,EACA,CACE,KAAM,QACN,QAAS,oDACX,CACF,CAAC,CACH,CAAC,EAED,GAAG,mEAAoE,SAAY,CAEjF,MAAMH,EAAQ,CAAC,EACf,GAAG,MAAMJ,EAAoB,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAGzD,MAAMO,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOG,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,EAED,GAAG,6DAA8D,SAAY,CAI3E,MAAMH,EAA6B,CACjC,QAAS,EACT,KAAM,uxEACN,SAAUT,CACZ,EAGMY,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOG,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,CACH,CAAC,EAED,SAAS,sCAAuC,IAAM,CACpD,WAAW,IAAM,CACf,GAAG,cAAc,EACjBL,EAAS,IAAIH,EACXC,EACAC,CACF,CACF,CAAC,EAED,GAAG,sEAAuE,SAAY,CAEpF,MAAMG,EAAQ,CACZ,KAAMT,EACN,QAAS,GACT,SAAUA,CACZ,EAEA,GAAG,MAAMJ,EAAU,UAAW,kBAAkB,EAAE,gBAAgB,CAChE,KAAM,CAFS,SAEE,CAAC,SAAU,QAAQ,CAAC,CACvC,CAA2B,EAC3B,GAAG,MAAMS,EAAoB,QAAQ,EAClC,oBAAoB,CAAC,OAAQ,OAAQ,MAAM,CAAC,EAC5C,oBAAoB,CAAC,OAAQ,MAAM,CAAC,EAEvC,GAAG,MACDC,EACA,sBACF,EAAE,mBAAmB,CAAC,CAAE,QAAAK,CAAQ,IAC9B,QAAQ,QAAQb,EAAM,WAAWa,CAAO,EAAE,CAAC,CAC7C,EAGA,MAAMC,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOJ,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,iBACxB,SACA,EACF,EACA,OAAOI,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,kBACxB,SACA,EACF,EACA,OACEK,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OACEA,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OACEA,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OACEA,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OAAOM,CAAM,EAAE,QAAQ,CACrB,CACE,KAAM,QACN,QAAS,cACX,EACA,CACE,KAAM,QACN,QAAS,cACX,EACA,CACE,KAAM,QACN,QAAS,cACX,EACA,CACE,KAAM,QACN,QAAS,cACX,CACF,CAAC,CACH,CAAC,EAED,GAAG,+EAAgF,SAAY,CAE7F,MAAMH,EAAQ,CACZ,KAAMT,EACN,QAAS,GACT,SAAUA,CACZ,EAEA,GAAG,MAAMJ,EAAU,UAAW,kBAAkB,EAAE,gBAAgB,CAChE,KAAM,CAFS,WAEE,CAAC,SAAU,SAAU,QAAQ,CAAC,CACjD,CAA2B,EAC3B,GAAG,MAAMS,EAAoB,QAAQ,EAClC,oBAAoB,CAAC,MAAM,CAAC,EAC5B,oBAAoB,CAAC,OAAQ,MAAM,CAAC,EACpC,oBAAoB,CAAC,MAAM,CAAC,EAC/B,GAAG,MACDC,EACA,sBACF,EAAE,mBAAmB,CAAC,CAAE,QAAAK,CAAQ,IAC9B,QAAQ,QAAQb,EAAM,WAAWa,CAAO,EAAE,CAAC,CAC7C,EAGA,MAAMC,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOJ,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,SACxB,SACA,EACF,EACA,OACEK,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OACEA,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OACEA,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OACEA,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OAAOM,CAAM,EAAE,QAAQ,CACrB,CACE,KAAM,QACN,QAAS,cACX,EACA,CACE,KAAM,QACN,QAAS,cACX,EACA,CACE,KAAM,QACN,QAAS,cACX,EACA,CACE,KAAM,QACN,QAAS,cACX,CACF,CAAC,CACH,CAAC,EAED,GAAG,iEAAkE,SAAY,CAE/E,MAAMH,EAAQ,CACZ,KAAMT,EACN,QAAS,GACT,SAAUA,CACZ,EAEA,GAAG,MAAMJ,EAAU,UAAW,kBAAkB,EAAE,gBAAgB,CAChE,KAAM,CAFS,SAEE,CAAC,SAAU,QAAQ,CAAC,CACvC,CAA2B,EAC3B,GAAG,MAAMS,EAAoB,QAAQ,EAClC,oBAAoB,CAAC,OAAQ,MAAM,CAAC,EACpC,oBAAoB,CAAC,OAAQ,MAAM,CAAC,EACvC,GAAG,MAAMC,EAAqB,sBAAsB,EACjD,sBAAsBT,EAAK,OAAO,CAAC,EACnC,mBAAmB,CAAC,CAAE,QAAAc,CAAQ,IAC7B,QAAQ,QAAQb,EAAM,WAAWa,CAAO,EAAE,CAAC,CAC7C,EAGF,MAAMC,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOJ,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,iBACxB,SACA,EACF,EACA,OAAOI,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,kBACxB,SACA,EACF,EACA,OACEK,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OACEA,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OACEA,EAAoB,oBACtB,EAAE,wBAAwB,EAAG,CAAE,QAAS,OAAQ,QAAS,EAAK,CAAC,EAC/D,OAAOM,CAAM,EAAE,QAAQ,CACrB,CACE,KAAM,QACN,MAAO,OACT,EACA,CACE,KAAM,QACN,QAAS,cACX,EACA,CACE,KAAM,QACN,QAAS,cACX,CACF,CAAC,CACH,CAAC,EAED,GAAG,yEAA0E,SAAY,CAEvF,MAAMH,EAAQ,CACZ,KAAMT,EACN,QAAS,GACT,SAAUA,CACZ,EAEA,GAAG,MAAMJ,EAAU,UAAW,kBAAkB,EAAE,gBAAgB,CAChE,KAAM,CAFS,SAEE,CAAC,SAAU,QAAQ,CAAC,CACvC,CAA2B,EAC3B,GAAG,MAAMS,EAAoB,QAAQ,EAAE,oBAAoB,CACzD,OACA,MACF,CAAC,EACD,GAAG,MAAMA,EAAoB,QAAQ,EAAE,oBAAoB,CACzD,OACA,MACF,CAAC,EAGD,MAAMO,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOJ,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,iBACxB,SACA,EACF,EACA,OAAOI,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,kBACxB,SACA,EACF,EACA,OAAOK,EAAoB,oBAAoB,EAAE,IAAI,iBAAiB,EACtE,OAAOM,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,EAED,GAAG,gFAAiF,SAAY,CAE9F,MAAMH,EAA6B,CACjC,KAAMT,EACN,SAAUA,EACV,QAAS,CACX,EACA,GAAG,MAAMJ,EAAU,UAAW,kBAAkB,EAAE,gBAAgB,CAChE,KAAM,CAAC,EAAE,CACX,CAA2B,EAG3B,MAAMgB,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOJ,EAAmB,MAAM,EAAE,IAAI,iBAAiB,EACvD,OAAOC,EAAoB,oBAAoB,EAAE,IAAI,iBAAiB,EACtE,OAAOM,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,EAED,GAAG,+EAAgF,SAAY,CAE7F,MAAMH,EAA6B,CACjC,KAAMT,EACN,SAAUA,EACV,QAAS,CACX,EACA,GAAG,MAAMJ,EAAU,UAAW,kBAAkB,EAAE,gBAAgB,CAChE,KAAM,CAAC,OAAQ,CAAC,CAAC,CACnB,CAA2B,EAC3B,GAAG,MAAMS,EAAoB,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAGzD,MAAMO,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOH,EAAoB,oBAAoB,EAAE,IAAI,iBAAiB,EACtE,OAAOM,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,EAED,GAAG,mEAAoE,SAAY,CAEjF,MAAMH,EAA6B,CACjC,KAAMT,EACN,SAAUA,EACV,QAAS,CACX,EACA,GAAG,MAAMJ,EAAU,UAAW,kBAAkB,EAAE,mBAChD,IAAM,CACJ,MAAM,IAAI,KACZ,CACF,EAGA,MAAMgB,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOJ,EAAmB,MAAM,EAAE,IAAI,iBAAiB,EACvD,OAAOC,EAAoB,oBAAoB,EAAE,IAAI,iBAAiB,EACtE,OAAOM,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,EAED,GAAG,0EAA2E,SAAY,CAExF,MAAMH,EAA6B,CACjC,KAAMT,EACN,QAAS,GACT,SAAUA,CACZ,EAEA,GAAG,MAAMJ,EAAU,UAAW,kBAAkB,EAAE,gBAAgB,CAChE,KAAM,CAFS,WAEE,CAAC,OAAQ,OAAQ,MAAM,CAAC,CAC3C,CAA2B,EAC3B,GAAG,MAAMS,EAAoB,QAAQ,EAAE,gBAAgB,CACrD,OACA,MACF,CAAC,EAGD,MAAMO,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOJ,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,iBACxB,OACA,EACF,EACA,OAAOI,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,kBACxB,OACA,EACF,EACA,OAAOI,EAAmB,MAAM,EAAE,wBAChC,EACAJ,EAAwB,iBACxB,OACA,EACF,EACA,OAAOK,EAAoB,oBAAoB,EAAE,IAAI,iBAAiB,EACtE,OAAOM,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,EAED,GAAG,gEAAiE,SAAY,CAE9E,MAAMH,EAAQ,CACZ,KAAM,aACN,QAAS,GACT,SAAUT,CACZ,EAGMY,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOJ,EAAmB,MAAM,EAAE,IAAI,iBAAiB,EACvD,OAAOC,EAAoB,oBAAoB,EAAE,IAAI,iBAAiB,EACtE,OAAOM,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,EAED,GAAG,sFAAuF,SAAY,CAEpG,MAAMH,EAAQ,CACZ,KAAMT,EACN,QAAS,GACT,SAAUA,CACZ,EAEA,GAAG,MAAMJ,EAAU,UAAW,kBAAkB,EAAE,gBAAgB,CAChE,KAAM,CAFS,SAEE,CAAC,QAAQ,CAAC,CAC7B,CAA2B,EAG3B,MAAMgB,EAAS,MAAML,EAAO,KAAKE,CAAK,EAGtC,OAAOJ,EAAmB,MAAM,EAAE,IAAI,iBAAiB,EACvD,OAAOC,EAAoB,oBAAoB,EAAE,IAAI,iBAAiB,EACtE,OAAOM,CAAM,EAAE,QAAQ,CAAC,CAAC,CAC3B,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["Interface", "Left", "Right", "ClearSignContextType", "UNISWAP_EXECUTE_SELECTOR", "UniswapSupportedCommand", "DefaultCommandDecoderDataSource", "EthersAbiDecoderDataSource", "UniswapContextLoader", "commandDecoderMock", "tokenDataSourceMock", "loader", "validInput", "input", "_description", "address", "result"]
4
+ "sourcesContent": ["import { Interface, type TransactionDescription } from \"ethers\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport { type HttpTokenDataSource } from \"@/token/data/HttpTokenDataSource\";\nimport {\n UNISWAP_EXECUTE_SELECTOR,\n UniswapSupportedCommand,\n} from \"@/uniswap/constants/uniswap\";\nimport { type CommandDecoderDataSource } from \"@/uniswap/data/CommandDecoderDataSource\";\nimport { DefaultCommandDecoderDataSource } from \"@/uniswap/data/DefaultCommandDecoderDataSource\";\nimport { EthersAbiDecoderDataSource } from \"@/uniswap/data/EthersAbiDecoderDataSource\";\n\nimport {\n type UniswapContextInput,\n UniswapContextLoader,\n} from \"./UniswapContextLoader\";\n\nconst mockLoggerFactory = () => ({\n debug: vi.fn(),\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n subscribers: [],\n});\n\ndescribe(\"UniswapContextLoader\", () => {\n const commandDecoderMock: CommandDecoderDataSource = {\n decode: vi.fn(),\n };\n const tokenDataSourceMock = {\n getTokenInfosPayload: vi.fn(),\n };\n let loader: UniswapContextLoader;\n\n describe(\"canHandle function\", () => {\n beforeEach(() => {\n loader = new UniswapContextLoader(\n new DefaultCommandDecoderDataSource(new EthersAbiDecoderDataSource()),\n tokenDataSourceMock as unknown as HttpTokenDataSource,\n mockLoggerFactory,\n );\n });\n\n const validInput: UniswapContextInput = {\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4855b\",\n selector: UNISWAP_EXECUTE_SELECTOR,\n chainId: 1,\n };\n\n it(\"should return true for valid input\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.TOKEN])).toBe(\n true,\n );\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(loader.canHandle(validInput, [ClearSignContextType.NFT])).toBe(\n false,\n );\n expect(\n loader.canHandle(validInput, [ClearSignContextType.EXTERNAL_PLUGIN]),\n ).toBe(false);\n });\n\n it.each([\n [null, \"null input\"],\n [undefined, \"undefined input\"],\n [{}, \"empty object\"],\n [\"string\", \"string input\"],\n [123, \"number input\"],\n [{ ...validInput, data: undefined }, \"missing data\"],\n [{ ...validInput, selector: undefined }, \"missing selector\"],\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n [{ ...validInput, data: \"invalid-hex\" }, \"invalid data hex\"],\n [{ ...validInput, data: \"0x\" }, \"empty data hex\"],\n [{ ...validInput, selector: \"invalid-hex\" }, \"invalid selector hex\"],\n [{ ...validInput, selector: \"0x\" }, \"empty selector hex\"],\n [{ ...validInput, selector: \"not-hex-at-all\" }, \"non-hex selector\"],\n [{ ...validInput, selector: 0x00000000 }, \"different selector\"],\n [{ ...validInput, chainId: \"1\" }, \"string chainId\"],\n [{ ...validInput, chainId: null }, \"null chainId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, [ClearSignContextType.TOKEN])).toBe(false);\n });\n });\n\n describe(\"load\", () => {\n describe(\"with tokenDataSourceMock\", () => {\n beforeEach(() => {\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n loader = new UniswapContextLoader(\n new DefaultCommandDecoderDataSource(new EthersAbiDecoderDataSource()),\n tokenDataSourceMock as unknown as HttpTokenDataSource,\n mockLoggerFactory,\n );\n });\n\n it(\"should return an empty array if the selector is not UNISWAP_EXECUTE_SELECTOR\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n selector: \"0x00000000\" as const,\n data: \"0x00000000\" as const,\n chainId: 1,\n };\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return the decoded contexts\", async () => {\n // GIVEN\n // https://etherscan.io/getRawTx?tx=0xc9821c32c1782d9ab6baf6f9ca4b2565bce11aaf5146a2d303215bda026f5e48\n const input: UniswapContextInput = {\n chainId: 1,\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4855b000000000000000000000000000000000000000000000000000000000000000300060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000a18f07d736b90be5500000000000000000000000000000000000000000000000000000000b0b8122abd8412900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bb9f599ce614feb2e1bbe58f180f370d05b39344e002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000017cc6042605381c158d2adab487434bde79aa61c000000000000000000000000000000000000000000000000000000000000005b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000b0b8122abd84129c001a053efc49d03b694742500f49aa09df2360bd7e297fa730c745e0d4320b42fc33fa01ca1c85a46c561f624830fffbae2441ba0f2d54eb5b0f17e0e3561d10db0b7ee\",\n selector: UNISWAP_EXECUTE_SELECTOR,\n };\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: \"token\",\n payload: \"payload-0xb9f599ce614feb2e1bbe58f180f370d05b39344e\",\n }, // ERC20\n {\n type: \"token\",\n payload: \"payload-0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n }, // WETH\n ]);\n });\n\n it(\"should return the decoded contexts with a permit\", async () => {\n // GIVEN\n // https://etherscan.io/getRawTx?tx=0xc4df7ccc0527541d0e80856a8f38deedc48c84825e9355469ba02d873502ce2f\n // PERMIT2_PERMIT, V3_SWAP_EXACT_OUT, UNWRAP_ETH\n const input = {\n chainId: 1,\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000669b9ec100000000000000000000000000000000000000000000000000000000000000030a010c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000016000000000000000000000000055747be9f9f5beb232ad59fe7af013b81d95fd5e000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066c32b0d0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000ef1c6e67703c7bd7107eed8303fbe6ec2554bf6b00000000000000000000000000000000000000000000000000000000669b9ec100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000410d756f55acf289e9754faf91bba0a704b5c7c0aa4b1dfd551115ccbe4c7f290234e1a14265e1da0bc872a23627d997fe37a689c290d519f7b8c9bdde1b79108e1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000030ba49cbff5a00000000000000000000000000000000000000000000000089677c957272141800000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200271055747be9f9f5beb232ad59fe7af013b81d95fd5e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000030ba49cbff5a000c001a0e406d9c91c8b46d959fcd31a28518a77bb248ebb316c5fab7b98335cce922f2aa0462cb970c32a8dbfe71c57b888c43b9ed04fce41d169dbfcc745445587adb771\",\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([\n {\n type: \"token\",\n payload: \"payload-0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n }, // WETH\n {\n type: \"token\",\n payload: \"payload-0x55747be9f9f5beb232ad59fe7af013b81d95fd5e\",\n }, // ERC20\n ]);\n });\n\n it(\"should return an empty array if the transaction is not supported\", async () => {\n // GIVEN\n const input = {} as UniswapContextInput;\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValue([]);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if a command is not supported\", async () => {\n // GIVEN\n // https://etherscan.io/getRawTx?tx=0xa628c8b3da2ad984aed0354d8ca4b4c3c42941491dc4e0d6a5f423fd65e6c90a\n // The command 0x05 (TRANSFER) is not supported\n const input: UniswapContextInput = {\n chainId: 1,\n data: \"0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000067a4bef600000000000000000000000000000000000000000000000000000000000000050b0105040c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000078e6708e70aed0f000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000059a16770000000000000000000000000000000000000000000000000078e6708e70aed0f00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb480001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000027213e28d7fda5c57fe9e5dd923818dbccf71c4700000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006f939b43d65be049b7533907db08e80ba6969f450000000000000000000000000000000000000000000000000000000059682f0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006f939b43d65be049b7533907db08e80ba6969f4500000000000000000000000000000000000000000000000000000000000000000cc080a07c86dd5813ec1f3725c402f8bea6105546d1093c59676023b971f1d83f61bd4ea02a353bf3028cabcbe68c5dc8906752bafe55afc86b6344edb3ffd8a3650332e8\",\n selector: UNISWAP_EXECUTE_SELECTOR,\n };\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(result).toEqual([]);\n });\n });\n\n describe(\"with mocked ethers parseTransaction\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n loader = new UniswapContextLoader(\n commandDecoderMock,\n tokenDataSourceMock as unknown as HttpTokenDataSource,\n mockLoggerFactory,\n );\n });\n\n it(\"should return an array with contexts if 2 chain swaps are supported\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\")\n .mockReturnValueOnce([\"0x01\", \"0x04\", \"0x02\"])\n .mockReturnValueOnce([\"0x02\", \"0x03\"]);\n\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x0001\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x0002\",\n 0x42,\n );\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(1, { address: \"0x01\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(2, { address: \"0x04\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(3, { address: \"0x02\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(4, { address: \"0x03\", chainId: 0x42 });\n expect(result).toEqual([\n {\n type: \"token\",\n payload: \"payload-0x01\",\n },\n {\n type: \"token\",\n payload: \"payload-0x04\",\n },\n {\n type: \"token\",\n payload: \"payload-0x02\",\n },\n {\n type: \"token\",\n payload: \"payload-0x03\",\n },\n ]);\n });\n\n it(\"should return an array with contexts if 1 chain swap with a non swap command\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0b0004`; // WRAP_ETH, V3_SWAP_EXACT_IN, SWEEP\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\", \"0x0003\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\")\n .mockReturnValueOnce([\"0x01\"])\n .mockReturnValueOnce([\"0x02\", \"0x03\"])\n .mockReturnValueOnce([\"0x04\"]);\n vi.spyOn(\n tokenDataSourceMock,\n \"getTokenInfosPayload\",\n ).mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.WRAP_ETH,\n \"0x0001\",\n 0x42,\n );\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(1, { address: \"0x01\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(2, { address: \"0x02\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(3, { address: \"0x03\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(4, { address: \"0x04\", chainId: 0x42 });\n expect(result).toEqual([\n {\n type: \"token\",\n payload: \"payload-0x01\",\n },\n {\n type: \"token\",\n payload: \"payload-0x02\",\n },\n {\n type: \"token\",\n payload: \"payload-0x03\",\n },\n {\n type: \"token\",\n payload: \"payload-0x04\",\n },\n ]);\n });\n\n it(\"should return an array with contexts if one token is not found\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\")\n .mockReturnValueOnce([\"0x01\", \"0x02\"])\n .mockReturnValueOnce([\"0x02\", \"0x03\"]);\n vi.spyOn(tokenDataSourceMock, \"getTokenInfosPayload\")\n .mockResolvedValueOnce(Left(\"error\"))\n .mockImplementation(({ address }) =>\n Promise.resolve(Right(`payload-${address}`)),\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x0001\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x0002\",\n 0x42,\n );\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(1, { address: \"0x01\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(2, { address: \"0x02\", chainId: 0x42 });\n expect(\n tokenDataSourceMock.getTokenInfosPayload,\n ).toHaveBeenNthCalledWith(3, { address: \"0x03\", chainId: 0x42 });\n expect(result).toEqual([\n {\n type: \"error\",\n error: \"error\",\n },\n {\n type: \"token\",\n payload: \"payload-0x02\",\n },\n {\n type: \"token\",\n payload: \"payload-0x03\",\n },\n ]);\n });\n\n it(\"should return an empty array if the if 2 chain swaps are not supported\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\", \"0x0002\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x01\",\n \"0x02\",\n ]);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValueOnce([\n \"0x03\", // should be 0x02\n \"0x04\",\n ]);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x0001\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x0002\",\n 0x42,\n );\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if no command are returned from parseTransaction\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n data: UNISWAP_EXECUTE_SELECTOR,\n selector: UNISWAP_EXECUTE_SELECTOR,\n chainId: 1,\n };\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [\"\"],\n } as TransactionDescription);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if no inputs are returned from parseTransaction\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n data: UNISWAP_EXECUTE_SELECTOR,\n selector: UNISWAP_EXECUTE_SELECTOR,\n chainId: 1,\n };\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [\"0x08\", []],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValue([]);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if parseTransaction throws an error\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n data: UNISWAP_EXECUTE_SELECTOR,\n selector: UNISWAP_EXECUTE_SELECTOR,\n chainId: 1,\n };\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockImplementation(\n () => {\n throw new Error();\n },\n );\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the swap is with multiple pool versions\", async () => {\n // GIVEN\n const input: UniswapContextInput = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n };\n const commands = `0x080900`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT, V3_SWAP_EXACT_IN\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x00\", \"0x01\", \"0x02\"]],\n } as TransactionDescription);\n vi.spyOn(commandDecoderMock, \"decode\").mockReturnValue([\n \"0x01\",\n \"0x02\",\n ]);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 1,\n UniswapSupportedCommand.V2_SWAP_EXACT_IN,\n \"0x00\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 2,\n UniswapSupportedCommand.V2_SWAP_EXACT_OUT,\n \"0x01\",\n 0x42,\n );\n expect(commandDecoderMock.decode).toHaveBeenNthCalledWith(\n 3,\n UniswapSupportedCommand.V3_SWAP_EXACT_IN,\n \"0x02\",\n 0x42,\n );\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the selector is not supported\", async () => {\n // GIVEN\n const input = {\n data: \"0x00000000\",\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if the length of the commands and inputs are different\", async () => {\n // GIVEN\n const input = {\n data: UNISWAP_EXECUTE_SELECTOR,\n chainId: 0x42,\n selector: UNISWAP_EXECUTE_SELECTOR,\n } as UniswapContextInput;\n const commands = `0x0809`; // V2_SWAP_EXACT_IN, V2_SWAP_EXACT_OUT\n vi.spyOn(Interface.prototype, \"parseTransaction\").mockReturnValue({\n args: [commands, [\"0x0001\"]],\n } as TransactionDescription);\n\n // WHEN\n const result = await loader.load(input);\n\n // THEN\n expect(commandDecoderMock.decode).not.toHaveBeenCalled();\n expect(tokenDataSourceMock.getTokenInfosPayload).not.toHaveBeenCalled();\n expect(result).toEqual([]);\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Interface", "Left", "Right", "ClearSignContextType", "UNISWAP_EXECUTE_SELECTOR", "UniswapSupportedCommand", "DefaultCommandDecoderDataSource", "EthersAbiDecoderDataSource", "UniswapContextLoader", "mockLoggerFactory", "commandDecoderMock", "tokenDataSourceMock", "loader", "validInput", "input", "_description", "address", "result"]
7
7
  }
@@ -1,15 +1,15 @@
1
1
  import { type LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import { type ContextModuleConstructorArgs } from "./config/model/ContextModuleBuildArgs";
3
- import { type ContextModuleCalConfig, type ContextModuleConfig, type ContextModuleDatasourceConfig, type ContextModuleMetadataServiceConfig, type ContextModuleWeb3ChecksConfig } from "./config/model/ContextModuleConfig";
3
+ import { type ContextModuleCalConfig, type ContextModuleDatasourceConfig, type ContextModuleMetadataServiceConfig, type ContextModuleWeb3ChecksConfig } from "./config/model/ContextModuleConfig";
4
4
  import { type ContextLoader } from "./shared/domain/ContextLoader";
5
5
  import { type SolanaContextLoader } from "./solana/domain/SolanaContextLoader";
6
+ import { type TrustedNameDataSource } from "./trusted-name/data/TrustedNameDataSource";
6
7
  import { type TypedDataContextLoader } from "./typed-data/domain/TypedDataContextLoader";
7
8
  import { type ContextModule } from "./ContextModule";
8
- export declare const DEFAULT_CONFIG: ContextModuleConfig;
9
9
  export declare class ContextModuleBuilder {
10
10
  private config;
11
11
  private originToken?;
12
- constructor({ originToken, loggerFactory, }?: ContextModuleConstructorArgs);
12
+ constructor({ originToken, loggerFactory }: ContextModuleConstructorArgs);
13
13
  /**
14
14
  * Remove default loaders from the list of loaders
15
15
  *
@@ -65,6 +65,13 @@ export declare class ContextModuleBuilder {
65
65
  * @returns this
66
66
  */
67
67
  setDatasourceConfig(datasourceConfig: ContextModuleDatasourceConfig): this;
68
+ /**
69
+ * Set a custom trusted name data source
70
+ *
71
+ * @param dataSource data source to use for trusted name resolution
72
+ * @returns this
73
+ */
74
+ setTrustedNameDataSource(dataSource: TrustedNameDataSource): this;
68
75
  /**
69
76
  * Set a custom logger factory
70
77
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ContextModuleBuilder.d.ts","sourceRoot":"","sources":["../../../src/ContextModuleBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,6BAA6B,EACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,eAAO,MAAM,cAAc,EAAE,mBAmB5B,CAAC;AAEF,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,EACV,WAAW,EACX,aAAa,GACd,GAAE,4BAAiC;IAQpC;;;;OAIG;IACH,oBAAoB;IAKpB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa;IAK/B;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,sBAAsB;IAKjD;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,mBAAmB;IAK3C;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,sBAAsB;IAK9C;;;;;OAKG;IACH,wBAAwB,CACtB,qBAAqB,EAAE,kCAAkC;IAM3D;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,6BAA6B;IAKnE;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,6BAA6B;IAKnE;;;;;OAKG;IACH,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAKvE;;;;OAIG;IACH,KAAK,IAAI,aAAa;CAIvB"}
1
+ {"version":3,"file":"ContextModuleBuilder.d.ts","sourceRoot":"","sources":["../../../src/ContextModuleBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EACL,KAAK,sBAAsB,EAE3B,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,6BAA6B,EACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,4BAA4B;IAyBxE;;;;OAIG;IACH,oBAAoB;IAKpB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa;IAK/B;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,sBAAsB;IAKjD;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,mBAAmB;IAK3C;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,sBAAsB;IAK9C;;;;;OAKG;IACH,wBAAwB,CACtB,qBAAqB,EAAE,kCAAkC;IAM3D;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,6BAA6B;IAKnE;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,6BAA6B;IAKnE;;;;;OAKG;IACH,wBAAwB,CAAC,UAAU,EAAE,qBAAqB;IAK1D;;;;;OAKG;IACH,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAKvE;;;;OAIG;IACH,KAAK,IAAI,aAAa;CAIvB"}
@@ -1,4 +1,4 @@
1
- import { DeviceModelId, HexaString } from "@ledgerhq/device-management-kit";
1
+ import { DeviceModelId, HexaString, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import type { CalldataDescriptorDataSource } from "../../calldata/data/CalldataDescriptorDataSource";
3
3
  import type { ProxyDataSource } from "../../proxy/data/ProxyDataSource";
4
4
  import { ContextLoader } from "../../shared/domain/ContextLoader";
@@ -14,7 +14,8 @@ export declare class CalldataContextLoader implements ContextLoader<CalldataCont
14
14
  private dappDataSource;
15
15
  private tokenDataSource;
16
16
  private proxyDataSource;
17
- constructor(dappDataSource: CalldataDescriptorDataSource, tokenDataSource: CalldataDescriptorDataSource, proxyDataSource: ProxyDataSource);
17
+ private logger;
18
+ constructor(dappDataSource: CalldataDescriptorDataSource, tokenDataSource: CalldataDescriptorDataSource, proxyDataSource: ProxyDataSource, loggerFactory: (tag: string) => LoggerPublisherService);
18
19
  canHandle(input: unknown, expectedTypes: ClearSignContextType[]): input is CalldataContextInput;
19
20
  load(input: CalldataContextInput): Promise<ClearSignContext[]>;
20
21
  private _getContexts;
@@ -1 +1 @@
1
- {"version":3,"file":"CalldataContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/calldata/domain/CalldataContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EAEX,MAAM,iCAAiC,CAAC;AAIzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAEjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAiBF,qBACa,qBACX,YAAW,aAAa,CAAC,oBAAoB,CAAC;IAI5C,OAAO,CAAC,cAAc;IAEtB,OAAO,CAAC,eAAe;IAEvB,OAAO,CAAC,eAAe;gBAJf,cAAc,EAAE,4BAA4B,EAE5C,eAAe,EAAE,4BAA4B,EAE7C,eAAe,EAAE,eAAe;IAG1C,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,oBAAoB;IAqB1B,IAAI,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAwBpE,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,qBAAqB;CAmC9B"}
1
+ {"version":3,"file":"CalldataContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/calldata/domain/CalldataContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EAEV,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAGjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAiBF,qBACa,qBACX,YAAW,aAAa,CAAC,oBAAoB,CAAC;IAM5C,OAAO,CAAC,cAAc;IAEtB,OAAO,CAAC,eAAe;IAEvB,OAAO,CAAC,eAAe;IARzB,OAAO,CAAC,MAAM,CAAyB;gBAI7B,cAAc,EAAE,4BAA4B,EAE5C,eAAe,EAAE,4BAA4B,EAE7C,eAAe,EAAE,eAAe,EAExC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAKxD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,oBAAoB;IAqB1B,IAAI,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAgCpE,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,qBAAqB;CAmC9B"}
@@ -1,6 +1,6 @@
1
1
  import { type LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  export type ContextModuleConstructorArgs = {
3
3
  originToken?: string;
4
- loggerFactory?: (tag: string) => LoggerPublisherService;
4
+ loggerFactory: (tag: string) => LoggerPublisherService;
5
5
  };
6
6
  //# sourceMappingURL=ContextModuleBuildArgs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextModuleBuildArgs.d.ts","sourceRoot":"","sources":["../../../../../src/config/model/ContextModuleBuildArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,CAAC;CACzD,CAAC"}
1
+ {"version":3,"file":"ContextModuleBuildArgs.d.ts","sourceRoot":"","sources":["../../../../../src/config/model/ContextModuleBuildArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,CAAC;CACxD,CAAC"}
@@ -2,6 +2,7 @@ import { type LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import { type ContextFieldLoader } from "../../shared/domain/ContextFieldLoader";
3
3
  import { type ContextLoader } from "../../shared/domain/ContextLoader";
4
4
  import { type SolanaContextLoader } from "../../solana/domain/SolanaContextLoader";
5
+ import { type TrustedNameDataSource } from "../../trusted-name/data/TrustedNameDataSource";
5
6
  import { type TypedDataContextLoader } from "../../typed-data/domain/TypedDataContextLoader";
6
7
  export type ContextModuleCalMode = "prod" | "test";
7
8
  export type ContextModuleCalBranch = "next" | "main" | "demo";
@@ -30,6 +31,7 @@ export type ContextModuleConfig = {
30
31
  loggerFactory: (tag: string) => LoggerPublisherService;
31
32
  customTypedDataLoader?: TypedDataContextLoader;
32
33
  customSolanaLoader?: SolanaContextLoader;
34
+ customTrustedNameDataSource?: TrustedNameDataSource;
33
35
  originToken?: string;
34
36
  datasource?: ContextModuleDatasourceConfig;
35
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ContextModuleConfig.d.ts","sourceRoot":"","sources":["../../../../../src/config/model/ContextModuleConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,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,6BAA6B,GAAG;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,UAAU,EAAE,6BAA6B,CAAC;IAC1C,qBAAqB,EAAE,kCAAkC,CAAC;IAC1D,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,CAAC;IACvD,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC5C,CAAC"}
1
+ {"version":3,"file":"ContextModuleConfig.d.ts","sourceRoot":"","sources":["../../../../../src/config/model/ContextModuleConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,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,6BAA6B,GAAG;IAC1C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,UAAU,EAAE,6BAA6B,CAAC;IAC1C,qBAAqB,EAAE,kCAAkC,CAAC;IAC1D,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,CAAC;IACvD,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,2BAA2B,CAAC,EAAE,qBAAqB,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/di.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAgB9E,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,YAAY,iBAAiB,cA+B1D,CAAC"}
1
+ {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/di.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAgB9E,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,YAAY,iBAAiB,cA6B1D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DeviceModelId } from "@ledgerhq/device-management-kit";
1
+ import { DeviceModelId, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import { type ContextModuleConfig } from "../../config/model/ContextModuleConfig";
3
3
  import { type DynamicNetworkDataSource } from "../../dynamic-network/data/DynamicNetworkDataSource";
4
4
  import { type PkiCertificateLoader } from "../../pki/domain/PkiCertificateLoader";
@@ -12,7 +12,8 @@ export declare class DynamicNetworkContextLoader implements ContextLoader<Dynami
12
12
  private readonly _networkDataSource;
13
13
  private readonly _config;
14
14
  private readonly _certificateLoader;
15
- constructor(networkDataSource: DynamicNetworkDataSource, config: ContextModuleConfig, certificateLoader: PkiCertificateLoader);
15
+ private logger;
16
+ constructor(networkDataSource: DynamicNetworkDataSource, config: ContextModuleConfig, certificateLoader: PkiCertificateLoader, loggerFactory: (tag: string) => LoggerPublisherService);
16
17
  canHandle(input: unknown, expectedTypes: ClearSignContextType[]): input is DynamicNetworkContextInput;
17
18
  load(input: DynamicNetworkContextInput): Promise<ClearSignContext[]>;
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicNetworkContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/dynamic-network/domain/DynamicNetworkContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIhE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAGhG,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAGzC,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AASF,qBACa,2BACX,YAAW,aAAa,CAAC,0BAA0B,CAAC;IAEpD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuB;gBAIxD,iBAAiB,EAAE,wBAAwB,EAE3C,MAAM,EAAE,mBAAmB,EAE3B,iBAAiB,EAAE,oBAAoB;IAOzC,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,0BAA0B;IAahC,IAAI,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAsD3E"}
1
+ {"version":3,"file":"DynamicNetworkContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/dynamic-network/domain/DynamicNetworkContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAGhG,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAGzC,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AASF,qBACa,2BACX,YAAW,aAAa,CAAC,0BAA0B,CAAC;IAEpD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuB;IAC1D,OAAO,CAAC,MAAM,CAAyB;gBAIrC,iBAAiB,EAAE,wBAAwB,EAE3C,MAAM,EAAE,mBAAmB,EAE3B,iBAAiB,EAAE,oBAAoB,EAEvC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAQxD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,0BAA0B;IAahC,IAAI,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAyD3E"}
@@ -1,4 +1,4 @@
1
- import { HexaString } from "@ledgerhq/device-management-kit";
1
+ import { HexaString, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import type { ExternalPluginDataSource } from "../../external-plugin/data/ExternalPluginDataSource";
3
3
  import { ContextLoader } from "../../shared/domain/ContextLoader";
4
4
  import { ClearSignContext, ClearSignContextType } from "../../shared/model/ClearSignContext";
@@ -20,7 +20,8 @@ export declare class ExternalPluginContextLoader implements ContextLoader<Extern
20
20
  private _tokenDataSource;
21
21
  private _uniswapLoader;
22
22
  private _customPluginLoaders;
23
- constructor(_externalPluginDataSource: ExternalPluginDataSource, _tokenDataSource: TokenDataSource, _uniswapLoader: UniswapContextLoader);
23
+ private logger;
24
+ constructor(_externalPluginDataSource: ExternalPluginDataSource, _tokenDataSource: TokenDataSource, _uniswapLoader: UniswapContextLoader, loggerFactory: (tag: string) => LoggerPublisherService);
24
25
  canHandle(input: unknown, expectedTypes: ClearSignContextType[]): input is ExternalPluginContextInput;
25
26
  load(input: ExternalPluginContextInput): Promise<ClearSignContext[]>;
26
27
  private getTokenPayload;
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalPluginContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/external-plugin/domain/ExternalPluginContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,iCAAiC,CAAC;AAK3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAEhG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAOF,qBACa,2BACX,YAAW,aAAa,CAAC,0BAA0B,CAAC;IASlD,OAAO,CAAC,yBAAyB;IAEjC,OAAO,CAAC,gBAAgB;IAExB,OAAO,CAAC,cAAc;IAXxB,OAAO,CAAC,oBAAoB,CAG1B;gBAIQ,yBAAyB,EAAE,wBAAwB,EAEnD,gBAAgB,EAAE,eAAe,EAEjC,cAAc,EAAE,oBAAoB;IAO9C,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,0BAA0B;IAmBhC,IAAI,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAkF1E,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,kBAAkB;CA6B3B"}
1
+ {"version":3,"file":"ExternalPluginContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/external-plugin/domain/ExternalPluginContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAEhG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAOF,qBACa,2BACX,YAAW,aAAa,CAAC,0BAA0B,CAAC;IAUlD,OAAO,CAAC,yBAAyB;IAEjC,OAAO,CAAC,gBAAgB;IAExB,OAAO,CAAC,cAAc;IAZxB,OAAO,CAAC,oBAAoB,CAG1B;IACF,OAAO,CAAC,MAAM,CAAyB;gBAI7B,yBAAyB,EAAE,wBAAwB,EAEnD,gBAAgB,EAAE,eAAe,EAEjC,cAAc,EAAE,oBAAoB,EAE5C,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAQxD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,0BAA0B;IAmBhC,IAAI,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuF1E,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,kBAAkB;CA6B3B"}
@@ -1,4 +1,4 @@
1
- import { HexaString } from "@ledgerhq/device-management-kit";
1
+ import { HexaString, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import type { NftDataSource } from "../../nft/data/NftDataSource";
3
3
  import { ContextLoader } from "../../shared/domain/ContextLoader";
4
4
  import { ClearSignContext, ClearSignContextType } from "../../shared/model/ClearSignContext";
@@ -9,7 +9,8 @@ export type NftContextInput = {
9
9
  };
10
10
  export declare class NftContextLoader implements ContextLoader<NftContextInput> {
11
11
  private _dataSource;
12
- constructor(dataSource: NftDataSource);
12
+ private logger;
13
+ constructor(dataSource: NftDataSource, loggerFactory: (tag: string) => LoggerPublisherService);
13
14
  canHandle(input: unknown, expectedTypes: ClearSignContextType[]): input is NftContextInput;
14
15
  load(input: NftContextInput): Promise<ClearSignContext[]>;
15
16
  private isSelectorSupported;
@@ -1 +1 @@
1
- {"version":3,"file":"NftContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/nft/domain/NftContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,iCAAiC,CAAC;AAG3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA0BF,qBACa,gBAAiB,YAAW,aAAa,CAAC,eAAe,CAAC;IACrE,OAAO,CAAC,WAAW,CAAgB;gBAES,UAAU,EAAE,aAAa;IAIrE,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,eAAe;IAgBrB,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAyD/D,OAAO,CAAC,mBAAmB;CAG5B"}
1
+ {"version":3,"file":"NftContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/nft/domain/NftContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA0BF,qBACa,gBAAiB,YAAW,aAAa,CAAC,eAAe,CAAC;IACrE,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,MAAM,CAAyB;gBAGL,UAAU,EAAE,aAAa,EAEzD,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAMxD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,eAAe;IAgBrB,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA4D/D,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -1,4 +1,4 @@
1
- import { HexaString } from "@ledgerhq/device-management-kit";
1
+ import { HexaString, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import { ContextLoader } from "../../shared/domain/ContextLoader";
3
3
  import { ClearSignContext, ClearSignContextType } from "../../shared/model/ClearSignContext";
4
4
  import type { TokenDataSource } from "../../token/data/TokenDataSource";
@@ -13,7 +13,8 @@ export type TokenContextInput = {
13
13
  };
14
14
  export declare class TokenContextLoader implements ContextLoader<TokenContextInput> {
15
15
  private _dataSource;
16
- constructor(dataSource: TokenDataSource);
16
+ private logger;
17
+ constructor(dataSource: TokenDataSource, loggerFactory: (tag: string) => LoggerPublisherService);
17
18
  canHandle(input: unknown, expectedTypes: ClearSignContextType[]): input is TokenContextInput;
18
19
  load(input: TokenContextInput): Promise<ClearSignContext[]>;
19
20
  private isSelectorSupported;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/token/domain/TokenContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,oBAAY,yBAAyB;IACnC,OAAO,eAAe;IACtB,QAAQ,eAAe;CACxB;AAQD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBACa,kBAAmB,YAAW,aAAa,CAAC,iBAAiB,CAAC;IACzE,OAAO,CAAC,WAAW,CAAkB;gBAEW,UAAU,EAAE,eAAe;IAI3E,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,iBAAiB;IAgBvB,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAsBjE,OAAO,CAAC,mBAAmB;CAG5B"}
1
+ {"version":3,"file":"TokenContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/token/domain/TokenContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,oBAAY,yBAAyB;IACnC,OAAO,eAAe;IACtB,QAAQ,eAAe;CACxB;AAQD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBACa,kBAAmB,YAAW,aAAa,CAAC,iBAAiB,CAAC;IACzE,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAyB;gBAGD,UAAU,EAAE,eAAe,EAE/D,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAMxD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,iBAAiB;IAgBvB,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAyBjE,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -1,4 +1,4 @@
1
- import { DeviceModelId } from "@ledgerhq/device-management-kit";
1
+ import { DeviceModelId, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import { type PkiCertificateLoader } from "../../pki/domain/PkiCertificateLoader";
3
3
  import { ContextLoader } from "../../shared/domain/ContextLoader";
4
4
  import { ClearSignContext, ClearSignContextType } from "../../shared/model/ClearSignContext";
@@ -12,7 +12,8 @@ export type TransactionCheckContextInput = {
12
12
  export declare class TransactionCheckContextLoader implements ContextLoader<TransactionCheckContextInput> {
13
13
  private transactionCheckDataSource;
14
14
  private certificateLoader;
15
- constructor(transactionCheckDataSource: TransactionCheckDataSource, certificateLoader: PkiCertificateLoader);
15
+ private logger;
16
+ constructor(transactionCheckDataSource: TransactionCheckDataSource, certificateLoader: PkiCertificateLoader, loggerFactory: (tag: string) => LoggerPublisherService);
16
17
  canHandle(input: unknown, expectedType: ClearSignContextType[]): input is TransactionCheckContextInput;
17
18
  load(ctx: TransactionCheckContextInput): Promise<ClearSignContext[]>;
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionCheckContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/transaction-check/domain/TransactionCheckContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAEd,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AAGtG,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,UAAU,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAMF,qBACa,6BACX,YAAW,aAAa,CAAC,4BAA4B,CAAC;IAIpD,OAAO,CAAC,0BAA0B;IAElC,OAAO,CAAC,iBAAiB;gBAFjB,0BAA0B,EAAE,0BAA0B,EAEtD,iBAAiB,EAAE,oBAAoB;IAGjD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,oBAAoB,EAAE,GACnC,KAAK,IAAI,4BAA4B;IAsBlC,IAAI,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAsC3E"}
1
+ {"version":3,"file":"TransactionCheckContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/transaction-check/domain/TransactionCheckContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAEb,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AAGtG,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,UAAU,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAMF,qBACa,6BACX,YAAW,aAAa,CAAC,4BAA4B,CAAC;IAMpD,OAAO,CAAC,0BAA0B;IAElC,OAAO,CAAC,iBAAiB;IAN3B,OAAO,CAAC,MAAM,CAAyB;gBAI7B,0BAA0B,EAAE,0BAA0B,EAEtD,iBAAiB,EAAE,oBAAoB,EAE/C,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAKxD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,oBAAoB,EAAE,GACnC,KAAK,IAAI,4BAA4B;IAsBlC,IAAI,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAyC3E"}
@@ -1,4 +1,4 @@
1
- import { DeviceModelId } from "@ledgerhq/device-management-kit";
1
+ import { DeviceModelId, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import { type PkiCertificateLoader } from "../../pki/domain/PkiCertificateLoader";
3
3
  import { ContextLoader } from "../../shared/domain/ContextLoader";
4
4
  import { ClearSignContext, ClearSignContextType } from "../../shared/model/ClearSignContext";
@@ -11,7 +11,8 @@ export type TypedDataCheckContextInput = {
11
11
  export declare class TypedDataCheckContextLoader implements ContextLoader<TypedDataCheckContextInput> {
12
12
  private typedDataCheckDataSource;
13
13
  private certificateLoader;
14
- constructor(typedDataCheckDataSource: TypedDataCheckDataSource, certificateLoader: PkiCertificateLoader);
14
+ private logger;
15
+ constructor(typedDataCheckDataSource: TypedDataCheckDataSource, certificateLoader: PkiCertificateLoader, loggerFactory: (tag: string) => LoggerPublisherService);
15
16
  canHandle(input: unknown, expectedType: ClearSignContextType[]): input is TypedDataCheckContextInput;
16
17
  load(ctx: TypedDataCheckContextInput): Promise<ClearSignContext[]>;
17
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TypedDataCheckContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/transaction-check/domain/TypedDataCheckContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,iCAAiC,CAAC;AAI9E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,SAAS,EACT,KAAK,wBAAwB,EAC9B,MAAM,mDAAmD,CAAC;AAG3D,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAMF,qBACa,2BACX,YAAW,aAAa,CAAC,0BAA0B,CAAC;IAIlD,OAAO,CAAC,wBAAwB;IAEhC,OAAO,CAAC,iBAAiB;gBAFjB,wBAAwB,EAAE,wBAAwB,EAElD,iBAAiB,EAAE,oBAAoB;IAGjD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,oBAAoB,EAAE,GACnC,KAAK,IAAI,0BAA0B;IAkBhC,IAAI,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAmCzE"}
1
+ {"version":3,"file":"TypedDataCheckContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/transaction-check/domain/TypedDataCheckContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,SAAS,EACT,KAAK,wBAAwB,EAC9B,MAAM,mDAAmD,CAAC;AAG3D,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAMF,qBACa,2BACX,YAAW,aAAa,CAAC,0BAA0B,CAAC;IAMlD,OAAO,CAAC,wBAAwB;IAEhC,OAAO,CAAC,iBAAiB;IAN3B,OAAO,CAAC,MAAM,CAAyB;gBAI7B,wBAAwB,EAAE,wBAAwB,EAElD,iBAAiB,EAAE,oBAAoB,EAE/C,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAKxD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,oBAAoB,EAAE,GACnC,KAAK,IAAI,0BAA0B;IAkBhC,IAAI,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAsCzE"}
@@ -1,3 +1,4 @@
1
1
  import { ContainerModule } from "inversify";
2
- export declare const trustedNameModuleFactory: () => ContainerModule;
2
+ import { type ContextModuleConfig } from "../../config/model/ContextModuleConfig";
3
+ export declare const trustedNameModuleFactory: (config?: ContextModuleConfig) => ContainerModule;
3
4
  //# sourceMappingURL=trustedNameModuleFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trustedNameModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../src/trusted-name/di/trustedNameModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAO5C,eAAO,MAAM,wBAAwB,uBASjC,CAAC"}
1
+ {"version":3,"file":"trustedNameModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../src/trusted-name/di/trustedNameModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAM9E,eAAO,MAAM,wBAAwB,GAAI,SAAS,mBAAmB,oBAiBjE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DeviceModelId } from "@ledgerhq/device-management-kit";
1
+ import { DeviceModelId, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import { type PkiCertificateLoader } from "../../pki/domain/PkiCertificateLoader";
3
3
  import { ContextLoader } from "../../shared/domain/ContextLoader";
4
4
  import { ClearSignContext, ClearSignContextType } from "../../shared/model/ClearSignContext";
@@ -12,7 +12,8 @@ export type TrustedNameContextInput = {
12
12
  export declare class TrustedNameContextLoader implements ContextLoader<TrustedNameContextInput> {
13
13
  private certificateLoader;
14
14
  private _dataSource;
15
- constructor(dataSource: TrustedNameDataSource, certificateLoader: PkiCertificateLoader);
15
+ private logger;
16
+ constructor(dataSource: TrustedNameDataSource, certificateLoader: PkiCertificateLoader, loggerFactory: (tag: string) => LoggerPublisherService);
16
17
  canHandle(input: unknown, expectedTypes: ClearSignContextType[]): input is TrustedNameContextInput;
17
18
  load(input: TrustedNameContextInput): Promise<ClearSignContext[]>;
18
19
  private isDomainValid;
@@ -1 +1 @@
1
- {"version":3,"file":"TrustedNameContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/trusted-name/domain/TrustedNameContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIhE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAGvF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAMF,qBACa,wBACX,YAAW,aAAa,CAAC,uBAAuB,CAAC;IAQ/C,OAAO,CAAC,iBAAiB;IAN3B,OAAO,CAAC,WAAW,CAAwB;gBAIzC,UAAU,EAAE,qBAAqB,EAEzB,iBAAiB,EAAE,oBAAoB;IAKjD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,uBAAuB;IAkB7B,IAAI,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAwCvE,OAAO,CAAC,aAAa;CAQtB"}
1
+ {"version":3,"file":"TrustedNameContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/trusted-name/domain/TrustedNameContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAGvF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAMF,qBACa,wBACX,YAAW,aAAa,CAAC,uBAAuB,CAAC;IAS/C,OAAO,CAAC,iBAAiB;IAP3B,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,MAAM,CAAyB;gBAIrC,UAAU,EAAE,qBAAqB,EAEzB,iBAAiB,EAAE,oBAAoB,EAE/C,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAMxD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,uBAAuB;IAkB7B,IAAI,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA4CvE,OAAO,CAAC,aAAa;CAQtB"}
@@ -1,3 +1,4 @@
1
+ import { LoggerPublisherService } from "@ledgerhq/device-management-kit";
1
2
  import { type PkiCertificateLoader } from "../../pki/domain/PkiCertificateLoader";
2
3
  import type { ProxyDataSource } from "../../proxy/data/ProxyDataSource";
3
4
  import type { TypedDataClearSignContext } from "../../shared/model/TypedDataClearSignContext";
@@ -10,7 +11,8 @@ export declare class DefaultTypedDataContextLoader implements TypedDataContextLo
10
11
  private tokenDataSource;
11
12
  private proxyDataSource;
12
13
  private _certificateLoader;
13
- constructor(dataSource: TypedDataDataSource, tokenDataSource: TokenDataSource, proxyDataSource: ProxyDataSource, _certificateLoader: PkiCertificateLoader);
14
+ private logger;
15
+ constructor(dataSource: TypedDataDataSource, tokenDataSource: TokenDataSource, proxyDataSource: ProxyDataSource, _certificateLoader: PkiCertificateLoader, loggerFactory: (tag: string) => LoggerPublisherService);
14
16
  load(typedData: TypedDataContext): Promise<TypedDataClearSignContext>;
15
17
  private resolveProxy;
16
18
  private extractTrustedNames;
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultTypedDataContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/typed-data/domain/DefaultTypedDataContextLoader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMpE,OAAO,KAAK,EAGV,yBAAyB,EAO1B,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAOzF,qBACa,6BAA8B,YAAW,sBAAsB;IAGxE,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,eAAe;IAEvB,OAAO,CAAC,eAAe;IAEvB,OAAO,CAAC,kBAAkB;gBANlB,UAAU,EAAE,mBAAmB,EAE/B,eAAe,EAAE,eAAe,EAEhC,eAAe,EAAE,eAAe,EAEhC,kBAAkB,EAAE,oBAAoB;IAG5C,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,yBAAyB,CAAC;YA8D7D,YAAY;IAqC1B,OAAO,CAAC,mBAAmB;YAsBb,aAAa;IAkE3B,OAAO,CAAC,gBAAgB;IAqGxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,0BAA0B;CAQnC"}
1
+ {"version":3,"file":"DefaultTypedDataContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/typed-data/domain/DefaultTypedDataContextLoader.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMpE,OAAO,KAAK,EAGV,yBAAyB,EAO1B,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAOzF,qBACa,6BAA8B,YAAW,sBAAsB;IAKxE,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,eAAe;IAEvB,OAAO,CAAC,eAAe;IAEvB,OAAO,CAAC,kBAAkB;IAV5B,OAAO,CAAC,MAAM,CAAyB;gBAI7B,UAAU,EAAE,mBAAmB,EAE/B,eAAe,EAAE,eAAe,EAEhC,eAAe,EAAE,eAAe,EAEhC,kBAAkB,EAAE,oBAAoB,EAEhD,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAKlD,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,yBAAyB,CAAC;YAmE7D,YAAY;IAqC1B,OAAO,CAAC,mBAAmB;YAsBb,aAAa;IAkE3B,OAAO,CAAC,gBAAgB;IAqGxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,0BAA0B;CAQnC"}
@@ -1,4 +1,4 @@
1
- import { HexaString } from "@ledgerhq/device-management-kit";
1
+ import { HexaString, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import { ContextLoader } from "../../shared/domain/ContextLoader";
3
3
  import { ClearSignContext, ClearSignContextType } from "../../shared/model/ClearSignContext";
4
4
  import { type TokenDataSource } from "../../token/data/TokenDataSource";
@@ -11,7 +11,8 @@ export type UniswapContextInput = {
11
11
  export declare class UniswapContextLoader implements ContextLoader<UniswapContextInput> {
12
12
  private commandDecoderDataSource;
13
13
  private tokenDataSource;
14
- constructor(commandDecoderDataSource: CommandDecoderDataSource, tokenDataSource: TokenDataSource);
14
+ private logger;
15
+ constructor(commandDecoderDataSource: CommandDecoderDataSource, tokenDataSource: TokenDataSource, loggerFactory: (tag: string) => LoggerPublisherService);
15
16
  canHandle(input: unknown, expectedTypes: ClearSignContextType[]): input is UniswapContextInput;
16
17
  load(input: UniswapContextInput): Promise<ClearSignContext[]>;
17
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"UniswapContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/uniswap/domain/UniswapContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,iCAAiC,CAAC;AAK3E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AASpE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAGxF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,qBACa,oBACX,YAAW,aAAa,CAAC,mBAAmB,CAAC;IAI3C,OAAO,CAAC,wBAAwB;IAEhC,OAAO,CAAC,eAAe;gBAFf,wBAAwB,EAAE,wBAAwB,EAElD,eAAe,EAAE,eAAe;IAG1C,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,mBAAmB;IAgBzB,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAKnE;;;;;;;;;;;;;;;OAeG;YACW,yBAAyB;IA8DvC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,OAAO,CAAC,wBAAwB;IA2BhC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAM3B"}
1
+ {"version":3,"file":"UniswapContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/uniswap/domain/UniswapContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AASpE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAGxF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,qBACa,oBACX,YAAW,aAAa,CAAC,mBAAmB,CAAC;IAM3C,OAAO,CAAC,wBAAwB;IAEhC,OAAO,CAAC,eAAe;IANzB,OAAO,CAAC,MAAM,CAAyB;gBAI7B,wBAAwB,EAAE,wBAAwB,EAElD,eAAe,EAAE,eAAe,EAExC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAKxD,SAAS,CACP,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,mBAAmB;IAgBzB,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAOnE;;;;;;;;;;;;;;;OAeG;YACW,yBAAyB;IAgEvC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,OAAO,CAAC,wBAAwB;IA2BhC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAM3B"}