@hyperlane-xyz/sdk 1.4.3-beta0 → 1.4.3-beta2

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 (250) hide show
  1. package/README.md +7 -1
  2. package/dist/{HyperlaneApp.d.ts → app/HyperlaneApp.d.ts} +4 -4
  3. package/dist/app/HyperlaneApp.d.ts.map +1 -0
  4. package/dist/{HyperlaneApp.js → app/HyperlaneApp.js} +4 -4
  5. package/dist/app/HyperlaneApp.js.map +1 -0
  6. package/dist/app/MultiProtocolApp.d.ts +51 -0
  7. package/dist/app/MultiProtocolApp.d.ts.map +1 -0
  8. package/dist/app/MultiProtocolApp.js +80 -0
  9. package/dist/app/MultiProtocolApp.js.map +1 -0
  10. package/dist/app/MultiProtocolApp.test.d.ts +2 -0
  11. package/dist/app/MultiProtocolApp.test.d.ts.map +1 -0
  12. package/dist/app/MultiProtocolApp.test.js +19 -0
  13. package/dist/app/MultiProtocolApp.test.js.map +1 -0
  14. package/dist/consts/chainMetadata.d.ts +2 -57
  15. package/dist/consts/chainMetadata.d.ts.map +1 -1
  16. package/dist/consts/chainMetadata.js +26 -43
  17. package/dist/consts/chainMetadata.js.map +1 -1
  18. package/dist/consts/chains.d.ts +1 -2
  19. package/dist/consts/chains.d.ts.map +1 -1
  20. package/dist/consts/chains.js +0 -1
  21. package/dist/consts/chains.js.map +1 -1
  22. package/dist/consts/environments/index.d.ts +1 -1
  23. package/dist/consts/environments/index.d.ts.map +1 -1
  24. package/dist/consts/environments/index.js +2 -2
  25. package/dist/consts/environments/index.js.map +1 -1
  26. package/dist/{contracts.d.ts → contracts/contracts.d.ts} +3 -15
  27. package/dist/contracts/contracts.d.ts.map +1 -0
  28. package/dist/{contracts.js → contracts/contracts.js} +12 -12
  29. package/dist/contracts/contracts.js.map +1 -0
  30. package/dist/contracts/types.d.ts +18 -0
  31. package/dist/contracts/types.d.ts.map +1 -0
  32. package/dist/contracts/types.js +3 -0
  33. package/dist/contracts/types.js.map +1 -0
  34. package/dist/core/HyperlaneCore.d.ts +6 -6
  35. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  36. package/dist/core/HyperlaneCore.js +11 -11
  37. package/dist/core/HyperlaneCore.js.map +1 -1
  38. package/dist/core/HyperlaneCoreChecker.js +2 -2
  39. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  40. package/dist/core/HyperlaneCoreDeployer.d.ts +4 -4
  41. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  42. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  43. package/dist/core/TestCoreApp.d.ts +1 -1
  44. package/dist/core/TestCoreApp.d.ts.map +1 -1
  45. package/dist/core/TestCoreApp.js +1 -1
  46. package/dist/core/TestCoreApp.js.map +1 -1
  47. package/dist/core/TestCoreDeployer.d.ts +1 -1
  48. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  49. package/dist/core/testHyperlaneDeploy.hardhat-test.js +2 -2
  50. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  51. package/dist/core/types.d.ts +4 -4
  52. package/dist/core/types.d.ts.map +1 -1
  53. package/dist/deploy/HyperlaneAppChecker.d.ts +3 -3
  54. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  55. package/dist/deploy/HyperlaneAppChecker.js +9 -10
  56. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  57. package/dist/deploy/HyperlaneDeployer.d.ts +4 -4
  58. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  59. package/dist/deploy/HyperlaneDeployer.js +5 -5
  60. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  61. package/dist/deploy/proxy.d.ts +6 -6
  62. package/dist/deploy/proxy.d.ts.map +1 -1
  63. package/dist/deploy/proxy.js +1 -1
  64. package/dist/deploy/proxy.js.map +1 -1
  65. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  66. package/dist/deploy/verify/ContractVerifier.js +3 -4
  67. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  68. package/dist/gas/HyperlaneIgp.d.ts +4 -4
  69. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  70. package/dist/gas/HyperlaneIgp.js +2 -2
  71. package/dist/gas/HyperlaneIgp.js.map +1 -1
  72. package/dist/gas/HyperlaneIgpChecker.d.ts +2 -2
  73. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  74. package/dist/gas/HyperlaneIgpChecker.js +2 -2
  75. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  76. package/dist/gas/HyperlaneIgpDeployer.d.ts +3 -3
  77. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  78. package/dist/gas/HyperlaneIgpDeployer.js +1 -1
  79. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  80. package/dist/gas/token-prices.d.ts +1 -55
  81. package/dist/gas/token-prices.d.ts.map +1 -1
  82. package/dist/gas/types.d.ts +8 -8
  83. package/dist/gas/types.d.ts.map +1 -1
  84. package/dist/hook/HyperlaneHookDeployer.d.ts +5 -5
  85. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  86. package/dist/hook/HyperlaneHookDeployer.js +1 -1
  87. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  88. package/dist/hook/types.d.ts +4 -4
  89. package/dist/hook/types.d.ts.map +1 -1
  90. package/dist/index.d.ts +15 -12
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +30 -26
  93. package/dist/index.js.map +1 -1
  94. package/dist/ism/HyperlaneIsmFactory.d.ts +5 -5
  95. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  96. package/dist/ism/HyperlaneIsmFactory.js +7 -7
  97. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  98. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts +1 -1
  99. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +1 -1
  100. package/dist/ism/HyperlaneIsmFactoryDeployer.js +2 -2
  101. package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
  102. package/dist/ism/types.d.ts +3 -3
  103. package/dist/ism/types.d.ts.map +1 -1
  104. package/dist/metadata/ChainMetadataManager.d.ts +130 -0
  105. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -0
  106. package/dist/metadata/ChainMetadataManager.js +240 -0
  107. package/dist/metadata/ChainMetadataManager.js.map +1 -0
  108. package/dist/metadata/agentConfig.d.ts +2 -2
  109. package/dist/metadata/agentConfig.d.ts.map +1 -1
  110. package/dist/metadata/agentConfig.js.map +1 -1
  111. package/dist/metadata/chainMetadata.test.js +2 -1
  112. package/dist/metadata/chainMetadata.test.js.map +1 -1
  113. package/dist/metadata/chainMetadataTypes.d.ts +2 -11
  114. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  115. package/dist/metadata/chainMetadataTypes.js +3 -12
  116. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  117. package/dist/metadata/deploymentArtifacts.d.ts +4 -4
  118. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  119. package/dist/middleware/account/InterchainAccount.d.ts +1 -1
  120. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  121. package/dist/middleware/account/InterchainAccount.js +1 -1
  122. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  123. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
  124. package/dist/middleware/account/InterchainAccountChecker.js +2 -2
  125. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  126. package/dist/middleware/account/InterchainAccountDeployer.d.ts +1 -1
  127. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  128. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +2 -2
  129. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  130. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +4 -4
  131. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  132. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +3 -3
  133. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  134. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +5 -6
  135. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  136. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +3 -4
  137. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  138. package/dist/middleware/query/InterchainQuery.d.ts +1 -1
  139. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
  140. package/dist/middleware/query/InterchainQuery.js +1 -1
  141. package/dist/middleware/query/InterchainQuery.js.map +1 -1
  142. package/dist/middleware/query/queries.hardhat-test.js +1 -1
  143. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  144. package/dist/providers/MultiProtocolProvider.d.ts +39 -0
  145. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -0
  146. package/dist/providers/MultiProtocolProvider.js +105 -0
  147. package/dist/providers/MultiProtocolProvider.js.map +1 -0
  148. package/dist/providers/MultiProtocolProvider.test.d.ts +2 -0
  149. package/dist/providers/MultiProtocolProvider.test.d.ts.map +1 -0
  150. package/dist/providers/MultiProtocolProvider.test.js +24 -0
  151. package/dist/providers/MultiProtocolProvider.test.js.map +1 -0
  152. package/dist/providers/MultiProvider.d.ts +21 -119
  153. package/dist/providers/MultiProvider.d.ts.map +1 -1
  154. package/dist/providers/MultiProvider.js +21 -232
  155. package/dist/providers/MultiProvider.js.map +1 -1
  156. package/dist/providers/ProviderType.d.ts +71 -0
  157. package/dist/providers/ProviderType.d.ts.map +1 -0
  158. package/dist/providers/ProviderType.js +11 -0
  159. package/dist/providers/ProviderType.js.map +1 -0
  160. package/dist/providers/RetryProvider.js +3 -3
  161. package/dist/providers/RetryProvider.js.map +1 -1
  162. package/dist/providers/providerBuilders.d.ts +17 -0
  163. package/dist/providers/providerBuilders.d.ts.map +1 -0
  164. package/dist/providers/providerBuilders.js +97 -0
  165. package/dist/providers/providerBuilders.js.map +1 -0
  166. package/dist/router/GasRouterDeployer.d.ts +3 -3
  167. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  168. package/dist/router/GasRouterDeployer.js.map +1 -1
  169. package/dist/router/HyperlaneRouterChecker.d.ts +1 -1
  170. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  171. package/dist/router/HyperlaneRouterChecker.js +2 -2
  172. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  173. package/dist/router/HyperlaneRouterDeployer.d.ts +3 -3
  174. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  175. package/dist/router/HyperlaneRouterDeployer.js +6 -7
  176. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  177. package/dist/router/MultiProtocolRouterApps.d.ts +29 -0
  178. package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -0
  179. package/dist/router/MultiProtocolRouterApps.js +43 -0
  180. package/dist/router/MultiProtocolRouterApps.js.map +1 -0
  181. package/dist/router/MultiProtocolRouterApps.test.d.ts +2 -0
  182. package/dist/router/MultiProtocolRouterApps.test.d.ts.map +1 -0
  183. package/dist/router/MultiProtocolRouterApps.test.js +20 -0
  184. package/dist/router/MultiProtocolRouterApps.test.js.map +1 -0
  185. package/dist/router/ProxiedRouterDeployer.d.ts +1 -1
  186. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  187. package/dist/router/ProxiedRouterDeployer.js +2 -2
  188. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  189. package/dist/router/RouterApps.d.ts +5 -5
  190. package/dist/router/RouterApps.d.ts.map +1 -1
  191. package/dist/router/RouterApps.js +7 -6
  192. package/dist/router/RouterApps.js.map +1 -1
  193. package/dist/router/adapters/EvmRouterAdapter.d.ts +25 -0
  194. package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -0
  195. package/dist/router/adapters/EvmRouterAdapter.js +50 -0
  196. package/dist/router/adapters/EvmRouterAdapter.js.map +1 -0
  197. package/dist/router/adapters/SealevelRouterAdapter.d.ts +50 -0
  198. package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -0
  199. package/dist/router/adapters/SealevelRouterAdapter.js +132 -0
  200. package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -0
  201. package/dist/router/adapters/SealevelRouterAdapter.test.d.ts +2 -0
  202. package/dist/router/adapters/SealevelRouterAdapter.test.d.ts.map +1 -0
  203. package/dist/router/adapters/SealevelRouterAdapter.test.js +21 -0
  204. package/dist/router/adapters/SealevelRouterAdapter.test.js.map +1 -0
  205. package/dist/router/adapters/types.d.ts +18 -0
  206. package/dist/router/adapters/types.d.ts.map +1 -0
  207. package/dist/router/adapters/types.js +3 -0
  208. package/dist/router/adapters/types.js.map +1 -0
  209. package/dist/router/types.d.ts +10 -7
  210. package/dist/router/types.d.ts.map +1 -1
  211. package/dist/router/types.js.map +1 -1
  212. package/dist/test/testUtils.d.ts +5 -5
  213. package/dist/test/testUtils.d.ts.map +1 -1
  214. package/dist/test/testUtils.js +3 -3
  215. package/dist/test/testUtils.js.map +1 -1
  216. package/dist/utils/MultiGeneric.d.ts +1 -1
  217. package/dist/utils/MultiGeneric.d.ts.map +1 -1
  218. package/dist/utils/MultiGeneric.js.map +1 -1
  219. package/dist/utils/filter.d.ts +3 -0
  220. package/dist/utils/filter.d.ts.map +1 -0
  221. package/dist/utils/filter.js +13 -0
  222. package/dist/utils/filter.js.map +1 -0
  223. package/dist/utils/wagmi.d.ts.map +1 -1
  224. package/dist/utils/wagmi.js +2 -2
  225. package/dist/utils/wagmi.js.map +1 -1
  226. package/package.json +6 -3
  227. package/dist/HyperlaneApp.d.ts.map +0 -1
  228. package/dist/HyperlaneApp.js.map +0 -1
  229. package/dist/contracts.d.ts.map +0 -1
  230. package/dist/contracts.js.map +0 -1
  231. package/dist/utils/ids.d.ts +0 -20
  232. package/dist/utils/ids.d.ts.map +0 -1
  233. package/dist/utils/ids.js +0 -47
  234. package/dist/utils/ids.js.map +0 -1
  235. package/dist/utils/number.d.ts +0 -32
  236. package/dist/utils/number.d.ts.map +0 -1
  237. package/dist/utils/number.js +0 -59
  238. package/dist/utils/number.js.map +0 -1
  239. package/dist/utils/objects.d.ts +0 -17
  240. package/dist/utils/objects.d.ts.map +0 -1
  241. package/dist/utils/objects.js +0 -77
  242. package/dist/utils/objects.js.map +0 -1
  243. package/dist/utils/time.d.ts +0 -8
  244. package/dist/utils/time.d.ts.map +0 -1
  245. package/dist/utils/time.js +0 -15
  246. package/dist/utils/time.js.map +0 -1
  247. package/dist/utils/utils.test.d.ts +0 -2
  248. package/dist/utils/utils.test.d.ts.map +0 -1
  249. package/dist/utils/utils.test.js +0 -41
  250. package/dist/utils/utils.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MultiProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":";;;AAAA,iCAAwC;AACxC,mCAOgB;AAEhB,gDAAoD;AAEpD,2DAAgF;AAChF,6CAA6D;AAC7D,uEAIwC;AAExC,8CAAwC;AAExC,mDAA6E;AAI7E,MAAM,qBAAqB,GAAyB;IAClD,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,GAAG;CACjB,CAAC;AAEF,SAAgB,sBAAsB,CACpC,OAAiC,EACjC,OAA6B,EAC7B,aAAoC;IAEpC,MAAM,cAAc,GAAG,CAAC,CAAmC,EAAE,EAAE;QAC7D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC;QACvC,OAAO,KAAK;YACV,CAAC,CAAC,IAAI,oCAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;YAClD,CAAC,CAAC,IAAI,kBAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,OAAO,IAAI,kBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;KACvE;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;AACH,CAAC;AAlBD,wDAkBC;AASD,MAAa,aAAa;IAQxB;;;OAGG;IACH,YACE,gBAAyC,6BAAoB,EAC7D,UAAgC,EAAE;QAbpB,aAAQ,GAA4B,EAAE,CAAC;QACpC,cAAS,GAAuB,EAAE,CAAC;QAE5C,YAAO,GAAqB,EAAE,CAAC;QAC/B,oBAAe,GAAG,KAAK,CAAC,CAAC,4CAA4C;QAW7E,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,GAAG,KAAK,EAAE,CAAC,IAAI;gBACjB,MAAM,IAAI,KAAK,CACb,gCAAgC,GAAG,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAC9D,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAA,aAAK,EAAC,OAAO,EAAE,UAAU,IAAI,yBAAyB,CAAC,CAAC;QACtE,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,sBAAsB,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAuB;QAC9B,IAAI,CAAC,IAAA,yCAAoB,EAAC,QAAQ,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,iEAAiE;QACjE,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACxD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;YAClD,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI;gBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YACnD,iDAAiD;YACjD,MAAM,WAAW,GACf,OAAO,IAAI,QAAQ,CAAC,OAAO;gBAC3B,QAAQ,IAAI,QAAQ,CAAC,OAAO;gBAC5B,CAAC,QAAQ,CAAC,QAAQ;oBAChB,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,IAAI,WAAW;gBACb,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAC1D,CAAC;SACL;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QACxC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC;SACF;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,aAAiC;QACnD,IAAI,aAAwC,CAAC;QAC7C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACrC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC9C;aAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YAC5C,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,CAAC,QAAQ,KAAK,aAAa,CACnE,CAAC;SACH;QACD,OAAO,aAAa,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,aAAiC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;QAChE,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,aAAiC;QAC/C,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,aAAiC;QAC5C,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,aAAiC;QAC7C,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,aAAiC;QAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,aAAiC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,OAAO,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,aAAiC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACtD,OAAO,IAAA,gCAAW,EAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,eAA0C;QACrD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,aAAiC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAE5C,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,mBAAU,CAAC,QAAQ,CAAC,IAAqB,CAAC,EAAE;YAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,kBAAS,CAAC,eAAe,CAClD,uBAAuB,EACvB,KAAK,CACN,CAAC;SACH;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CACzC,OAAO,EACP,OAAO,EACP,qBAAqB,CACtB,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,aAAiC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,aAAiC,EAAE,QAAkB;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrD;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,SAA6B;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9C;IACH,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,aAAiC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC;QACnC,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,aAAiC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,aAAa,EAAE,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,aAAiC;QAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,aAAiC,EAAE,MAAc;QACzD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;QACjC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YACjD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,OAAyB;QAClC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;SAC1C;IACH,CAAC;IAED;;OAEG;IACH,sBAAsB,CACpB,aAAiC;QAEjC,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CACvE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,aAAiC;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,YAA2B;QACzC,IAAI,CAAC,YAAY,EAAE;YACjB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;SACpC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,SAAS,CACP,MAAmB,EACnB,gBAAgB,GAAG,KAAK;QAKxB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAgB,EAAE,CAAC;QAErC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC7B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B;iBAAM,IAAI,gBAAgB,EAAE;gBAC3B,MAAM,IAAI,KAAK,CACb,6CAA6C,KAAK,oCAAoC,CACvF,CAAC;aACH;SACF;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,oDAAoD,SAAS,QAAQ,MAAM,GAAG,CAC/E,CAAC;SACH;QAED,MAAM,oBAAoB,GAAG,IAAA,cAAI,EAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/D,MAAM,qBAAqB,GAAG,IAAA,cAAI,EAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACjE,MAAM,mBAAmB,GAAG,IAAA,cAAI,EAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC9D,aAAa,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;QAClD,aAAa,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAE9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAe;QAC7B,OAAO,aAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,aAAiC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YACtC,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,aAAiC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,aAAiC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,aAAa,EAAE,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,aAAiC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC5D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,aAAiC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,mBAAmB,CACjB,aAAiC,EACjC,QAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,aAAiC,EACjC,QAA0B;QAE1B,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAC5B,aAAiC,EACjC,OAAgB;QAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,OAAO;YAAE,OAAO,GAAG,OAAO,YAAY,OAAO,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,GAAG,OAAO,YAAY,MAAM,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CACzB,aAAiC,EACjC,OAAgB;QAEhB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,KAAK,CAAC,oCAAoC,aAAa,EAAE,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,uBAAuB,CACrB,aAAiC;QAEjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,oBAAoB,IAAI,EAAE,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CACZ,aAAiC,EACjC,EAAsD;QAEtD,MAAM,aAAa,GACjB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CACT,WACE,KAAK,IAAI,QAAQ,CAAC,IACpB,aAAa,aAAa,2BAA2B,CACtD,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CACb,aAAiC,EACjC,EAAwB,EACxB,IAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC9D,OAAO;YACL,GAAG,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,aAAiC,EACjC,EAAwB,EACxB,IAAa;QAEb,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAClD,mFAAmF;YACnF,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,SAAS;YACnB,oBAAoB,EAAE,SAAS;YAC/B,YAAY,EAAE,SAAS;SACxB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,aAAiC,EACjC,EAAwB;QAExB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,WAAW,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,cAAc,CAAS,EAA4B;QACjD,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAC5B,SAAmD,EAAE,EACrD,SAAsB,mBAAU;QAEhC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,aAAa,GAAG,IAAA,cAAI,EAAC,6BAAoB,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAC5B;QACD,MAAM,SAAS,GAAG,QAAQ,IAAI,MAAM,EAAE,QAAQ,CAAC;QAC/C,IAAI,SAAS,EAAE;YACb,MAAM,WAAW,GAAuB,EAAE,CAAC;YAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YACpD,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;SAC9B;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAtlBD,sCAslBC"}
