@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,229 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRegistryHelper = void 0;
4
+ const getRegistryHelper = (options) => {
5
+ return `import { BinaryReader } from "./binary${options.restoreImportExtension ?? ""}";
6
+ import { Any, AnyAmino } from "./google/protobuf/any${options.restoreImportExtension ?? ""}";
7
+ import { IProtoType, TelescopeGeneratedCodec } from "./types${options.restoreImportExtension ?? ""}";
8
+
9
+ export class GlobalDecoderRegistry {
10
+ static registry: {
11
+ [key: string]: TelescopeGeneratedCodec<any, any, any>;
12
+ } = {};
13
+
14
+ static aminoProtoMapping: {
15
+ [key: string]: string;
16
+ } = {};
17
+
18
+ static existingTypeUrls: string[] = [];
19
+
20
+ static registerExistingTypeUrl(typeUrl: string): boolean {
21
+ if (GlobalDecoderRegistry.existingTypeUrls.includes(typeUrl)) {
22
+ return false;
23
+ }
24
+ GlobalDecoderRegistry.existingTypeUrls.push(typeUrl);
25
+ return true;
26
+ }
27
+
28
+ static registerAminoProtoMapping(aminoType: string, typeUrl: string) {
29
+ GlobalDecoderRegistry.aminoProtoMapping[aminoType] = typeUrl;
30
+ }
31
+
32
+ static register<T, SDK, Amino>(
33
+ key: string,
34
+ decoder: TelescopeGeneratedCodec<T, SDK, Amino>
35
+ ) {
36
+ GlobalDecoderRegistry.registry[key] = decoder;
37
+ }
38
+ static getDecoder<T, SDK, Amino>(
39
+ key: string
40
+ ): TelescopeGeneratedCodec<T, SDK, Amino> {
41
+ return GlobalDecoderRegistry.registry[key];
42
+ }
43
+ static getDecoderByInstance<T, SDK, Amino>(
44
+ obj: unknown
45
+ ): TelescopeGeneratedCodec<T, SDK, Amino> | null {
46
+ if (obj === undefined || obj === null) {
47
+ return null;
48
+ }
49
+ const protoType = obj as IProtoType;
50
+
51
+ if (protoType.$typeUrl) {
52
+ return GlobalDecoderRegistry.getDecoder<T, SDK, Amino>(
53
+ protoType.$typeUrl
54
+ );
55
+ }
56
+
57
+ for (const key in GlobalDecoderRegistry.registry) {
58
+ if (
59
+ Object.prototype.hasOwnProperty.call(
60
+ GlobalDecoderRegistry.registry,
61
+ key
62
+ )
63
+ ) {
64
+ const element = GlobalDecoderRegistry.registry[key];
65
+
66
+ if (element.is!(obj)) {
67
+ return element;
68
+ }
69
+
70
+ if (element.isSDK && element.isSDK(obj)) {
71
+ return element;
72
+ }
73
+
74
+ if (element.isAmino && element.isAmino(obj)) {
75
+ return element;
76
+ }
77
+ }
78
+ }
79
+
80
+ return null;
81
+ }
82
+ static getDecoderByAminoType<T, SDK, Amino>(
83
+ type: string
84
+ ): TelescopeGeneratedCodec<T, SDK, Amino> | null {
85
+ if (type === undefined || type === null) {
86
+ return null;
87
+ }
88
+
89
+ const typeUrl = GlobalDecoderRegistry.aminoProtoMapping[type];
90
+
91
+ if (!typeUrl) {
92
+ return null;
93
+ }
94
+
95
+ return GlobalDecoderRegistry.getDecoder<T, SDK, Amino>(typeUrl);
96
+ }
97
+ static wrapAny(obj: unknown): Any {
98
+ if(Any.is(obj)){
99
+ return obj;
100
+ }
101
+
102
+ const decoder = getDecoderByInstance(obj);
103
+
104
+ return {
105
+ typeUrl: decoder.typeUrl,
106
+ value: decoder.encode(obj).finish(),
107
+ };
108
+ }
109
+ static unwrapAny<T, SDK, Amino>(input: BinaryReader | Uint8Array | Any) {
110
+ let data;
111
+
112
+ if (Any.is(input)) {
113
+ data = input;
114
+ } else {
115
+ const reader =
116
+ input instanceof BinaryReader ? input : new BinaryReader(input);
117
+
118
+ data = Any.decode(reader, reader.uint32());
119
+ }
120
+
121
+ const decoder = GlobalDecoderRegistry.getDecoder<T, SDK, Amino>(
122
+ data.typeUrl
123
+ );
124
+
125
+ if (!decoder) {
126
+ return data;
127
+ }
128
+
129
+ return decoder.decode(data.value);
130
+ }
131
+ static fromJSON<T>(object: any): T {
132
+ const decoder = getDecoderByInstance<T>(object);
133
+ return decoder.fromJSON!(object);
134
+ }
135
+ static toJSON<T>(message: T): any {
136
+ const decoder = getDecoderByInstance<T>(message);
137
+ return decoder.toJSON!(message);
138
+ }
139
+ static fromPartial<T>(object: unknown): T {
140
+ const decoder = getDecoderByInstance<T>(object);
141
+ return decoder ? decoder.fromPartial(object) : (object as T);
142
+ }
143
+ static fromSDK<T = unknown, SDK = unknown>(object: SDK): T {
144
+ const decoder = getDecoderByInstance<T, SDK>(object);
145
+ return decoder.fromSDK!(object);
146
+ }
147
+ static fromSDKJSON<SDK = unknown>(object: any): SDK {
148
+ const decoder = getDecoderByInstance<unknown, SDK>(object);
149
+ return decoder.fromSDKJSON!(object);
150
+ }
151
+ static toSDK<T = unknown, SDK = unknown>(object: T): SDK {
152
+ const decoder = getDecoderByInstance<T, SDK>(object);
153
+ return decoder.toSDK!(object);
154
+ }
155
+ static fromAmino<T = unknown, Amino = unknown>(object: Amino): T {
156
+ const decoder = getDecoderByInstance<T, unknown, Amino>(object);
157
+ return decoder.fromAmino!(object);
158
+ }
159
+ static fromAminoMsg<T = unknown, Amino = unknown>(object: AnyAmino): T {
160
+ const decoder = GlobalDecoderRegistry.getDecoderByAminoType<
161
+ T,
162
+ unknown,
163
+ Amino
164
+ >(object.type);
165
+
166
+ if (!decoder) {
167
+ throw new Error(\`There's no decoder for the amino type \${object.type}\`);
168
+ }
169
+
170
+ return decoder.fromAminoMsg!(object);
171
+ }
172
+ static toAmino<T = unknown, Amino = unknown>(object: T): Amino {
173
+ let data: any;
174
+ let decoder: TelescopeGeneratedCodec<any, any, any>;
175
+ if (Any.is(object)) {
176
+ data = GlobalDecoderRegistry.unwrapAny(object);
177
+
178
+ decoder = GlobalDecoderRegistry.getDecoder(object.typeUrl);
179
+
180
+ if (!decoder) {
181
+ decoder = Any;
182
+ }
183
+ } else {
184
+ data = object;
185
+ decoder = getDecoderByInstance<T, unknown, Amino>(object);
186
+ }
187
+
188
+ return decoder.toAmino!(data);
189
+ }
190
+ static toAminoMsg<T = unknown, Amino = unknown>(object: T): AnyAmino {
191
+ let data: any;
192
+ let decoder: TelescopeGeneratedCodec<any, any, any>;
193
+ if (Any.is(object)) {
194
+ data = GlobalDecoderRegistry.unwrapAny(object);
195
+
196
+ decoder = GlobalDecoderRegistry.getDecoder(object.typeUrl);
197
+
198
+ if (!decoder) {
199
+ decoder = Any;
200
+ }
201
+ } else {
202
+ data = object;
203
+ decoder = getDecoderByInstance<T, unknown, Amino>(object);
204
+ }
205
+
206
+ return decoder.toAminoMsg!(data);
207
+ }
208
+ }
209
+
210
+ function getDecoderByInstance<T = unknown, SDK = unknown, Amino = unknown>(
211
+ obj: unknown
212
+ ): TelescopeGeneratedCodec<T, SDK, Amino> {
213
+ const decoder = GlobalDecoderRegistry.getDecoderByInstance<T, SDK, Amino>(
214
+ obj
215
+ );
216
+
217
+ if (!decoder) {
218
+ throw new Error(
219
+ \`There's no decoder for the instance \${JSON.stringify(obj)}\`
220
+ );
221
+ }
222
+
223
+ return decoder;
224
+ }
225
+
226
+ GlobalDecoderRegistry.register(Any.typeUrl, Any);
227
+ `;
228
+ };
229
+ exports.getRegistryHelper = getRegistryHelper;
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTypesHelper = void 0;
4
+ const getTypesHelper = (options) => {
5
+ return `import { IBinaryReader, IBinaryWriter } from "./binary${options.restoreImportExtension ?? ""}";
6
+ import { Any } from "./google/protobuf/any${options.restoreImportExtension ?? ""}";
7
+ ${options.useInterchainJs ? '' : `import { OfflineSigner } from "@cosmjs/proto-signing";`}
8
+ import { HttpEndpoint } from "${options.useInterchainJs ? "@interchainjs/types" : "@cosmjs/tendermint-rpc"}";
9
+ ${options.useInterchainJs ? `
10
+
11
+ import { DeliverTxResponse, Event, Attribute } from "@interchainjs/types";
12
+
13
+ export { DeliverTxResponse }
14
+
15
+ ` : ''}
16
+ export type ProtoMsg = Omit<Any, "typeUrl"> & { typeUrl: any };
17
+
18
+ export interface IAminoMsg<Amino> {
19
+ type: any;
20
+ value: Amino;
21
+ }
22
+
23
+ export interface IProtoType {
24
+ $typeUrl?: any;
25
+ }
26
+
27
+ /**
28
+ * A type generated by Telescope 1.0.
29
+ */
30
+ export interface TelescopeGeneratedCodec<
31
+ T = unknown,
32
+ SDK = unknown,
33
+ Amino = unknown
34
+ > {
35
+ readonly typeUrl: string;
36
+ readonly aminoType?: string;
37
+ is?(o: unknown): o is T;
38
+ isSDK?(o: unknown): o is SDK;
39
+ isAmino?(o: unknown): o is Amino;
40
+ encode: (message: T, writer?: IBinaryWriter | any) => IBinaryWriter | any;
41
+ decode: (input: IBinaryReader | Uint8Array | any, length?: number) => T;
42
+ fromPartial: (object: any) => T | any;
43
+ fromJSON?: (object: any) => T | any;
44
+ toJSON?: (message: T | any) => any;
45
+ fromSDK?: (sdk: SDK) => T;
46
+ fromSDKJSON?: (object: any) => SDK;
47
+ toSDK?: (message: T) => SDK;
48
+ fromAmino?: (amino: Amino) => T;
49
+ toAmino?: (message: T) => Amino;
50
+ fromAminoMsg?: (aminoMsg: IAminoMsg<Amino>) => T;
51
+ toAminoMsg?: (message: T) => IAminoMsg<Amino>;
52
+ toProto?: (message: T) => Uint8Array;
53
+ fromProtoMsg?: (message: ProtoMsg) => T;
54
+ toProtoMsg?: (message: T) => Any;
55
+ registerTypeUrl?: () => void;
56
+ }
57
+
58
+ export type TelescopeGeneratedType<
59
+ T = unknown,
60
+ SDK = unknown,
61
+ Amino = unknown
62
+ > = TelescopeGeneratedCodec<T, SDK, Amino>;
63
+
64
+ export type GeneratedType = TelescopeGeneratedCodec;
65
+
66
+ /**
67
+ * Coin defines a token with a denomination and an amount.
68
+ *
69
+ * NOTE: The amount field is an Int which implements the custom method
70
+ * signatures required by gogoproto.
71
+ */
72
+ interface Coin {
73
+ denom: string;
74
+ amount: string;
75
+ }
76
+
77
+ export type EncodeObject = Message<any>;
78
+
79
+ export interface Message<T> {
80
+ typeUrl: string;
81
+ value: T;
82
+ }
83
+
84
+ export interface StdFee {
85
+ amount: Coin[];
86
+ gas: string;
87
+ /** The granter address that is used for paying with feegrants */
88
+ granter?: string;
89
+ /** The fee payer address. The payer must have signed the transaction. */
90
+ payer?: string;
91
+ }
92
+
93
+ ${options.useInterchainJs ? '' : `
94
+ export interface MsgData {
95
+ msgType: string;
96
+ data: Uint8Array;
97
+ }
98
+ export interface Attribute {
99
+ key: string;
100
+ value: string;
101
+ index?: boolean;
102
+ }
103
+ export interface Event {
104
+ type: string;
105
+ attributes: readonly Attribute[];
106
+ }
107
+
108
+ /**
109
+ * The response after successfully broadcasting a transaction.
110
+ * Success or failure refer to the execution result.
111
+ */
112
+ export interface DeliverTxResponse {
113
+ height: number;
114
+ /** The position of the transaction within the block. This is a 0-based index. */
115
+ txIndex: number;
116
+ /** Error code. The transaction suceeded if and only if code is 0. */
117
+ code: number;
118
+ transactionHash: string;
119
+ events: readonly Event[];
120
+ /**
121
+ * A string-based log document.
122
+ *
123
+ * This currently seems to merge attributes of multiple events into one event per type
124
+ * (https://github.com/tendermint/tendermint/issues/9595). You might want to use the \`events\`
125
+ * field instead.
126
+ */
127
+ rawLog?: string;
128
+ /** @deprecated Use \`msgResponses\` instead. */
129
+ data?: readonly MsgData[];
130
+ /**
131
+ * The message responses of the [TxMsgData](https://github.com/cosmos/cosmos-sdk/blob/v0.46.3/proto/cosmos/base/abci/v1beta1/abci.proto#L128-L140)
132
+ * as \`Any\`s.
133
+ * This field is an empty list for chains running Cosmos SDK < 0.46.
134
+ */
135
+ msgResponses: Array<{
136
+ typeUrl: string;
137
+ value: Uint8Array;
138
+ }>;
139
+ gasUsed: bigint;
140
+ gasWanted: bigint;
141
+ origin?: any;
142
+ }
143
+ `}
144
+ export interface TxRpc {
145
+ request(
146
+ service: string,
147
+ method: string,
148
+ data: Uint8Array
149
+ ): Promise<Uint8Array>;
150
+ signAndBroadcast?(
151
+ signerAddress: string,
152
+ messages: EncodeObject[],
153
+ fee: StdFee | "auto" | number,
154
+ memo: string
155
+ ): Promise<DeliverTxResponse>;
156
+ }
157
+ ${options.useInterchainJs ? '' : `
158
+ export interface SigningClientParams {
159
+ rpcEndpoint: string | HttpEndpoint;
160
+ signer: OfflineSigner;
161
+ }
162
+ `}
163
+ `;
164
+ };
165
+ exports.getTypesHelper = getTypesHelper;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.utf8 = void 0;
4
+ exports.utf8 = `
5
+ // Copyright (c) 2016, Daniel Wirtz All rights reserved.
6
+
7
+ // Redistribution and use in source and binary forms, with or without
8
+ // modification, are permitted provided that the following conditions are
9
+ // met:
10
+
11
+ // * Redistributions of source code must retain the above copyright
12
+ // notice, this list of conditions and the following disclaimer.
13
+ // * Redistributions in binary form must reproduce the above copyright
14
+ // notice, this list of conditions and the following disclaimer in the
15
+ // documentation and/or other materials provided with the distribution.
16
+ // * Neither the name of its author, nor the names of its contributors
17
+ // may be used to endorse or promote products derived from this software
18
+ // without specific prior written permission.
19
+
20
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+
32
+ "use strict";
33
+
34
+ /**
35
+ * Calculates the UTF8 byte length of a string.
36
+ * @param {string} string String
37
+ * @returns {number} Byte length
38
+ */
39
+ export function utf8Length(str: string) {
40
+ let len = 0,
41
+ c = 0;
42
+ for (let i = 0; i < str.length; ++i) {
43
+ c = str.charCodeAt(i);
44
+ if (c < 128) len += 1;
45
+ else if (c < 2048) len += 2;
46
+ else if (
47
+ (c & 0xfc00) === 0xd800 &&
48
+ (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00
49
+ ) {
50
+ ++i;
51
+ len += 4;
52
+ } else len += 3;
53
+ }
54
+ return len;
55
+ }
56
+
57
+ /**
58
+ * Reads UTF8 bytes as a string.
59
+ * @param {Uint8Array} buffer Source buffer
60
+ * @param {number} start Source start
61
+ * @param {number} end Source end
62
+ * @returns {string} String read
63
+ */
64
+ export function utf8Read(
65
+ buffer: ArrayLike<number>,
66
+ start: number,
67
+ end: number
68
+ ) {
69
+ const len = end - start;
70
+ if (len < 1) return "";
71
+ const chunk = [];
72
+ let parts: string[] = [],
73
+ i = 0, // char offset
74
+ t; // temporary
75
+ while (start < end) {
76
+ t = buffer[start++];
77
+ if (t < 128) chunk[i++] = t;
78
+ else if (t > 191 && t < 224)
79
+ chunk[i++] = ((t & 31) << 6) | (buffer[start++] & 63);
80
+ else if (t > 239 && t < 365) {
81
+ t =
82
+ (((t & 7) << 18) |
83
+ ((buffer[start++] & 63) << 12) |
84
+ ((buffer[start++] & 63) << 6) |
85
+ (buffer[start++] & 63)) -
86
+ 0x10000;
87
+ chunk[i++] = 0xd800 + (t >> 10);
88
+ chunk[i++] = 0xdc00 + (t & 1023);
89
+ } else
90
+ chunk[i++] =
91
+ ((t & 15) << 12) |
92
+ ((buffer[start++] & 63) << 6) |
93
+ (buffer[start++] & 63);
94
+ if (i > 8191) {
95
+ (parts || (parts = [])).push(String.fromCharCode(...chunk));
96
+ i = 0;
97
+ }
98
+ }
99
+ if (parts) {
100
+ if (i) parts.push(String.fromCharCode(...chunk.slice(0, i)));
101
+ return parts.join("");
102
+ }
103
+ return String.fromCharCode(...chunk.slice(0, i));
104
+ }
105
+
106
+ /**
107
+ * Writes a string as UTF8 bytes.
108
+ * @param {string} string Source string
109
+ * @param {Uint8Array} buffer Destination buffer
110
+ * @param {number} offset Destination offset
111
+ * @returns {number} Bytes written
112
+ */
113
+ export function utf8Write(
114
+ str: string,
115
+ buffer: Uint8Array | Array<number>,
116
+ offset: number
117
+ ) {
118
+ const start = offset;
119
+ let c1, // character 1
120
+ c2; // character 2
121
+ for (let i = 0; i < str.length; ++i) {
122
+ c1 = str.charCodeAt(i);
123
+ if (c1 < 128) {
124
+ buffer[offset++] = c1;
125
+ } else if (c1 < 2048) {
126
+ buffer[offset++] = (c1 >> 6) | 192;
127
+ buffer[offset++] = (c1 & 63) | 128;
128
+ } else if (
129
+ (c1 & 0xfc00) === 0xd800 &&
130
+ ((c2 = str.charCodeAt(i + 1)) & 0xfc00) === 0xdc00
131
+ ) {
132
+ c1 = 0x10000 + ((c1 & 0x03ff) << 10) + (c2 & 0x03ff);
133
+ ++i;
134
+ buffer[offset++] = (c1 >> 18) | 240;
135
+ buffer[offset++] = ((c1 >> 12) & 63) | 128;
136
+ buffer[offset++] = ((c1 >> 6) & 63) | 128;
137
+ buffer[offset++] = (c1 & 63) | 128;
138
+ } else {
139
+ buffer[offset++] = (c1 >> 12) | 224;
140
+ buffer[offset++] = ((c1 >> 6) & 63) | 128;
141
+ buffer[offset++] = (c1 & 63) | 128;
142
+ }
143
+ }
144
+ return offset - start;
145
+ }
146
+ `;