@hyperweb/telescope 1.15.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 (382) hide show
  1. package/README.md +1529 -0
  2. package/main/build.js +183 -0
  3. package/main/builder.js +229 -0
  4. package/main/bundle.js +162 -0
  5. package/main/bundler.js +100 -0
  6. package/main/cli.js +71 -0
  7. package/main/cmds.js +28 -0
  8. package/main/commands/download.js +122 -0
  9. package/main/commands/generate.js +151 -0
  10. package/main/commands/install.js +143 -0
  11. package/main/commands/transpile.js +197 -0
  12. package/main/contracts/generate.js +31 -0
  13. package/main/contracts/install.js +107 -0
  14. package/main/contracts/message-composer.js +31 -0
  15. package/main/contracts/react-query.js +31 -0
  16. package/main/contracts/recoil.js +31 -0
  17. package/main/file.js +20 -0
  18. package/main/generators/create-aggregated-lcd-client.js +87 -0
  19. package/main/generators/create-all-stargate-clients.js +96 -0
  20. package/main/generators/create-amino-converters.js +43 -0
  21. package/main/generators/create-bundle.js +83 -0
  22. package/main/generators/create-cosmwasm-bundle.js +15 -0
  23. package/main/generators/create-custom-stargate-clients.js +100 -0
  24. package/main/generators/create-helpers.js +119 -0
  25. package/main/generators/create-index.js +75 -0
  26. package/main/generators/create-lcd-client-all.js +116 -0
  27. package/main/generators/create-lcd-client-scoped.js +89 -0
  28. package/main/generators/create-lcd-clients.js +78 -0
  29. package/main/generators/create-mcp-server.js +1853 -0
  30. package/main/generators/create-mobx-bundle.js +52 -0
  31. package/main/generators/create-msg-funcs.js +132 -0
  32. package/main/generators/create-pinia-store-bundle.js +50 -0
  33. package/main/generators/create-pinia-store.js +90 -0
  34. package/main/generators/create-query-funcs.js +133 -0
  35. package/main/generators/create-react-query-bundle.js +103 -0
  36. package/main/generators/create-registries.js +49 -0
  37. package/main/generators/create-root-readme.js +259 -0
  38. package/main/generators/create-rpc-msg-client-all.js +135 -0
  39. package/main/generators/create-rpc-msg-client-scoped.js +114 -0
  40. package/main/generators/create-rpc-msg-clients.js +116 -0
  41. package/main/generators/create-rpc-ops-bundle.js +119 -0
  42. package/main/generators/create-rpc-query-client-all.js +137 -0
  43. package/main/generators/create-rpc-query-client-scoped.js +110 -0
  44. package/main/generators/create-rpc-query-clients.js +198 -0
  45. package/main/generators/create-sdk-module-stargate-clients.js +95 -0
  46. package/main/generators/create-stargate-clients.js +96 -0
  47. package/main/generators/create-types.js +164 -0
  48. package/main/generators/customize-utils.js +50 -0
  49. package/main/helpers/__test__/internalTimestamp.js +49 -0
  50. package/main/helpers/__test__/internalTimestampBigint.js +45 -0
  51. package/main/helpers/binary-coder.js +535 -0
  52. package/main/helpers/decimals.js +111 -0
  53. package/main/helpers/external-comet.js +52 -0
  54. package/main/helpers/external-icjs.js +36 -0
  55. package/main/helpers/external.js +31 -0
  56. package/main/helpers/grpc-gateway.js +348 -0
  57. package/main/helpers/grpc-web.js +14 -0
  58. package/main/helpers/helper-func-types-interface.js +106 -0
  59. package/main/helpers/helper-func-types.js +93 -0
  60. package/main/helpers/index.js +38 -0
  61. package/main/helpers/internal-for-bigint.js +259 -0
  62. package/main/helpers/internal.js +240 -0
  63. package/main/helpers/json-safe.js +12 -0
  64. package/main/helpers/mobx.js +80 -0
  65. package/main/helpers/pinia-endpoint.js +20 -0
  66. package/main/helpers/react-query-hooks-icjs.js +223 -0
  67. package/main/helpers/react-query-hooks.js +258 -0
  68. package/main/helpers/react-query.js +93 -0
  69. package/main/helpers/registry-helper.js +229 -0
  70. package/main/helpers/types-helper.js +165 -0
  71. package/main/helpers/utf8-helper.js +146 -0
  72. package/main/helpers/varint.js +486 -0
  73. package/main/helpers/vue-query-hooks.js +226 -0
  74. package/main/imports.js +416 -0
  75. package/main/index.js +24 -0
  76. package/main/parse.js +194 -0
  77. package/main/prompt.js +64 -0
  78. package/main/protod/bufbuild.js +87 -0
  79. package/main/protod/config.js +30 -0
  80. package/main/protod/git-repo.js +58 -0
  81. package/main/protod/index.js +17 -0
  82. package/main/protod/recursive.js +134 -0
  83. package/main/protod/types.js +2 -0
  84. package/main/protod/utils.js +91 -0
  85. package/main/telescope.js +10 -0
  86. package/main/types.js +2 -0
  87. package/main/utils/common-create-bundle.js +29 -0
  88. package/main/utils/contracts.js +39 -0
  89. package/main/utils/files.js +138 -0
  90. package/main/utils/index.js +163 -0
  91. package/main/utils/unused.js +73 -0
  92. package/module/build.js +176 -0
  93. package/module/builder.js +222 -0
  94. package/module/bundle.js +128 -0
  95. package/module/bundler.js +96 -0
  96. package/module/cli.js +44 -0
  97. package/module/cmds.js +22 -0
  98. package/module/commands/download.js +94 -0
  99. package/module/commands/generate.js +123 -0
  100. package/module/commands/install.js +141 -0
  101. package/module/commands/transpile.js +169 -0
  102. package/module/contracts/generate.js +29 -0
  103. package/module/contracts/install.js +105 -0
  104. package/module/contracts/message-composer.js +29 -0
  105. package/module/contracts/react-query.js +29 -0
  106. package/module/contracts/recoil.js +29 -0
  107. package/module/file.js +18 -0
  108. package/module/generators/create-aggregated-lcd-client.js +83 -0
  109. package/module/generators/create-all-stargate-clients.js +92 -0
  110. package/module/generators/create-amino-converters.js +39 -0
  111. package/module/generators/create-bundle.js +79 -0
  112. package/module/generators/create-cosmwasm-bundle.js +11 -0
  113. package/module/generators/create-custom-stargate-clients.js +96 -0
  114. package/module/generators/create-helpers.js +112 -0
  115. package/module/generators/create-index.js +45 -0
  116. package/module/generators/create-lcd-client-all.js +89 -0
  117. package/module/generators/create-lcd-client-scoped.js +62 -0
  118. package/module/generators/create-lcd-clients.js +74 -0
  119. package/module/generators/create-mcp-server.js +1849 -0
  120. package/module/generators/create-mobx-bundle.js +25 -0
  121. package/module/generators/create-msg-funcs.js +128 -0
  122. package/module/generators/create-pinia-store-bundle.js +23 -0
  123. package/module/generators/create-pinia-store.js +86 -0
  124. package/module/generators/create-query-funcs.js +129 -0
  125. package/module/generators/create-react-query-bundle.js +76 -0
  126. package/module/generators/create-registries.js +45 -0
  127. package/module/generators/create-root-readme.js +255 -0
  128. package/module/generators/create-rpc-msg-client-all.js +108 -0
  129. package/module/generators/create-rpc-msg-client-scoped.js +87 -0
  130. package/module/generators/create-rpc-msg-clients.js +112 -0
  131. package/module/generators/create-rpc-ops-bundle.js +92 -0
  132. package/module/generators/create-rpc-query-client-all.js +110 -0
  133. package/module/generators/create-rpc-query-client-scoped.js +83 -0
  134. package/module/generators/create-rpc-query-clients.js +198 -0
  135. package/module/generators/create-sdk-module-stargate-clients.js +91 -0
  136. package/module/generators/create-stargate-clients.js +92 -0
  137. package/module/generators/create-types.js +137 -0
  138. package/module/generators/customize-utils.js +46 -0
  139. package/module/helpers/__test__/internalTimestamp.js +39 -0
  140. package/module/helpers/__test__/internalTimestampBigint.js +38 -0
  141. package/module/helpers/binary-coder.js +531 -0
  142. package/module/helpers/decimals.js +108 -0
  143. package/module/helpers/external-comet.js +49 -0
  144. package/module/helpers/external-icjs.js +33 -0
  145. package/module/helpers/external.js +28 -0
  146. package/module/helpers/grpc-gateway.js +345 -0
  147. package/module/helpers/grpc-web.js +11 -0
  148. package/module/helpers/helper-func-types-interface.js +102 -0
  149. package/module/helpers/helper-func-types.js +89 -0
  150. package/module/helpers/index.js +22 -0
  151. package/module/helpers/internal-for-bigint.js +255 -0
  152. package/module/helpers/internal.js +236 -0
  153. package/module/helpers/json-safe.js +9 -0
  154. package/module/helpers/mobx.js +77 -0
  155. package/module/helpers/pinia-endpoint.js +17 -0
  156. package/module/helpers/react-query-hooks-icjs.js +219 -0
  157. package/module/helpers/react-query-hooks.js +254 -0
  158. package/module/helpers/react-query.js +89 -0
  159. package/module/helpers/registry-helper.js +225 -0
  160. package/module/helpers/types-helper.js +161 -0
  161. package/module/helpers/utf8-helper.js +143 -0
  162. package/module/helpers/varint.js +483 -0
  163. package/module/helpers/vue-query-hooks.js +222 -0
  164. package/module/imports.js +382 -0
  165. package/module/index.js +8 -0
  166. package/module/parse.js +185 -0
  167. package/module/prompt.js +58 -0
  168. package/module/protod/bufbuild.js +76 -0
  169. package/module/protod/config.js +27 -0
  170. package/module/protod/git-repo.js +54 -0
  171. package/module/protod/index.js +1 -0
  172. package/module/protod/recursive.js +125 -0
  173. package/module/protod/types.js +1 -0
  174. package/module/protod/utils.js +77 -0
  175. package/module/telescope.js +8 -0
  176. package/module/types.js +1 -0
  177. package/module/utils/common-create-bundle.js +25 -0
  178. package/module/utils/contracts.js +33 -0
  179. package/module/utils/files.js +106 -0
  180. package/module/utils/index.js +143 -0
  181. package/module/utils/unused.js +47 -0
  182. package/package.json +115 -0
  183. package/src/build.ts +255 -0
  184. package/src/builder.ts +302 -0
  185. package/src/bundle.ts +160 -0
  186. package/src/bundler.ts +153 -0
  187. package/src/cli.js +51 -0
  188. package/src/cmds.js +25 -0
  189. package/src/commands/download.ts +120 -0
  190. package/src/commands/generate.ts +156 -0
  191. package/src/commands/install.ts +154 -0
  192. package/src/commands/transpile.ts +198 -0
  193. package/src/contracts/generate.ts +33 -0
  194. package/src/contracts/install.ts +118 -0
  195. package/src/contracts/message-composer.ts +34 -0
  196. package/src/contracts/react-query.ts +33 -0
  197. package/src/contracts/recoil.ts +32 -0
  198. package/src/file.js +20 -0
  199. package/src/generators/create-aggregated-lcd-client.ts +133 -0
  200. package/src/generators/create-all-stargate-clients.ts +121 -0
  201. package/src/generators/create-amino-converters.ts +62 -0
  202. package/src/generators/create-bundle.ts +97 -0
  203. package/src/generators/create-cosmwasm-bundle.ts +17 -0
  204. package/src/generators/create-custom-stargate-clients.ts +128 -0
  205. package/src/generators/create-helpers.ts +196 -0
  206. package/src/generators/create-index.ts +72 -0
  207. package/src/generators/create-lcd-client-all.ts +139 -0
  208. package/src/generators/create-lcd-client-scoped.ts +109 -0
  209. package/src/generators/create-lcd-clients.ts +108 -0
  210. package/src/generators/create-mcp-server.ts +1902 -0
  211. package/src/generators/create-mobx-bundle.ts +31 -0
  212. package/src/generators/create-msg-funcs.ts +219 -0
  213. package/src/generators/create-pinia-store-bundle.ts +35 -0
  214. package/src/generators/create-pinia-store.ts +121 -0
  215. package/src/generators/create-query-funcs.ts +224 -0
  216. package/src/generators/create-react-query-bundle.ts +111 -0
  217. package/src/generators/create-registries.ts +70 -0
  218. package/src/generators/create-root-readme.ts +316 -0
  219. package/src/generators/create-rpc-msg-client-all.ts +167 -0
  220. package/src/generators/create-rpc-msg-client-scoped.ts +147 -0
  221. package/src/generators/create-rpc-msg-clients.ts +165 -0
  222. package/src/generators/create-rpc-ops-bundle.ts +155 -0
  223. package/src/generators/create-rpc-query-client-all.ts +173 -0
  224. package/src/generators/create-rpc-query-client-scoped.ts +142 -0
  225. package/src/generators/create-rpc-query-clients.ts +304 -0
  226. package/src/generators/create-sdk-module-stargate-clients.ts +120 -0
  227. package/src/generators/create-stargate-clients.ts +123 -0
  228. package/src/generators/create-types.ts +236 -0
  229. package/src/generators/customize-utils.ts +54 -0
  230. package/src/helpers/__test__/internalTimestamp.test.ts +79 -0
  231. package/src/helpers/__test__/internalTimestamp.ts +58 -0
  232. package/src/helpers/__test__/internalTimestampBigint.test.ts +78 -0
  233. package/src/helpers/__test__/internalTimestampBigint.ts +58 -0
  234. package/src/helpers/binary-coder.ts +533 -0
  235. package/src/helpers/decimals.ts +108 -0
  236. package/src/helpers/external-comet.ts +49 -0
  237. package/src/helpers/external-icjs.ts +33 -0
  238. package/src/helpers/external.ts +28 -0
  239. package/src/helpers/grpc-gateway.ts +345 -0
  240. package/src/helpers/grpc-web.ts +11 -0
  241. package/src/helpers/helper-func-types-interface.ts +104 -0
  242. package/src/helpers/helper-func-types.ts +91 -0
  243. package/src/helpers/index.ts +22 -0
  244. package/src/helpers/internal-for-bigint.ts +257 -0
  245. package/src/helpers/internal.ts +238 -0
  246. package/src/helpers/json-safe.ts +11 -0
  247. package/src/helpers/mobx.ts +77 -0
  248. package/src/helpers/pinia-endpoint.ts +17 -0
  249. package/src/helpers/react-query-hooks-icjs.ts +223 -0
  250. package/src/helpers/react-query-hooks.ts +266 -0
  251. package/src/helpers/react-query.ts +101 -0
  252. package/src/helpers/registry-helper.ts +227 -0
  253. package/src/helpers/types-helper.ts +169 -0
  254. package/src/helpers/utf8-helper.ts +143 -0
  255. package/src/helpers/varint.ts +483 -0
  256. package/src/helpers/vue-query-hooks.ts +224 -0
  257. package/src/imports.ts +499 -0
  258. package/src/index.ts +12 -0
  259. package/src/parse.ts +243 -0
  260. package/src/prompt.js +65 -0
  261. package/src/protod/bufbuild.spec.ts +80 -0
  262. package/src/protod/bufbuild.ts +95 -0
  263. package/src/protod/config.ts +30 -0
  264. package/src/protod/git-repo.ts +74 -0
  265. package/src/protod/index.ts +1 -0
  266. package/src/protod/recursive.spec.ts +164 -0
  267. package/src/protod/recursive.ts +180 -0
  268. package/src/protod/test-data/.protod.config.json +42 -0
  269. package/src/protod/test-data/buf.lock +23 -0
  270. package/src/protod/test-data/buf.yaml +25 -0
  271. package/src/protod/test-data/buf2.yaml +20 -0
  272. package/src/protod/test-data/cosmos/buf.lock +23 -0
  273. package/src/protod/test-data/cosmos/crypto/secp256k1/keys.proto +38 -0
  274. package/src/protod/test-data/model.proto +101 -0
  275. package/src/protod/types.ts +55 -0
  276. package/src/protod/utils.spec.ts +68 -0
  277. package/src/protod/utils.ts +90 -0
  278. package/src/telescope.js +9 -0
  279. package/src/types.ts +46 -0
  280. package/src/utils/common-create-bundle.ts +62 -0
  281. package/src/utils/contracts.ts +37 -0
  282. package/src/utils/files.ts +145 -0
  283. package/src/utils/index.ts +150 -0
  284. package/src/utils/unused.ts +52 -0
  285. package/types/build.d.ts +41 -0
  286. package/types/builder.d.ts +50 -0
  287. package/types/bundle.d.ts +30 -0
  288. package/types/bundler.d.ts +31 -0
  289. package/types/cli.d.ts +1 -0
  290. package/types/cmds.d.ts +11 -0
  291. package/types/commands/download.d.ts +5 -0
  292. package/types/commands/generate.d.ts +2 -0
  293. package/types/commands/install.d.ts +2 -0
  294. package/types/commands/transpile.d.ts +4 -0
  295. package/types/contracts/generate.d.ts +2 -0
  296. package/types/contracts/install.d.ts +2 -0
  297. package/types/contracts/message-composer.d.ts +2 -0
  298. package/types/contracts/react-query.d.ts +2 -0
  299. package/types/contracts/recoil.d.ts +2 -0
  300. package/types/file.d.ts +2 -0
  301. package/types/generators/create-aggregated-lcd-client.d.ts +2 -0
  302. package/types/generators/create-all-stargate-clients.d.ts +3 -0
  303. package/types/generators/create-amino-converters.d.ts +3 -0
  304. package/types/generators/create-bundle.d.ts +3 -0
  305. package/types/generators/create-combined-stargate-clients.d.ts +3 -0
  306. package/types/generators/create-cosmwasm-bundle.d.ts +2 -0
  307. package/types/generators/create-custom-stargate-clients.d.ts +3 -0
  308. package/types/generators/create-helpers.d.ts +2 -0
  309. package/types/generators/create-index.d.ts +2 -0
  310. package/types/generators/create-lcd-client-all.d.ts +3 -0
  311. package/types/generators/create-lcd-client-scoped.d.ts +3 -0
  312. package/types/generators/create-lcd-clients.d.ts +3 -0
  313. package/types/generators/create-mcp-server.d.ts +3 -0
  314. package/types/generators/create-mobx-bundle.d.ts +2 -0
  315. package/types/generators/create-msg-funcs.d.ts +3 -0
  316. package/types/generators/create-pinia-store-bundle.d.ts +2 -0
  317. package/types/generators/create-pinia-store.d.ts +3 -0
  318. package/types/generators/create-query-funcs.d.ts +3 -0
  319. package/types/generators/create-react-query-bundle.d.ts +2 -0
  320. package/types/generators/create-registries.d.ts +3 -0
  321. package/types/generators/create-root-readme.d.ts +2 -0
  322. package/types/generators/create-rpc-msg-client-all.d.ts +3 -0
  323. package/types/generators/create-rpc-msg-client-scoped.d.ts +3 -0
  324. package/types/generators/create-rpc-msg-clients.d.ts +3 -0
  325. package/types/generators/create-rpc-ops-bundle.d.ts +2 -0
  326. package/types/generators/create-rpc-query-client-all.d.ts +3 -0
  327. package/types/generators/create-rpc-query-client-scoped.d.ts +3 -0
  328. package/types/generators/create-rpc-query-clients.d.ts +3 -0
  329. package/types/generators/create-scoped-stargate-clients.d.ts +3 -0
  330. package/types/generators/create-sdk-module-stargate-clients.d.ts +3 -0
  331. package/types/generators/create-stargate-clients.d.ts +3 -0
  332. package/types/generators/create-types.d.ts +3 -0
  333. package/types/generators/create-unified-stargate-clients.d.ts +3 -0
  334. package/types/generators/customize-utils.d.ts +2 -0
  335. package/types/helpers/__test__/internalTimestamp.d.ts +21 -0
  336. package/types/helpers/__test__/internalTimestampBigint.d.ts +20 -0
  337. package/types/helpers/binary-coder.d.ts +2 -0
  338. package/types/helpers/decimals.d.ts +1 -0
  339. package/types/helpers/external-comet.d.ts +1 -0
  340. package/types/helpers/external-icjs.d.ts +1 -0
  341. package/types/helpers/external.d.ts +1 -0
  342. package/types/helpers/generated-type.d.ts +1 -0
  343. package/types/helpers/grpc-gateway.d.ts +1 -0
  344. package/types/helpers/grpc-web.d.ts +1 -0
  345. package/types/helpers/helper-func-types-interface.d.ts +2 -0
  346. package/types/helpers/helper-func-types.d.ts +2 -0
  347. package/types/helpers/index.d.ts +22 -0
  348. package/types/helpers/internal-for-bigint.d.ts +2 -0
  349. package/types/helpers/internal.d.ts +2 -0
  350. package/types/helpers/internalForBigInt.d.ts +1 -0
  351. package/types/helpers/json-safe.d.ts +1 -0
  352. package/types/helpers/mobx.d.ts +1 -0
  353. package/types/helpers/pinia-endpoint.d.ts +1 -0
  354. package/types/helpers/react-query-hooks-icjs.d.ts +2 -0
  355. package/types/helpers/react-query-hooks.d.ts +2 -0
  356. package/types/helpers/react-query.d.ts +2 -0
  357. package/types/helpers/registry-helper.d.ts +2 -0
  358. package/types/helpers/types-helper.d.ts +2 -0
  359. package/types/helpers/types.d.ts +1 -0
  360. package/types/helpers/utf8-helper.d.ts +1 -0
  361. package/types/helpers/varint.d.ts +1 -0
  362. package/types/helpers/vue-query-hooks.d.ts +2 -0
  363. package/types/helpers/vue-query.d.ts +2 -0
  364. package/types/imports.d.ts +17 -0
  365. package/types/index.d.ts +6 -0
  366. package/types/parse.d.ts +15 -0
  367. package/types/prompt.d.ts +3 -0
  368. package/types/protod/bufbuild.d.ts +6 -0
  369. package/types/protod/config.d.ts +7 -0
  370. package/types/protod/git-repo.d.ts +11 -0
  371. package/types/protod/index.d.ts +1 -0
  372. package/types/protod/proto-download.d.ts +2 -0
  373. package/types/protod/recursive.d.ts +4 -0
  374. package/types/protod/types.d.ts +49 -0
  375. package/types/protod/utils.d.ts +11 -0
  376. package/types/telescope.d.ts +2 -0
  377. package/types/types.d.ts +43 -0
  378. package/types/utils/common-create-bundle.d.ts +18 -0
  379. package/types/utils/contracts.d.ts +6 -0
  380. package/types/utils/files.d.ts +5 -0
  381. package/types/utils/index.d.ts +16 -0
  382. package/types/utils/unused.d.ts +5 -0
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getRelativePath = exports.fixlocalpaths = exports.UTIL_HELPERS = exports.UTILS = exports.getRoot = void 0;
18
+ const path_1 = require("path");
19
+ const utils_1 = require("@cosmology/utils");
20
+ const getRoot = (ref) => {
21
+ if (ref.traversed)
22
+ return ref.traversed;
23
+ return ref.proto;
24
+ };
25
+ exports.getRoot = getRoot;
26
+ // default example:
27
+ // Long: { type: 'default', path: 'long', name: 'Long ' },
28
+ // namespaced:
29
+ // _m0: { type: 'namespace', path: 'protobufjs/minimal', name: '_m0' },
30
+ exports.UTILS = {
31
+ _m0: { type: 'namespace', path: 'protobufjs/minimal', name: '_m0' },
32
+ AminoHeight: '__helpers__',
33
+ AminoMsg: '@cosmjs/amino',
34
+ AminoTypes: '@cosmjs/stargate',
35
+ base64FromBytes: '__helpers__',
36
+ bytesFromBase64: '__helpers__',
37
+ BrowserHeaders: 'browser-headers',
38
+ connectComet: '@cosmjs/tendermint-rpc',
39
+ Decimal: '@cosmjs/math',
40
+ padDecimal: '__helpers__',
41
+ createProtobufRpcClient: '@cosmjs/stargate',
42
+ Pubkey: '@cosmjs/amino',
43
+ decodeBech32Pubkey: '@cosmjs/amino',
44
+ DeepPartial: '__helpers__',
45
+ defaultRegistryTypes: '@cosmjs/stargate',
46
+ encodeBech32Pubkey: '@cosmjs/amino',
47
+ Exact: '__helpers__',
48
+ fm: { type: 'namespace', path: '__grpc-gateway__', name: 'fm' },
49
+ encodePubkey: '@cosmjs/proto-signing',
50
+ decodePubkey: '@cosmjs/proto-signing',
51
+ fromBase64: '@cosmjs/encoding',
52
+ fromBech32: '@cosmjs/encoding',
53
+ fromDuration: '__helpers__',
54
+ fromHex: '@cosmjs/encoding',
55
+ fromJsonTimestamp: '__helpers__',
56
+ fromTimestamp: '__helpers__',
57
+ fromUtf8: '@cosmjs/encoding',
58
+ GeneratedType: '@cosmjs/proto-signing',
59
+ createTm34QueryClient: '__extern__',
60
+ createConnectCometQueryClient: '__extern__',
61
+ getRpcClient: '__extern__',
62
+ createRpcClient: '__extern__',
63
+ getRpcEndpointKey: '__extern__',
64
+ HttpEndpoint: '@cosmjs/tendermint-rpc',
65
+ isObject: '__helpers__',
66
+ isSet: '__helpers__',
67
+ LCDClient: '@cosmology/lcd',
68
+ Long: '__helpers__',
69
+ OfflineSigner: '@cosmjs/proto-signing',
70
+ omitDefault: '__helpers__',
71
+ ProtobufRpcClient: '@cosmjs/stargate',
72
+ QueryClient: '@cosmjs/stargate',
73
+ Registry: '@cosmjs/proto-signing',
74
+ Rpc: '__helpers__',
75
+ StdFee: '__types__',
76
+ TxRpc: '__types__',
77
+ BroadcastTxReq: '__types__',
78
+ BroadcastTxRes: '__types__',
79
+ DeliverTxResponse: '__types__',
80
+ EncodeObject: '__types__',
81
+ SigningClientParams: '__types__',
82
+ grpc: '@improbable-eng/grpc-web',
83
+ setPaginationParams: '__helpers__',
84
+ SigningStargateClient: '@cosmjs/stargate',
85
+ Tendermint34Client: '@cosmjs/tendermint-rpc',
86
+ toBase64: '@cosmjs/encoding',
87
+ toDuration: '__helpers__',
88
+ toTimestamp: '__helpers__',
89
+ toUtf8: '@cosmjs/encoding',
90
+ useQuery: '@tanstack/react-query',
91
+ ComputedRef: 'vue',
92
+ computed: 'vue',
93
+ Ref: 'vue',
94
+ useRpcEndpoint: '__react-query__',
95
+ useRpcClient: '__react-query__',
96
+ useTendermintClient: '__react-query__',
97
+ ReactQueryParams: '__react-query__',
98
+ buildUseMutation: '__react-query__',
99
+ UseQueryParams: '__react-query__',
100
+ buildUseQuery: '__react-query__',
101
+ UseQueryOptions: '@tanstack/react-query',
102
+ buildUseVueMutation: '__vue-query__',
103
+ buildUseVueQuery: '__vue-query__',
104
+ QueryStore: '__mobx__',
105
+ MobxResponse: '__mobx__',
106
+ useEndpoint: '__pinia-endpoint__',
107
+ JsonSafe: '__json-safe__',
108
+ override: 'mobx',
109
+ makeObservable: 'mobx',
110
+ NodeHttpTransport: '@improbable-eng/grpc-web-node-http-transport',
111
+ UnaryMethodDefinitionishR: '__grpc-web__',
112
+ UnaryMethodDefinitionish: '__grpc-web__',
113
+ BinaryReader: '__binary__',
114
+ BinaryWriter: '__binary__',
115
+ TelescopeGeneratedType: '__types__',
116
+ GlobalDecoderRegistry: '__registry__',
117
+ buildTx: '__helper-func-types__',
118
+ ISigningClient: '__helper-func-types__',
119
+ buildQuery: '__helper-func-types__',
120
+ EndpointOrRpc: '__helper-func-types__',
121
+ toConverters: '@interchainjs/cosmos/utils',
122
+ toEncoders: '@interchainjs/cosmos/utils'
123
+ };
124
+ exports.UTIL_HELPERS = [
125
+ '__helpers__',
126
+ '__extern__',
127
+ '__react-query__',
128
+ '__vue-query__',
129
+ '__mobx__',
130
+ '__binary__',
131
+ '__pinia-endpoint__',
132
+ '__json-safe__',
133
+ '__grpc-gateway__',
134
+ '__grpc-web__',
135
+ '__types__',
136
+ '__registry__',
137
+ '__decimals__',
138
+ '__helper-func-types__'
139
+ ];
140
+ const fixlocalpaths = (imports) => {
141
+ return imports.map((imp) => {
142
+ const fixedPath = (0, utils_1.toPosixPath)(imp.path);
143
+ return {
144
+ ...imp,
145
+ path: exports.UTIL_HELPERS.includes(imp.path) ||
146
+ imp.path.startsWith('.') ||
147
+ imp.path.startsWith('@')
148
+ ? fixedPath
149
+ : `./${fixedPath}`,
150
+ };
151
+ });
152
+ };
153
+ exports.fixlocalpaths = fixlocalpaths;
154
+ const getRelativePath = (f1, f2, ext) => {
155
+ const rel = (0, path_1.relative)((0, path_1.dirname)(f1), f2);
156
+ let importPath = rel.replace((0, path_1.extname)(rel), '');
157
+ if (!/^\./.test(importPath))
158
+ importPath = `./${importPath}`;
159
+ importPath = (0, utils_1.toPosixPath)(importPath);
160
+ return (0, utils_1.restoreExtension)(importPath, ext);
161
+ };
162
+ exports.getRelativePath = getRelativePath;
163
+ __exportStar(require("./common-create-bundle"), exports);
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ //@ts-nocheck
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.unused = void 0;
28
+ const t = __importStar(require("@babel/types"));
29
+ // https://github.com/chuyik/babel-plugin-danger-remove-unused-import
30
+ // https://github.com/chuyik/babel-plugin-danger-remove-unused-import/blob/c5454c21e94698a2464a12baa5590761932a71a8/License#L1
31
+ exports.unused = {
32
+ Program: {
33
+ exit: (path) => {
34
+ const UnRefBindings = new Map();
35
+ for (const [name, binding] of Object.entries(path.scope.bindings)) {
36
+ if (!binding.path.parentPath || binding.kind !== 'module')
37
+ continue;
38
+ const source = binding.path.parentPath.get('source');
39
+ const importName = source.node.value;
40
+ if (!t.isStringLiteral(source))
41
+ continue;
42
+ const key = `${importName}(${source.node.loc &&
43
+ source.node.loc.start.line})`;
44
+ if (!UnRefBindings.has(key)) {
45
+ UnRefBindings.set(key, binding);
46
+ }
47
+ if (binding.referenced) {
48
+ UnRefBindings.set(key, null);
49
+ }
50
+ else {
51
+ const nodeType = binding.path.node.type;
52
+ if (nodeType === 'ImportSpecifier') {
53
+ binding.path.remove();
54
+ }
55
+ else if (nodeType === 'ImportDefaultSpecifier') {
56
+ binding.path.remove();
57
+ }
58
+ else if (nodeType === 'ImportNamespaceSpecifier') {
59
+ binding.path.remove();
60
+ }
61
+ else if (binding.path.parentPath) {
62
+ binding.path.parentPath.remove();
63
+ }
64
+ }
65
+ }
66
+ UnRefBindings.forEach((binding, key) => {
67
+ if (binding && binding.path.parentPath) {
68
+ binding.path.parentPath.remove();
69
+ }
70
+ });
71
+ }
72
+ }
73
+ };
@@ -0,0 +1,176 @@
1
+ import { AminoParseContext, createAminoConverter, createCreateProtoType, createObjectWithMethods, createRegisterObject, createProtoEnum, createProtoEnumToJSON, createProtoEnumFromJSON, createProtoType, createProtoInterfaceEncodedType, createProtoTypeType, createSDKType, createAminoType, createAminoTypeType, createEnumSDKType, createEnumAminoType, makeAminoTypeInterface, GenericParseContext, ProtoParseContext, createTypeRegistry, createRegistryLoader,
2
+ // helper
3
+ createHelperObject, createInterfaceDecoder, createInterfaceFromAmino, createInterfaceToAmino, createRegisterAminoProtoMapping, } from '@cosmology/ast';
4
+ export const getMutations = (mutations) => {
5
+ return mutations.map((mutation) => {
6
+ return {
7
+ typeUrl: `/${mutation.package}.${mutation.message}`,
8
+ TypeName: mutation.message,
9
+ methodName: mutation.methodName
10
+ };
11
+ });
12
+ };
13
+ export const getAminoProtos = (mutations, store) => {
14
+ return mutations.map(mutation => {
15
+ const ref = store.findProto(mutation.messageImport);
16
+ return store.get(ref, mutation.message).obj;
17
+ });
18
+ };
19
+ export const buildBaseTypeScriptClass = (context, name, obj) => {
20
+ if (context.options.prototypes.enabled) {
21
+ context.body.push(createCreateProtoType(context.proto, name, obj));
22
+ context.body.push(createObjectWithMethods(context.proto, name, obj));
23
+ if (context.options.interfaces?.enabled && context.options.interfaces?.useGlobalDecoderRegistry && context.options.interfaces?.registerAllDecodersToGlobal) {
24
+ const registerObj = createRegisterObject(context.proto, name, obj);
25
+ if (registerObj) {
26
+ context.body.push(registerObj);
27
+ //createRegisterAminoProtoMapping
28
+ const registerAminoObj = createRegisterAminoProtoMapping(context.proto, name, obj);
29
+ if (registerAminoObj) {
30
+ context.body.push(registerAminoObj);
31
+ }
32
+ }
33
+ }
34
+ }
35
+ };
36
+ export const buildBaseTypeScriptInterface = (context, name, obj) => {
37
+ context.body.push(createProtoType(context.proto, name, obj));
38
+ if (context.options.aminoEncoding?.enabled && !context.options.aminoEncoding?.useLegacyInlineEncoding || context.options.prototypes?.methods?.fromProto || context.options.prototypes?.methods?.toProto) {
39
+ context.body.push(createProtoTypeType(context.proto, name, obj));
40
+ }
41
+ if (context.options.aminoEncoding?.enabled && !context.options.aminoEncoding?.useLegacyInlineEncoding) {
42
+ // conditional type
43
+ const interfaceType = createProtoInterfaceEncodedType(context.proto, name, obj);
44
+ if (interfaceType) {
45
+ context.body.push(interfaceType);
46
+ }
47
+ context.body.push(createAminoType(context.proto, name, obj));
48
+ if (!context.options.aminoEncoding?.disableMsgTypes) {
49
+ context.body.push(createAminoTypeType(context.proto, name, obj));
50
+ }
51
+ }
52
+ if (context.options.useSDKTypes) {
53
+ context.body.push(createSDKType(context.proto, name, obj));
54
+ }
55
+ };
56
+ export const buildEnums = (context, name, obj) => {
57
+ context.body.push(createProtoEnum(context.proto, name, obj));
58
+ if (context.options.useSDKTypes) {
59
+ context.body.push(createEnumSDKType(context.proto, name, obj));
60
+ }
61
+ if (context.options.aminoEncoding?.enabled && !context.options.aminoEncoding?.useLegacyInlineEncoding) {
62
+ context.body.push(createEnumAminoType(context.proto, name, obj));
63
+ }
64
+ context.body.push(createProtoEnumFromJSON(context.proto, name, obj));
65
+ context.body.push(createProtoEnumToJSON(context.proto, name, obj));
66
+ };
67
+ export class TelescopeParseContext {
68
+ constructor(ref, store, options) {
69
+ this.generic = new GenericParseContext(ref, store, options);
70
+ this.proto = new ProtoParseContext(ref, store, options);
71
+ this.amino = new AminoParseContext(ref, store, options);
72
+ this.options = options;
73
+ this.ref = ref;
74
+ this.store = store;
75
+ this.parsedImports = {};
76
+ this.body = [];
77
+ this.queries = [];
78
+ this.services = [];
79
+ this.mutations = [];
80
+ this.types = [];
81
+ }
82
+ hasMutations() {
83
+ return this.mutations.length > 0;
84
+ }
85
+ addType(name, obj, isNested) {
86
+ this.types.push({
87
+ name,
88
+ obj,
89
+ isNested
90
+ });
91
+ }
92
+ addMutation(mutation) {
93
+ this.mutations.push(mutation);
94
+ }
95
+ addQuery(query) {
96
+ this.queries.push(query);
97
+ }
98
+ addService(query) {
99
+ this.services.push(query);
100
+ }
101
+ // build main Class with methods
102
+ buildBase() {
103
+ this.types.forEach(typeReg => {
104
+ const { name, obj } = typeReg;
105
+ if (obj.type === 'Enum') {
106
+ buildEnums(this, name, obj);
107
+ }
108
+ });
109
+ this.types.forEach(typeReg => {
110
+ const { name, obj } = typeReg;
111
+ if (obj.type === 'Type') {
112
+ buildBaseTypeScriptInterface(this, name, obj);
113
+ }
114
+ });
115
+ this.types.forEach(typeReg => {
116
+ const { name, obj } = typeReg;
117
+ if (obj.type === 'Type') {
118
+ buildBaseTypeScriptClass(this, name, obj);
119
+ }
120
+ });
121
+ // interfaces
122
+ if (this.options.interfaces.enabled && !this.options.interfaces.useGlobalDecoderRegistry) {
123
+ const interfaces = Object.keys(this.ref.traversed.acceptsInterface ?? {});
124
+ if (interfaces.length) {
125
+ interfaces.forEach(interfaceName => {
126
+ this.body.push(createInterfaceDecoder(this.proto, this.ref, interfaceName));
127
+ if (this.options.aminoEncoding?.enabled &&
128
+ !this.options.aminoEncoding?.useLegacyInlineEncoding) {
129
+ this.body.push(createInterfaceFromAmino(this.proto, this.ref, interfaceName));
130
+ this.body.push(createInterfaceToAmino(this.proto, this.ref, interfaceName));
131
+ }
132
+ });
133
+ }
134
+ }
135
+ }
136
+ buildRegistry() {
137
+ this.body.push(createTypeRegistry(this.amino, getMutations(this.mutations)));
138
+ }
139
+ buildRegistryLoader() {
140
+ if (!this.options?.prototypes?.enableRegistryLoader) {
141
+ return;
142
+ }
143
+ this.body.push(createRegistryLoader(this.amino));
144
+ }
145
+ buildAminoInterfaces() {
146
+ if (!this.options?.aminoEncoding?.enabled || !this.options?.aminoEncoding?.useLegacyInlineEncoding)
147
+ return;
148
+ //
149
+ const protos = getAminoProtos(this.mutations, this.store);
150
+ protos.forEach(proto => {
151
+ this.body.push(makeAminoTypeInterface({
152
+ context: this.amino,
153
+ proto
154
+ }));
155
+ });
156
+ }
157
+ buildAminoConverter() {
158
+ this.body.push(createAminoConverter({
159
+ name: 'AminoConverter',
160
+ context: this.amino,
161
+ root: this.ref.traversed,
162
+ protos: getAminoProtos(this.mutations, this.store)
163
+ }));
164
+ }
165
+ buildHelperObject() {
166
+ if (!this.options?.prototypes?.enableMessageComposer) {
167
+ return;
168
+ }
169
+ // add methods
170
+ this.body.push(createHelperObject({
171
+ context: this.amino,
172
+ name: 'MessageComposer',
173
+ mutations: getMutations(this.mutations)
174
+ }));
175
+ }
176
+ }
@@ -0,0 +1,222 @@
1
+ import { ProtoStore } from '@cosmology/proto-parser';
2
+ import { TelescopeParseContext } from './build';
3
+ import { defaultTelescopeOptions } from '@cosmology/types';
4
+ import { toPosixPath } from '@cosmology/utils';
5
+ import { bundlePackages } from './bundle';
6
+ import { Bundler } from './bundler';
7
+ import deepmerge from 'deepmerge';
8
+ import { resolve } from 'path';
9
+ import { plugin as createTypes } from './generators/create-types';
10
+ import { plugin as createAminoConverters } from './generators/create-amino-converters';
11
+ import { plugin as createRegistries } from './generators/create-registries';
12
+ import { plugin as createLCDClients } from './generators/create-lcd-clients';
13
+ import { plugin as createAggregatedLCDClient } from './generators/create-aggregated-lcd-client';
14
+ import { plugin as createLCDClientsScoped } from './generators/create-lcd-client-scoped';
15
+ import { plugin as createLCDClientsAll } from './generators/create-lcd-client-all';
16
+ import { plugin as createRPCQueryClientsScoped } from './generators/create-rpc-query-client-scoped';
17
+ import { plugin as createRPCQueryClientsAll } from './generators/create-rpc-query-client-all';
18
+ import { plugin as createRPCMsgClientsScoped } from './generators/create-rpc-msg-client-scoped';
19
+ import { plugin as createRPCMsgClientsAll } from './generators/create-rpc-msg-client-all';
20
+ import { plugin as createRPCQueryClients } from './generators/create-rpc-query-clients';
21
+ import { plugin as createRPCMsgClients } from './generators/create-rpc-msg-clients';
22
+ import { plugin as createQueryFuncs } from './generators/create-query-funcs';
23
+ import { plugin as createMsgFuncs } from './generators/create-msg-funcs';
24
+ import { plugin as createReactQueryBundle } from './generators/create-react-query-bundle';
25
+ import { plugin as createMobxBundle } from './generators/create-mobx-bundle';
26
+ import { plugin as createStargateClients } from './generators/create-stargate-clients';
27
+ import { plugin as createCustomStargateClients } from './generators/create-custom-stargate-clients';
28
+ import { plugin as createAllStargateClients } from './generators/create-all-stargate-clients';
29
+ import { plugin as createSdkModuleStargateClients } from './generators/create-sdk-module-stargate-clients';
30
+ import { plugin as createBundle } from './generators/create-bundle';
31
+ import { plugin as createIndex } from './generators/create-index';
32
+ import { plugin as createHelpers } from './generators/create-helpers';
33
+ import { plugin as createCosmWasmBundle } from './generators/create-cosmwasm-bundle';
34
+ import { plugin as createPiniaStore } from './generators/create-pinia-store';
35
+ import { plugin as createPiniaStoreBundle } from './generators/create-pinia-store-bundle';
36
+ import { plugin as createRpcOpsBundle } from './generators/create-rpc-ops-bundle';
37
+ import { plugin as customizeUtils } from './generators/customize-utils';
38
+ import { plugin as createRootReadme } from './generators/create-root-readme';
39
+ import { plugin as createMcpServer } from './generators/create-mcp-server';
40
+ const sanitizeOptions = (options) => {
41
+ // If an element at the same key is present for both x and y, the value from y will appear in the result.
42
+ options = deepmerge(defaultTelescopeOptions, options ?? {});
43
+ // correct the path for windows
44
+ if (options.cosmwasm) {
45
+ options.cosmwasm.outPath = toPosixPath(options.cosmwasm.outPath);
46
+ options.cosmwasm.contracts = options.cosmwasm.contracts.map((item) => {
47
+ item.dir = toPosixPath(item.dir);
48
+ return item;
49
+ });
50
+ }
51
+ // strip off leading slashes
52
+ options.tsDisable.files = options.tsDisable.files.map((file) => file.startsWith('/') ? file : file.replace(/^\//, ''));
53
+ options.eslintDisable.files = options.eslintDisable.files.map((file) => file.startsWith('/') ? file : file.replace(/^\//, ''));
54
+ // uniq bc of deepmerge
55
+ options.rpcClients.enabledServices = [
56
+ ...new Set([...options.rpcClients.enabledServices]),
57
+ ];
58
+ return options;
59
+ };
60
+ export class TelescopeBuilder {
61
+ store;
62
+ protoDirs;
63
+ outPath;
64
+ options;
65
+ contexts = [];
66
+ files = [];
67
+ converters = [];
68
+ lcdClients = [];
69
+ rpcQueryClients = [];
70
+ rpcMsgClients = [];
71
+ registries = [];
72
+ stateManagers = {};
73
+ // Function mapping storage: package -> service -> method -> functionName
74
+ functionMappings = {};
75
+ constructor({ protoDirs, outPath, store, options, }) {
76
+ const fixedDirs = protoDirs.map((directory) => {
77
+ return toPosixPath(directory);
78
+ });
79
+ this.protoDirs = fixedDirs;
80
+ this.outPath = resolve(toPosixPath(outPath));
81
+ this.options = sanitizeOptions(options);
82
+ this.store = store ?? new ProtoStore(fixedDirs, this.options);
83
+ this.store.traverseAll();
84
+ }
85
+ context(ref) {
86
+ const ctx = new TelescopeParseContext(ref, this.store, this.options);
87
+ this.contexts.push(ctx);
88
+ return ctx;
89
+ }
90
+ addFunctionMapping(packageName, serviceName, methodName, functionName, hookName, comment, requestType, responseType, sourceFilename, hookSourceFilename, typeSourceFilename) {
91
+ if (!this.functionMappings[packageName]) {
92
+ this.functionMappings[packageName] = {};
93
+ }
94
+ if (!this.functionMappings[packageName][serviceName]) {
95
+ this.functionMappings[packageName][serviceName] = {};
96
+ }
97
+ this.functionMappings[packageName][serviceName][methodName] = {
98
+ functionName,
99
+ hookName,
100
+ comment,
101
+ requestType,
102
+ responseType,
103
+ sourceFilename,
104
+ hookSourceFilename,
105
+ typeSourceFilename
106
+ };
107
+ }
108
+ getFunctionMappings() {
109
+ return this.functionMappings;
110
+ }
111
+ addStateManagers(type, files) {
112
+ const state = this.stateManagers[type];
113
+ if (!state) {
114
+ this.stateManagers[type] = [];
115
+ }
116
+ [].push.apply(this.stateManagers[type], files);
117
+ }
118
+ addRPCQueryClients(files) {
119
+ [].push.apply(this.rpcQueryClients, files);
120
+ }
121
+ addRPCMsgClients(files) {
122
+ [].push.apply(this.rpcMsgClients, files);
123
+ }
124
+ addLCDClients(files) {
125
+ [].push.apply(this.lcdClients, files);
126
+ }
127
+ addRegistries(files) {
128
+ [].push.apply(this.registries, files);
129
+ }
130
+ addConverters(files) {
131
+ [].push.apply(this.converters, files);
132
+ }
133
+ async build() {
134
+ // check warnings
135
+ if (!this.options.aminoEncoding?.enabled &&
136
+ (this.options.prototypes?.methods?.fromAmino ||
137
+ this.options.prototypes?.methods?.toAmino)) {
138
+ console.warn("There could be compilation errors in generated code, because 'aminoEncoding.enabled: false' means amino types wouldn't be created, but 'toAmino' or 'fromAmino' need amino types.");
139
+ }
140
+ if (!this.options.prototypes.methods.fromPartial) {
141
+ console.warn("The 'fromPartial' option will be deprecated in a future version. Encoder objects need fromPartial to be a creator function to create instance of the type. So it should always be left on, otherwise there could be compilation errors in generated code.");
142
+ }
143
+ customizeUtils(this);
144
+ const allConverters = [];
145
+ const allRegistries = [];
146
+ // [x] get bundle of all packages
147
+ const bundles = bundlePackages(this.store).map((bundle) => {
148
+ // store bundleFile in filesToInclude
149
+ const bundler = new Bundler(this, bundle);
150
+ // [x] write out all TS files for package
151
+ createTypes(this, bundler);
152
+ // [x] write out one amino helper for all contexts w/mutations
153
+ createAminoConverters(this, bundler);
154
+ // [x] write out one registry helper for all contexts w/mutations
155
+ createRegistries(this, bundler);
156
+ // [x] write out one registry helper for all contexts w/mutations
157
+ createLCDClients(this, bundler);
158
+ createQueryFuncs(this, bundler);
159
+ createRPCQueryClients(this, bundler);
160
+ createMsgFuncs(this, bundler);
161
+ createRPCMsgClients(this, bundler);
162
+ createPiniaStore(this, bundler);
163
+ if (this.options.rpcClients.clientStyle.useUpdatedClientStyle) {
164
+ // generate sdk-module client file
165
+ if (this.options.rpcClients.clientStyle.type.includes('sdk-module-client') && this.options.rpcClients.clientStyle.sdkModuleClientOption.includes(bundler.bundle.base)) {
166
+ createSdkModuleStargateClients(this, bundler);
167
+ }
168
+ // store registry and converter for all/custom client generation
169
+ if (bundler.registries) {
170
+ allRegistries.push(...bundler.registries);
171
+ }
172
+ if (bundler.converters) {
173
+ allConverters.push(...bundler.converters);
174
+ }
175
+ }
176
+ else {
177
+ // [x] write out one client for each base package, referencing the last two steps
178
+ createStargateClients(this, bundler);
179
+ }
180
+ return bundler;
181
+ });
182
+ if (this.options.rpcClients.clientStyle.useUpdatedClientStyle) {
183
+ // generate cutsom client file
184
+ if (this.options.rpcClients.clientStyle.type.includes('custom-client') && this.options.rpcClients.clientStyle.customClientOption && this.options.rpcClients.clientStyle.customClientOption.length !== 0) {
185
+ createCustomStargateClients(this, allRegistries, allConverters);
186
+ }
187
+ // generate all module client file
188
+ if (this.options.rpcClients.clientStyle.type.includes('all-client')) {
189
+ createAllStargateClients(this, allRegistries, allConverters);
190
+ }
191
+ }
192
+ // post run plugins
193
+ bundles.forEach((bundler) => {
194
+ createLCDClientsAll(this, bundler);
195
+ createLCDClientsScoped(this, bundler);
196
+ createRPCQueryClientsAll(this, bundler);
197
+ createRPCQueryClientsScoped(this, bundler);
198
+ createRPCMsgClientsAll(this, bundler);
199
+ createRPCMsgClientsScoped(this, bundler);
200
+ createBundle(this, bundler);
201
+ });
202
+ createRpcOpsBundle(this);
203
+ createReactQueryBundle(this);
204
+ createMobxBundle(this);
205
+ createAggregatedLCDClient(this);
206
+ await createCosmWasmBundle(this);
207
+ createHelpers(this);
208
+ createPiniaStoreBundle(this);
209
+ // finally, write one index file with all files, exported
210
+ createIndex(this);
211
+ createRootReadme(this);
212
+ // Generate MCP server at the very end after all files are written
213
+ if (this.options.mcpServer?.enabled && bundles.length > 0) {
214
+ // Use the first bundle that has contexts (typically the main aggregated bundle)
215
+ const primaryBundle = bundles.find(bundler => bundler.contexts.length > 0);
216
+ if (primaryBundle) {
217
+ createMcpServer(this, primaryBundle);
218
+ }
219
+ }
220
+ console.log(`✨ files transpiled in '${this.outPath}'`);
221
+ }
222
+ }