1
+ {"version":3,"file":"MultiProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { Connection, Transaction as SolTransaction } from '@solana/web3.js';
2
+ import type { Contract as EV5Contract, providers as EV5Providers, PopulatedTransaction as EV5Transaction } from 'ethers';
3
+ import type { GetContractReturnType, PublicClient, Transaction as VTransaction } from 'viem';
4
+ export declare enum ProviderType {
5
+ EthersV5 = "ethers-v5",
6
+ Viem = "viem",
7
+ SolanaWeb3 = "solana-web3"
8
+ }
9
+ export type ProviderMap<Value> = Partial<Record<ProviderType, Value>>;
10
+ /**
11
+ * Providers with discriminated union of type
12
+ */
13
+ interface TypedProviderBase<T> {
14
+ type: ProviderType;
15
+ provider: T;
16
+ }
17
+ export interface EthersV5Provider extends TypedProviderBase<EV5Providers.Provider> {
18
+ type: ProviderType.EthersV5;
19
+ provider: EV5Providers.Provider;
20
+ }
21
+ export interface ViemProvider extends TypedProviderBase<PublicClient> {
22
+ type: ProviderType.Viem;
23
+ provider: PublicClient;
24
+ }
25
+ export interface SolanaWeb3Provider extends TypedProviderBase<Connection> {
26
+ type: ProviderType.SolanaWeb3;
27
+ provider: Connection;
28
+ }
29
+ export type TypedProvider = EthersV5Provider | ViemProvider | SolanaWeb3Provider;
30
+ /**
31
+ * Contracts with discriminated union of provider type
32
+ */
33
+ interface TypedContractBase<T> {
34
+ type: ProviderType;
35
+ contract: T;
36
+ }
37
+ export interface EthersV5Contract extends TypedContractBase<EV5Contract> {
38
+ type: ProviderType.EthersV5;
39
+ transaction: EV5Contract;
40
+ }
41
+ export interface ViemContract extends TypedContractBase<GetContractReturnType> {
42
+ type: ProviderType.Viem;
43
+ transaction: GetContractReturnType;
44
+ }
45
+ export interface SolanaWeb3Contract extends TypedContractBase<never> {
46
+ type: ProviderType.SolanaWeb3;
47
+ transaction: never;
48
+ }
49
+ export type TypedContract = EthersV5Contract | ViemContract | SolanaWeb3Contract;
50
+ /**
51
+ * Transactions with discriminated union of provider type
52
+ */
53
+ interface TypedTransactionBase<T> {
54
+ type: ProviderType;
55
+ transaction: T;
56
+ }
57
+ export interface EthersV5Transaction extends TypedTransactionBase<EV5Transaction> {
58
+ type: ProviderType.EthersV5;
59
+ transaction: EV5Transaction;
60
+ }
61
+ export interface ViemTransaction extends TypedTransactionBase<VTransaction> {
62
+ type: ProviderType.Viem;
63
+ transaction: VTransaction;
64
+ }
65
+ export interface SolanaWeb3Transaction extends TypedTransactionBase<SolTransaction> {
66
+ type: ProviderType.SolanaWeb3;
67
+ transaction: SolTransaction;
68
+ }
69
+ export type TypedTransaction = EthersV5Transaction | ViemTransaction | SolanaWeb3Transaction;
70
+ export {};
71
+ //# sourceMappingURL=ProviderType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderType.d.ts","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,IAAI,cAAc,EAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,QAAQ,IAAI,WAAW,EACvB,SAAS,IAAI,YAAY,EACzB,oBAAoB,IAAI,cAAc,EACvC,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACZ,WAAW,IAAI,YAAY,EAC5B,MAAM,MAAM,CAAC;AAEd,oBAAY,YAAY;IACtB,QAAQ,cAAc;IAEtB,IAAI,SAAS;IACb,UAAU,gBAAgB;CAC3B;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAEtE;;GAEG;AAEH,UAAU,iBAAiB,CAAC,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,gBACf,SAAQ,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC;IAChD,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;CACjC;AAOD,MAAM,WAAW,YAAa,SAAQ,iBAAiB,CAAC,YAAY,CAAC;IACnE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB,CAAC,UAAU,CAAC;IACvE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAC9B,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAEhB,YAAY,GACZ,kBAAkB,CAAC;AAEvB;;GAEG;AAEH,UAAU,iBAAiB,CAAC,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IACtE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAOD,MAAM,WAAW,YAAa,SAAQ,iBAAiB,CAAC,qBAAqB,CAAC;IAC5E,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IACxB,WAAW,EAAE,qBAAqB,CAAC;CACpC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IAClE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAE9B,WAAW,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAEhB,YAAY,GACZ,kBAAkB,CAAC;AAEvB;;GAEG;AAEH,UAAU,oBAAoB,CAAC,CAAC;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC;CAChB;AAED,MAAM,WAAW,mBACf,SAAQ,oBAAoB,CAAC,cAAc,CAAC;IAC5C,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;IAC5B,WAAW,EAAE,cAAc,CAAC;CAC7B;AAOD,MAAM,WAAW,eAAgB,SAAQ,oBAAoB,CAAC,YAAY,CAAC;IACzE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;CAC3B;AAED,MAAM,WAAW,qBACf,SAAQ,oBAAoB,CAAC,cAAc,CAAC;IAC5C,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;IAE9B,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GAEnB,eAAe,GACf,qBAAqB,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderType = void 0;
4
+ var ProviderType;
5
+ (function (ProviderType) {
6
+ ProviderType["EthersV5"] = "ethers-v5";
7
+ // EthersV6 = 'ethers-v6', Disabled for now to simplify build tooling
8
+ ProviderType["Viem"] = "viem";
9
+ ProviderType["SolanaWeb3"] = "solana-web3";
10
+ })(ProviderType || (exports.ProviderType = ProviderType = {}));
11
+ //# sourceMappingURL=ProviderType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderType.js","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":";;;AAgBA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,sCAAsB,CAAA;IACtB,qEAAqE;IACrE,6BAAa,CAAA;IACb,0CAA0B,CAAA;AAC5B,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB"}
@@ -9,12 +9,12 @@ class RetryJsonRpcProvider extends ethers_1.ethers.providers
9
9
  .StaticJsonRpcProvider {
10
10
  constructor(retryOptions, url, network) {
11
11
  super(url, network);
12
- utils_1.utils.assert(retryOptions.maxRequests >= 1, 'RetryOptions.maxRequests must be >= 1');
13
- utils_1.utils.assert(retryOptions.baseRetryMs >= 1, 'RetryOptions.baseRetryMs must be >= 1');
12
+ (0, utils_1.assert)(retryOptions.maxRequests >= 1, 'RetryOptions.maxRequests must be >= 1');
13
+ (0, utils_1.assert)(retryOptions.baseRetryMs >= 1, 'RetryOptions.baseRetryMs must be >= 1');
14
14
  this.retryOptions = retryOptions;
15
15
  }
16
16
  async send(method, params) {
17
- return utils_1.utils.retryAsync(() => super.send(method, params), this.retryOptions.maxRequests, this.retryOptions.baseRetryMs);
17
+ return (0, utils_1.retryAsync)(() => super.send(method, params), this.retryOptions.maxRequests, this.retryOptions.baseRetryMs);
18
18
  }
19
19
  }
20
20
  exports.RetryJsonRpcProvider = RetryJsonRpcProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"RetryProvider.js","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":";;;AAAA,4EAA4E;AAC5E,+DAA+D;AAC/D,mCAAgC;AAEhC,gDAA6C;AAU7C,MAAa,oBAAqB,SAAQ,eAAM,CAAC,SAAS;KACvD,qBAAqB;IAEtB,YACE,YAAkC,EAClC,GAA0C,EAC1C,OAAqC;QAErC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpB,aAAK,CAAC,MAAM,CACV,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;QACF,aAAK,CAAC,MAAM,CACV,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAkB;QAC3C,OAAO,aAAK,CAAC,UAAU,CACrB,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,IAAI,CAAC,YAAY,CAAC,WAAW,EAC7B,IAAI,CAAC,YAAY,CAAC,WAAW,CAC9B,CAAC;IACJ,CAAC;CACF;AA3BD,oDA2BC"}
1
+ {"version":3,"file":"RetryProvider.js","sourceRoot":"","sources":["../../src/providers/RetryProvider.ts"],"names":[],"mappings":";;;AAAA,4EAA4E;AAC5E,+DAA+D;AAC/D,mCAAgC;AAEhC,gDAA0D;AAU1D,MAAa,oBAAqB,SAAQ,eAAM,CAAC,SAAS;KACvD,qBAAqB;IAEtB,YACE,YAAkC,EAClC,GAA0C,EAC1C,OAAqC;QAErC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpB,IAAA,cAAM,EACJ,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;QACF,IAAA,cAAM,EACJ,YAAY,CAAC,WAAW,IAAI,CAAC,EAC7B,uCAAuC,CACxC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAkB;QAC3C,OAAO,IAAA,kBAAU,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,IAAI,CAAC,YAAY,CAAC,WAAW,EAC7B,IAAI,CAAC,YAAY,CAAC,WAAW,CAC9B,CAAC;IACJ,CAAC;CACF;AA3BD,oDA2BC"}
@@ -0,0 +1,17 @@
1
+ import { providers } from 'ethers';
2
+ import { ProtocolType } from '@hyperlane-xyz/utils';
3
+ import { ChainMetadata } from '../metadata/chainMetadataTypes';
4
+ import { EthersV5Provider, ProviderType, SolanaWeb3Provider, TypedProvider, ViemProvider } from './ProviderType';
5
+ import { RetryProviderOptions } from './RetryProvider';
6
+ export type ProviderBuilderFn<P> = (rpcUrls: ChainMetadata['rpcUrls'], network: number | string, retryOverride?: RetryProviderOptions) => P;
7
+ export type TypedProviderBuilderFn = ProviderBuilderFn<TypedProvider>;
8
+ export declare const DEFAULT_RETRY_OPTIONS: RetryProviderOptions;
9
+ export declare function defaultEthersV5ProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], network: number | string, retryOverride?: RetryProviderOptions): EthersV5Provider;
10
+ export declare function defaultViemProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], network: number | string): ViemProvider;
11
+ export declare function defaultSolProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], _network: number | string): SolanaWeb3Provider;
12
+ export declare function defaultFuelProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], _network: number | string): EthersV5Provider;
13
+ export declare function defaultProviderBuilder(rpcUrls: ChainMetadata['rpcUrls'], _network: number | string): providers.Provider;
14
+ export type ProviderBuilderMap = Record<ProviderType, ProviderBuilderFn<TypedProvider>>;
15
+ export declare const defaultProviderBuilderMap: ProviderBuilderMap;
16
+ export declare const protocolToDefaultProviderBuilder: Record<ProtocolType, ProviderBuilderFn<TypedProvider>>;
17
+ //# sourceMappingURL=providerBuilders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerBuilders.d.ts","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAwB,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CACjC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,aAAa,CAAC,EAAE,oBAAoB,KACjC,CAAC,CAAC;AACP,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAEtE,eAAO,MAAM,qBAAqB,EAAE,oBAGnC,CAAC;AAEF,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,aAAa,CAAC,EAAE,oBAAoB,GACnC,gBAAgB,CAgBlB;AAcD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,YAAY,CAiBd;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,kBAAkB,CAMpB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,gBAAgB,CAGlB;AAGD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,SAAS,CAAC,QAAQ,CAEpB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC,YAAY,EACZ,iBAAiB,CAAC,aAAa,CAAC,CACjC,CAAC;AACF,eAAO,MAAM,yBAAyB,EAAE,kBAKvC,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,YAAY,EACZ,iBAAiB,CAAC,aAAa,CAAC,CAKjC,CAAC"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.protocolToDefaultProviderBuilder = exports.defaultProviderBuilderMap = exports.defaultProviderBuilder = exports.defaultFuelProviderBuilder = exports.defaultSolProviderBuilder = exports.defaultViemProviderBuilder = exports.defaultEthersV5ProviderBuilder = exports.DEFAULT_RETRY_OPTIONS = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const ethers_1 = require("ethers");
6
+ const viem_1 = require("viem");
7
+ const utils_1 = require("@hyperlane-xyz/utils");
8
+ const ProviderType_1 = require("./ProviderType");
9
+ const RetryProvider_1 = require("./RetryProvider");
10
+ exports.DEFAULT_RETRY_OPTIONS = {
11
+ maxRequests: 3,
12
+ baseRetryMs: 250,
13
+ };
14
+ function defaultEthersV5ProviderBuilder(rpcUrls, network, retryOverride) {
15
+ const createProvider = (r) => {
16
+ const retry = r.retry || retryOverride;
17
+ return retry
18
+ ? new RetryProvider_1.RetryJsonRpcProvider(retry, r.http, network)
19
+ : new ethers_1.providers.StaticJsonRpcProvider(r.http, network);
20
+ };
21
+ let provider;
22
+ if (rpcUrls.length > 1) {
23
+ provider = new ethers_1.providers.FallbackProvider(rpcUrls.map(createProvider), 1);
24
+ }
25
+ else if (rpcUrls.length === 1) {
26
+ provider = createProvider(rpcUrls[0]);
27
+ }
28
+ else {
29
+ throw new Error('No RPC URLs provided');
30
+ }
31
+ return { type: ProviderType_1.ProviderType.EthersV5, provider };
32
+ }
33
+ exports.defaultEthersV5ProviderBuilder = defaultEthersV5ProviderBuilder;
34
+ // export function defaultEthersV6ProviderBuilder(
35
+ // rpcUrls: ChainMetadata['rpcUrls'],
36
+ // network: number | string,
37
+ // ): EthersV6Provider {
38
+ // // TODO add support for retry providers here
39
+ // if (!rpcUrls.length) throw new Error('No RPC URLs provided');
40
+ // return {
41
+ // type: ProviderType.EthersV6,
42
+ // provider: new Ev6JsonRpcProvider(rpcUrls[0].http, network),
43
+ // };
44
+ // }
45
+ function defaultViemProviderBuilder(rpcUrls, network) {
46
+ if (!rpcUrls.length)
47
+ throw new Error('No RPC URLs provided');
48
+ if (!(0, utils_1.isNumeric)(network))
49
+ throw new Error('Viem requires a numeric network');
50
+ const id = parseInt(network.toString(), 10);
51
+ const name = network.toString(); // TODO get more descriptive name
52
+ const url = rpcUrls[0].http;
53
+ const client = (0, viem_1.createPublicClient)({
54
+ chain: {
55
+ id,
56
+ name,
57
+ network: name,
58
+ nativeCurrency: { name: '', symbol: '', decimals: 0 },
59
+ rpcUrls: { default: { http: [url] }, public: { http: [url] } },
60
+ },
61
+ transport: (0, viem_1.http)(rpcUrls[0].http),
62
+ });
63
+ return { type: ProviderType_1.ProviderType.Viem, provider: client };
64
+ }
65
+ exports.defaultViemProviderBuilder = defaultViemProviderBuilder;
66
+ function defaultSolProviderBuilder(rpcUrls, _network) {
67
+ if (!rpcUrls.length)
68
+ throw new Error('No RPC URLs provided');
69
+ return {
70
+ type: ProviderType_1.ProviderType.SolanaWeb3,
71
+ provider: new web3_js_1.Connection(rpcUrls[0].http, 'confirmed'),
72
+ };
73
+ }
74
+ exports.defaultSolProviderBuilder = defaultSolProviderBuilder;
75
+ function defaultFuelProviderBuilder(rpcUrls, _network) {
76
+ if (!rpcUrls.length)
77
+ throw new Error('No RPC URLs provided');
78
+ throw new Error('TODO fuel support');
79
+ }
80
+ exports.defaultFuelProviderBuilder = defaultFuelProviderBuilder;
81
+ // Kept for backwards compatibility
82
+ function defaultProviderBuilder(rpcUrls, _network) {
83
+ return defaultEthersV5ProviderBuilder(rpcUrls, _network).provider;
84
+ }
85
+ exports.defaultProviderBuilder = defaultProviderBuilder;
86
+ exports.defaultProviderBuilderMap = {
87
+ [ProviderType_1.ProviderType.EthersV5]: defaultEthersV5ProviderBuilder,
88
+ // [ProviderType.EthersV6]: defaultEthersV6ProviderBuilder,
89
+ [ProviderType_1.ProviderType.Viem]: defaultViemProviderBuilder,
90
+ [ProviderType_1.ProviderType.SolanaWeb3]: defaultSolProviderBuilder,
91
+ };
92
+ exports.protocolToDefaultProviderBuilder = {
93
+ [utils_1.ProtocolType.Ethereum]: defaultEthersV5ProviderBuilder,
94
+ [utils_1.ProtocolType.Sealevel]: defaultSolProviderBuilder,
95
+ [utils_1.ProtocolType.Fuel]: defaultFuelProviderBuilder,
96
+ };
97
+ //# sourceMappingURL=providerBuilders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerBuilders.js","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { GasRouter } from '@hyperlane-xyz/core';
2
- import { types } from '@hyperlane-xyz/utils';
3
- import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
2
+ import { Address } from '@hyperlane-xyz/utils';
3
+ import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts/types';
4
4
  import { ChainMap } from '../types';
5
5
  import { HyperlaneRouterDeployer } from './HyperlaneRouterDeployer';
6
6
  import { GasRouterConfig } from './types';
7
7
  export declare abstract class GasRouterDeployer<Config extends GasRouterConfig, Factories extends HyperlaneFactories> extends HyperlaneRouterDeployer<Config, Factories> {
8
8
  abstract router(contracts: HyperlaneContracts<Factories>): GasRouter;
9
- enrollRemoteRouters(contractsMap: HyperlaneContractsMap<Factories>, configMap: ChainMap<Config>, foreignRouters?: ChainMap<types.Address>): Promise<void>;
9
+ enrollRemoteRouters(contractsMap: HyperlaneContractsMap<Factories>, configMap: ChainMap<Config>, foreignRouters?: ChainMap<Address>): Promise<void>;
10
10
  }
11
11
  //# sourceMappingURL=GasRouterDeployer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GasRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,8BAAsB,iBAAiB,CACrC,MAAM,SAAS,eAAe,EAC9B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;IAClD,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS;IAE9D,mBAAmB,CACvB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,cAAc,GAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAM,GAC3C,OAAO,CAAC,IAAI,CAAC;CA+BjB"}
1
+ {"version":3,"file":"GasRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,8BAAsB,iBAAiB,CACrC,MAAM,SAAS,eAAe,EAC9B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;IAClD,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS;IAE9D,mBAAmB,CACvB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,cAAc,GAAE,QAAQ,CAAC,OAAO,CAAM,GACrC,OAAO,CAAC,IAAI,CAAC;CA+BjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"GasRouterDeployer.js","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":";;;AAUA,uEAAoE;AAGpE,MAAsB,iBAGpB,SAAQ,iDAA0C;IAGlD,KAAK,CAAC,mBAAmB,CACvB,YAA8C,EAC9C,SAA2B,EAC3B,iBAA0C,EAAE;QAE5C,MAAM,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CACxC,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAC9C,CACF,CAAC;YACF,MAAM,aAAa,GAAG,aAAa;iBAChC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnB,MAAM;gBACN,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;aACpC,CAAC,CAAC;iBACF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC7B,SAAS;aACV;YAED,IAAI,CAAC,MAAM,CAAC,0BAA0B,KAAK,QAAQ,YAAY,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CACxD,CAAC;SACH;IACH,CAAC;CACF;AAzCD,8CAyCC"}
1
+ {"version":3,"file":"GasRouterDeployer.js","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":";;;AAUA,uEAAoE;AAGpE,MAAsB,iBAGpB,SAAQ,iDAA0C;IAGlD,KAAK,CAAC,mBAAmB,CACvB,YAA8C,EAC9C,SAA2B,EAC3B,iBAAoC,EAAE;QAEtC,MAAM,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CACxC,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAC9C,CACF,CAAC;YACF,MAAM,aAAa,GAAG,aAAa;iBAChC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnB,MAAM;gBACN,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;aACpC,CAAC,CAAC;iBACF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC7B,SAAS;aACV;YAED,IAAI,CAAC,MAAM,CAAC,0BAA0B,KAAK,QAAQ,YAAY,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CACxD,CAAC;SACH;IACH,CAAC;CACF;AAzCD,8CAyCC"}
@@ -1,4 +1,4 @@
1
- import { HyperlaneFactories } from '../contracts';
1
+ import { HyperlaneFactories } from '../contracts/types';
2
2
  import { HyperlaneAppChecker } from '../deploy/HyperlaneAppChecker';
3
3
  import { ChainName } from '../types';
4
4
  import { RouterApp } from './RouterApps';
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAKL,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,qBAAa,sBAAsB,CACjC,SAAS,SAAS,kBAAkB,EACpC,GAAG,SAAS,SAAS,CAAC,SAAS,CAAC,EAChC,MAAM,SAAS,YAAY,CAC3B,SAAQ,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,8BAA8B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C/D,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAc5D"}
1
+ {"version":3,"file":"HyperlaneRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAKL,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,qBAAa,sBAAsB,CACjC,SAAS,SAAS,kBAAkB,EACpC,GAAG,SAAS,SAAS,CAAC,SAAS,CAAC,EAChC,MAAM,SAAS,YAAY,CAC3B,SAAQ,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,8BAA8B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C/D,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAc5D"}
@@ -22,7 +22,7 @@ class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
22
22
  const expected = value && typeof value === 'string'
23
23
  ? value
24
24
  : ethers_1.ethers.constants.AddressZero;
25
- if (!utils_1.utils.eqAddress(actual, expected)) {
25
+ if (!(0, utils_1.eqAddress)(actual, expected)) {
26
26
  const violation = {
27
27
  chain,
28
28
  type: violationType,
@@ -43,7 +43,7 @@ class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
43
43
  const remoteRouter = this.app.router(this.app.getContracts(remoteChain));
44
44
  const remoteDomainId = this.multiProvider.getDomainId(remoteChain);
45
45
  const address = await router.routers(remoteDomainId);
46
- utils_1.utils.assert(address === utils_1.utils.addressToBytes32(remoteRouter.address));
46
+ (0, utils_1.assert)(address === (0, utils_1.addressToBytes32)(remoteRouter.address));
47
47
  }));
48
48
  }
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,gDAA6C;AAG7C,uEAAoE;AAIpE,mCAMiB;AAEjB,MAAa,sBAIX,SAAQ,yCAAgC;IACxC,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,KAAgB;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,6BAA6B,GAAG,KAAK,EACzC,QAAwD,EACxD,aAA4C,EAC5C,EAAE;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,4BAA4B;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,MAAM,QAAQ,GACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAChC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YACnC,IAAI,CAAC,aAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACtC,MAAM,SAAS,GAA8B;oBAC3C,KAAK;oBACL,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,MAAM;oBAChB,MAAM;oBACN,QAAQ;iBACT,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,MAAM,6BAA6B,CACjC,SAAS,EACT,qCAA6B,CAAC,OAAO,CACtC,CAAC;QACF,MAAM,6BAA6B,CACjC,wBAAwB,EACxB,qCAA6B,CAAC,sBAAsB,CACrD,CAAC;QACF,MAAM,6BAA6B,CACjC,0BAA0B,EAC1B,qCAA6B,CAAC,wBAAwB,CACvD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAgB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAClC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CACnC,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrD,aAAK,CAAC,MAAM,CAAC,OAAO,KAAK,aAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAnED,wDAmEC"}
1
+ {"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,gDAA2E;AAG3E,uEAAoE;AAIpE,mCAMiB;AAEjB,MAAa,sBAIX,SAAQ,yCAAgC;IACxC,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,KAAgB;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,6BAA6B,GAAG,KAAK,EACzC,QAAwD,EACxD,aAA4C,EAC5C,EAAE;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,4BAA4B;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,MAAM,QAAQ,GACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAChC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YACnC,IAAI,CAAC,IAAA,iBAAS,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;gBAChC,MAAM,SAAS,GAA8B;oBAC3C,KAAK;oBACL,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,MAAM;oBAChB,MAAM;oBACN,QAAQ;iBACT,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,MAAM,6BAA6B,CACjC,SAAS,EACT,qCAA6B,CAAC,OAAO,CACtC,CAAC;QACF,MAAM,6BAA6B,CACjC,wBAAwB,EACxB,qCAA6B,CAAC,sBAAsB,CACrD,CAAC;QACF,MAAM,6BAA6B,CACjC,0BAA0B,EAC1B,qCAA6B,CAAC,wBAAwB,CACvD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAgB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAClC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CACnC,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrD,IAAA,cAAM,EAAC,OAAO,KAAK,IAAA,wBAAgB,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAnED,wDAmEC"}
@@ -1,6 +1,6 @@
1
1
  import { Router } from '@hyperlane-xyz/core';
2
- import { types } from '@hyperlane-xyz/utils';
3
- import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
2
+ import { Address } from '@hyperlane-xyz/utils';
3
+ import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts/types';
4
4
  import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
5
5
  import { RouterConfig } from '../router/types';
6
6
  import { ChainMap } from '../types';
@@ -8,7 +8,7 @@ export declare abstract class HyperlaneRouterDeployer<Config extends RouterConfi
8
8
  abstract router(contracts: HyperlaneContracts<Factories>): Router;
9
9
  checkConfig(configMap: ChainMap<Config>): Promise<void>;
10
10
  initConnectionClients(contractsMap: HyperlaneContractsMap<Factories>, configMap: ChainMap<Config>): Promise<void>;
11
- enrollRemoteRouters(deployedContractsMap: HyperlaneContractsMap<Factories>, _: ChainMap<Config>, foreignRouters?: ChainMap<types.Address>): Promise<void>;
11
+ enrollRemoteRouters(deployedContractsMap: HyperlaneContractsMap<Factories>, _: ChainMap<Config>, foreignRouters?: ChainMap<Address>): Promise<void>;
12
12
  transferOwnership(contractsMap: HyperlaneContractsMap<Factories>, configMap: ChainMap<Config>): Promise<void>;
13
13
  deploy(configMap: ChainMap<Config>): Promise<HyperlaneContractsMap<Factories>>;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,MAAM,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,8BAAsB,uBAAuB,CAC3C,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAK3D,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDvD,qBAAqB,CACzB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAQV,mBAAmB,CACvB,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACtD,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EACnB,cAAc,GAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAM,GAC3C,OAAO,CAAC,IAAI,CAAC;IAyDV,iBAAiB,CACrB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CACV,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;CA2B7C"}
1
+ {"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,MAAM,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,8BAAsB,uBAAuB,CAC3C,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAK3D,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDvD,qBAAqB,CACzB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAQV,mBAAmB,CACvB,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACtD,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EACnB,cAAc,GAAE,QAAQ,CAAC,OAAO,CAAM,GACrC,OAAO,CAAC,IAAI,CAAC;IAyDV,iBAAiB,CACrB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CACV,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;CA2B7C"}
@@ -4,10 +4,9 @@ exports.HyperlaneRouterDeployer = void 0;
4
4
  const ethers_1 = require("ethers");
5
5
  const core_1 = require("@hyperlane-xyz/core");
6
6
  const utils_1 = require("@hyperlane-xyz/utils");
7
- const contracts_1 = require("../contracts");
7
+ const contracts_1 = require("../contracts/contracts");
8
8
  const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
9
9
  const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
10
- const objects_1 = require("../utils/objects");
11
10
  class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
12
11
  // The ISM check does not appropriately handle ISMs that have sender,
13
12
  // recipient, or body-specific logic. Folks that wish to deploy using
@@ -59,9 +58,9 @@ class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
59
58
  this.logger(`Enrolling deployed routers with each other (if not already)...`);
60
59
  // Make all routers aware of each other.
61
60
  // Routers that were deployed.
62
- const deployedRouters = (0, objects_1.objMap)(deployedContractsMap, (_, contracts) => this.router(contracts).address);
61
+ const deployedRouters = (0, utils_1.objMap)(deployedContractsMap, (_, contracts) => this.router(contracts).address);
63
62
  // All routers, including those that were deployed and those with existing deployments.
64
- const allRouters = (0, objects_1.objMerge)(deployedRouters, foreignRouters);
63
+ const allRouters = (0, utils_1.objMerge)(deployedRouters, foreignRouters);
65
64
  const allChains = Object.keys(allRouters);
66
65
  for (const [chain, contracts] of Object.entries(deployedContractsMap)) {
67
66
  const allRemoteChains = this.multiProvider
@@ -70,7 +69,7 @@ class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
70
69
  const enrollEntries = await Promise.all(allRemoteChains.map(async (remote) => {
71
70
  const remoteDomain = this.multiProvider.getDomainId(remote);
72
71
  const current = await this.router(contracts).routers(remoteDomain);
73
- const expected = utils_1.utils.addressToBytes32(allRouters[remote]);
72
+ const expected = (0, utils_1.addressToBytes32)(allRouters[remote]);
74
73
  return current !== expected ? [remoteDomain, expected] : undefined;
75
74
  }));
76
75
  const entries = enrollEntries.filter((entry) => entry !== undefined);
@@ -98,9 +97,9 @@ class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
98
97
  }
99
98
  async deploy(configMap) {
100
99
  // Only deploy on chains that don't have foreign deployments.
101
- const configMapToDeploy = (0, objects_1.objFilter)(configMap, (_chainName, config) => !config.foreignDeployment);
100
+ const configMapToDeploy = (0, utils_1.objFilter)(configMap, (_chainName, config) => !config.foreignDeployment);
102
101
  // Create a map of chains that have foreign deployments.
103
- const foreignDeployments = (0, objects_1.objFilter)((0, objects_1.objMap)(configMap, (_, config) => config.foreignDeployment), (_chainName, foreignDeployment) => foreignDeployment !== undefined);
102
+ const foreignDeployments = (0, utils_1.objFilter)((0, utils_1.objMap)(configMap, (_, config) => config.foreignDeployment), (_chainName, foreignDeployment) => foreignDeployment !== undefined);
104
103
  const deployedContractsMap = await super.deploy(configMapToDeploy);
105
104
  await this.enrollRemoteRouters(deployedContractsMap, configMap, foreignDeployments);
106
105
  await this.initConnectionClients(deployedContractsMap, configMap);
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneRouterDeployer.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneRouterDeployer.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { Address, Domain } from '@hyperlane-xyz/utils';
2
+ import { MultiProtocolApp } from '../app/MultiProtocolApp';
3
+ import { ChainMap, ChainName } from '../types';
4
+ import { EvmGasRouterAdapter, EvmRouterAdapter } from './adapters/EvmRouterAdapter';
5
+ import { SealevelGasRouterAdapter, SealevelRouterAdapter } from './adapters/SealevelRouterAdapter';
6
+ import { IGasRouterAdapter, IRouterAdapter } from './adapters/types';
7
+ import { RouterAddress } from './types';
8
+ export { Router } from '@hyperlane-xyz/core';
9
+ export declare class MultiProtocolRouterApp<ContractAddrs extends RouterAddress = RouterAddress, IAdapterApi extends IRouterAdapter = IRouterAdapter> extends MultiProtocolApp<ContractAddrs, IAdapterApi> {
10
+ readonly protocolToAdapter: {
11
+ ethereum: typeof EvmRouterAdapter;
12
+ sealevel: typeof SealevelRouterAdapter;
13
+ };
14
+ router(chain: ChainName): Address;
15
+ interchainSecurityModules(): Promise<ChainMap<Address>>;
16
+ owners(): Promise<ChainMap<Address>>;
17
+ remoteRouters(origin: ChainName): Promise<Array<{
18
+ domain: Domain;
19
+ address: Address;
20
+ }>>;
21
+ }
22
+ export declare class MultiProtocolGasRouterApp<ContractAddrs extends RouterAddress = RouterAddress, IAdapterApi extends IGasRouterAdapter = IGasRouterAdapter> extends MultiProtocolRouterApp<ContractAddrs, IAdapterApi> {
23
+ readonly protocolToAdapter: {
24
+ ethereum: typeof EvmGasRouterAdapter;
25
+ sealevel: typeof SealevelGasRouterAdapter;
26
+ };
27
+ quoteGasPayment(origin: ChainName, destination: ChainName): Promise<string>;
28
+ }
29
+ //# sourceMappingURL=MultiProtocolRouterApps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProtocolRouterApps.d.ts","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,qBAAa,sBAAsB,CACjC,aAAa,SAAS,aAAa,GAAG,aAAa,EACnD,WAAW,SAAS,cAAc,GAAG,cAAc,CACnD,SAAQ,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC;IACpD,SAAyB,iBAAiB;;;MAGxC;IAEF,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIjC,yBAAyB,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAMvD,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAIpC,aAAa,CACX,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAGxD;AAED,qBAAa,yBAAyB,CACpC,aAAa,SAAS,aAAa,GAAG,aAAa,EACnD,WAAW,SAAS,iBAAiB,GAAG,iBAAiB,CACzD,SAAQ,sBAAsB,CAAC,aAAa,EAAE,WAAW,CAAC;IAC1D,SAAyB,iBAAiB;;;MAGxC;IAEI,eAAe,CACnB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,MAAM,CAAC;CAGnB"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiProtocolGasRouterApp = exports.MultiProtocolRouterApp = void 0;
4
+ const utils_1 = require("@hyperlane-xyz/utils");
5
+ const MultiProtocolApp_1 = require("../app/MultiProtocolApp");
6
+ const EvmRouterAdapter_1 = require("./adapters/EvmRouterAdapter");
7
+ const SealevelRouterAdapter_1 = require("./adapters/SealevelRouterAdapter");
8
+ class MultiProtocolRouterApp extends MultiProtocolApp_1.MultiProtocolApp {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.protocolToAdapter = {
12
+ [utils_1.ProtocolType.Ethereum]: EvmRouterAdapter_1.EvmRouterAdapter,
13
+ [utils_1.ProtocolType.Sealevel]: SealevelRouterAdapter_1.SealevelRouterAdapter,
14
+ };
15
+ }
16
+ router(chain) {
17
+ return this.metadata(chain).router;
18
+ }
19
+ interchainSecurityModules() {
20
+ return this.adapterMap((chain, adapter) => adapter.interchainSecurityModule(chain));
21
+ }
22
+ owners() {
23
+ return this.adapterMap((chain, adapter) => adapter.owner(chain));
24
+ }
25
+ remoteRouters(origin) {
26
+ return this.adapter(origin).remoteRouters(origin);
27
+ }
28
+ }
29
+ exports.MultiProtocolRouterApp = MultiProtocolRouterApp;
30
+ class MultiProtocolGasRouterApp extends MultiProtocolRouterApp {
31
+ constructor() {
32
+ super(...arguments);
33
+ this.protocolToAdapter = {
34
+ [utils_1.ProtocolType.Ethereum]: EvmRouterAdapter_1.EvmGasRouterAdapter,
35
+ [utils_1.ProtocolType.Sealevel]: SealevelRouterAdapter_1.SealevelGasRouterAdapter,
36
+ };
37
+ }
38
+ async quoteGasPayment(origin, destination) {
39
+ return this.adapter(origin).quoteGasPayment(origin, destination);
40
+ }
41
+ }
42
+ exports.MultiProtocolGasRouterApp = MultiProtocolGasRouterApp;
43
+ //# sourceMappingURL=MultiProtocolRouterApps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProtocolRouterApps.js","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.ts"],"names":[],"mappings":";;;AAAA,gDAAqE;AAErE,8DAA2D;AAG3D,kEAGqC;AACrC,4EAG0C;AAM1C,MAAa,sBAGX,SAAQ,mCAA4C;IAHtD;;QAI2B,sBAAiB,GAAG;YAC3C,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,mCAAgB;YACzC,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,6CAAqB;SAC/C,CAAC;IAqBJ,CAAC;IAnBC,MAAM,CAAC,KAAgB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,yBAAyB;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACxC,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,aAAa,CACX,MAAiB;QAEjB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;CACF;AA5BD,wDA4BC;AAED,MAAa,yBAGX,SAAQ,sBAAkD;IAH5D;;QAI2B,sBAAiB,GAAG;YAC3C,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,sCAAmB;YAC5C,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,gDAAwB;SAClD,CAAC;IAQJ,CAAC;IANC,KAAK,CAAC,eAAe,CACnB,MAAiB,EACjB,WAAsB;QAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;CACF;AAfD,8DAeC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MultiProtocolRouterApps.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProtocolRouterApps.test.d.ts","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const chains_1 = require("../consts/chains");
5
+ const MultiProtocolProvider_1 = require("../providers/MultiProtocolProvider");
6
+ const MultiProtocolRouterApps_1 = require("./MultiProtocolRouterApps");
7
+ const EvmRouterAdapter_1 = require("./adapters/EvmRouterAdapter");
8
+ describe('MultiProtocolRouterApp', () => {
9
+ describe('constructs', () => {
10
+ const multiProvider = new MultiProtocolProvider_1.MultiProtocolProvider();
11
+ it('creates an app class', async () => {
12
+ const app = new MultiProtocolRouterApps_1.MultiProtocolRouterApp(multiProvider);
13
+ (0, chai_1.expect)(app).to.be.instanceOf(MultiProtocolRouterApps_1.MultiProtocolRouterApp);
14
+ const ethAdapter = app.adapter(chains_1.Chains.ethereum);
15
+ (0, chai_1.expect)(ethAdapter).to.be.instanceOf(EvmRouterAdapter_1.EvmRouterAdapter);
16
+ (0, chai_1.expect)(!!ethAdapter.remoteRouter).to.be.true;
17
+ });
18
+ });
19
+ });
20
+ //# sourceMappingURL=MultiProtocolRouterApps.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiProtocolRouterApps.test.js","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAI9B,6CAA0C;AAC1C,8EAA2E;AAE3E,uEAAmE;AACnE,kEAA+D;AAE/D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,MAAM,aAAa,GAAG,IAAI,6CAAqB,EAAuB,CAAC;QACvE,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,gDAAsB,CAAC,aAAa,CAAC,CAAC;YACtD,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,gDAAsB,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,mCAAgB,CAAC,CAAC;YACtD,IAAA,aAAM,EAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}