@dydxprotocol/v4-client-js 0.30.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 (822) hide show
  1. package/.env +1 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc.js +17 -0
  4. package/.gitleaks.toml +24 -0
  5. package/.gitleaksignore +1 -0
  6. package/.nvmrc +1 -0
  7. package/.telescope.json +17 -0
  8. package/.vscode/launch.json +11 -0
  9. package/LICENSE +11 -0
  10. package/README.md +35 -0
  11. package/__native__/__ios__/v4-native-client.js +202047 -0
  12. package/__native__/__ios__/v4-native-client.js.map +1 -0
  13. package/__tests__/helpers/baseClients.ts +23 -0
  14. package/__tests__/helpers/constants.ts +85 -0
  15. package/__tests__/lib/helpers.test.ts +40 -0
  16. package/__tests__/lib/util.test.ts +83 -0
  17. package/__tests__/lib/validation.test.ts +244 -0
  18. package/__tests__/modules/client/AccountEndpoints.test.ts +106 -0
  19. package/__tests__/modules/client/FaucetEndpoint.test.ts +14 -0
  20. package/__tests__/modules/client/MarketsEndpoints.test.ts +76 -0
  21. package/__tests__/modules/client/Transfers.test.ts +63 -0
  22. package/__tests__/modules/client/ValidatorGetEndpoints.test.ts +50 -0
  23. package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +55 -0
  24. package/__tests__/modules/client/constants.ts +3 -0
  25. package/__tests__/modules/onboarding.test.ts +64 -0
  26. package/build/__tests__/helpers/baseClients.d.ts +18 -0
  27. package/build/__tests__/helpers/baseClients.js +29 -0
  28. package/build/__tests__/helpers/constants.d.ts +14 -0
  29. package/build/__tests__/helpers/constants.js +72 -0
  30. package/build/__tests__/lib/helpers.test.d.ts +1 -0
  31. package/build/__tests__/lib/helpers.test.js +34 -0
  32. package/build/__tests__/lib/util.test.d.ts +1 -0
  33. package/build/__tests__/lib/util.test.js +67 -0
  34. package/build/__tests__/lib/validation.test.d.ts +1 -0
  35. package/build/__tests__/lib/validation.test.js +227 -0
  36. package/build/__tests__/modules/client/AccountEndpoints.test.d.ts +1 -0
  37. package/build/__tests__/modules/client/AccountEndpoints.test.js +99 -0
  38. package/build/__tests__/modules/client/FaucetEndpoint.test.d.ts +1 -0
  39. package/build/__tests__/modules/client/FaucetEndpoint.test.js +15 -0
  40. package/build/__tests__/modules/client/MarketsEndpoints.test.d.ts +1 -0
  41. package/build/__tests__/modules/client/MarketsEndpoints.test.js +69 -0
  42. package/build/__tests__/modules/client/Transfers.test.d.ts +1 -0
  43. package/build/__tests__/modules/client/Transfers.test.js +45 -0
  44. package/build/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts +1 -0
  45. package/build/__tests__/modules/client/ValidatorGetEndpoints.test.js +46 -0
  46. package/build/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts +1 -0
  47. package/build/__tests__/modules/client/ValidatorPostEndpoints.test.js +53 -0
  48. package/build/__tests__/modules/client/constants.d.ts +3 -0
  49. package/build/__tests__/modules/client/constants.js +7 -0
  50. package/build/__tests__/modules/onboarding.test.d.ts +1 -0
  51. package/build/__tests__/modules/onboarding.test.js +51 -0
  52. package/build/examples/account_endpoints.d.ts +4 -0
  53. package/build/examples/account_endpoints.js +142 -0
  54. package/build/examples/composite_example.d.ts +1 -0
  55. package/build/examples/composite_example.js +49 -0
  56. package/build/examples/constants.d.ts +7 -0
  57. package/build/examples/constants.js +29 -0
  58. package/build/examples/faucet_endpoint.d.ts +4 -0
  59. package/build/examples/faucet_endpoint.js +22 -0
  60. package/build/examples/human_readable_orders.json +86 -0
  61. package/build/examples/json-encoding.d.ts +1 -0
  62. package/build/examples/json-encoding.js +32 -0
  63. package/build/examples/markets_endpoints.d.ts +4 -0
  64. package/build/examples/markets_endpoints.js +159 -0
  65. package/build/examples/native_examples.d.ts +1 -0
  66. package/build/examples/native_examples.js +80 -0
  67. package/build/examples/optimal_node.d.ts +1 -0
  68. package/build/examples/optimal_node.js +50 -0
  69. package/build/examples/raw_orders.json +130 -0
  70. package/build/examples/transfer_example_deposit.d.ts +1 -0
  71. package/build/examples/transfer_example_deposit.js +30 -0
  72. package/build/examples/transfer_example_send.d.ts +1 -0
  73. package/build/examples/transfer_example_send.js +44 -0
  74. package/build/examples/transfer_example_subaccount_transfer.d.ts +1 -0
  75. package/build/examples/transfer_example_subaccount_transfer.js +30 -0
  76. package/build/examples/transfer_example_withdraw.d.ts +1 -0
  77. package/build/examples/transfer_example_withdraw.js +30 -0
  78. package/build/examples/transfer_example_withdraw_other.d.ts +1 -0
  79. package/build/examples/transfer_example_withdraw_other.js +44 -0
  80. package/build/examples/validator_get_example.d.ts +1 -0
  81. package/build/examples/validator_get_example.js +101 -0
  82. package/build/examples/validator_post_example.d.ts +1 -0
  83. package/build/examples/validator_post_example.js +76 -0
  84. package/build/examples/wallet_address.d.ts +1 -0
  85. package/build/examples/wallet_address.js +21 -0
  86. package/build/examples/websocket_example.d.ts +1 -0
  87. package/build/examples/websocket_example.js +34 -0
  88. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/amino.d.ts +1 -0
  89. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/amino.js +3 -0
  90. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/bundle.d.ts +1 -0
  91. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/bundle.js +30 -0
  92. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/runtime/v1alpha1/module.d.ts +76 -0
  93. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/runtime/v1alpha1/module.js +206 -0
  94. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/config.d.ts +100 -0
  95. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/config.js +223 -0
  96. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/module.d.ts +120 -0
  97. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/module.js +207 -0
  98. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.d.ts +31 -0
  99. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.js +108 -0
  100. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.d.ts +16 -0
  101. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.js +52 -0
  102. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/module/v1/module.d.ts +45 -0
  103. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/module/v1/module.js +161 -0
  104. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/auth.d.ts +105 -0
  105. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/auth.js +323 -0
  106. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/genesis.d.ts +22 -0
  107. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/genesis.js +92 -0
  108. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.d.ts +438 -0
  109. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.js +937 -0
  110. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.d.ts +83 -0
  111. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.js +135 -0
  112. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.d.ts +56 -0
  113. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.js +119 -0
  114. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.d.ts +17 -0
  115. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.js +41 -0
  116. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/module/v1/module.d.ts +14 -0
  117. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/module/v1/module.js +61 -0
  118. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/authz.d.ts +96 -0
  119. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/authz.js +259 -0
  120. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/event.d.ts +45 -0
  121. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/event.js +161 -0
  122. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/genesis.d.ts +17 -0
  123. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/genesis.js +80 -0
  124. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.d.ts +119 -0
  125. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.js +402 -0
  126. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.d.ts +32 -0
  127. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.js +70 -0
  128. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.d.ts +124 -0
  129. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.js +341 -0
  130. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.d.ts +30 -0
  131. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.js +53 -0
  132. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/module/v1/module.d.ts +24 -0
  133. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/module/v1/module.js +90 -0
  134. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/authz.d.ts +35 -0
  135. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/authz.js +95 -0
  136. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/bank.d.ts +207 -0
  137. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/bank.js +512 -0
  138. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/genesis.d.ts +63 -0
  139. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/genesis.js +198 -0
  140. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.d.ts +533 -0
  141. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.js +1235 -0
  142. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.d.ts +106 -0
  143. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.js +146 -0
  144. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.d.ts +186 -0
  145. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.js +432 -0
  146. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.d.ts +33 -0
  147. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.js +59 -0
  148. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/abci/v1beta1/abci.d.ts +314 -0
  149. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/abci/v1beta1/abci.js +814 -0
  150. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/kv/v1beta1/kv.d.ts +33 -0
  151. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/kv/v1beta1/kv.js +136 -0
  152. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.d.ts +29 -0
  153. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.js +108 -0
  154. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.d.ts +16 -0
  155. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.js +52 -0
  156. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/query/v1beta1/pagination.d.ts +109 -0
  157. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/query/v1beta1/pagination.js +171 -0
  158. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v1beta1/reflection.d.ts +73 -0
  159. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v1beta1/reflection.js +210 -0
  160. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v2alpha1/reflection.d.ts +502 -0
  161. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v2alpha1/reflection.js +1330 -0
  162. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/snapshots/v1beta1/snapshot.d.ts +237 -0
  163. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/snapshots/v1beta1/snapshot.js +592 -0
  164. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/commit_info.d.ts +72 -0
  165. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/commit_info.js +202 -0
  166. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/listening.d.ts +85 -0
  167. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/listening.js +262 -0
  168. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.d.ts +404 -0
  169. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.js +1234 -0
  170. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.d.ts +46 -0
  171. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.js +108 -0
  172. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/types.d.ts +88 -0
  173. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/types.js +284 -0
  174. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/v1beta1/coin.d.ts +85 -0
  175. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/v1beta1/coin.js +233 -0
  176. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bundle.d.ts +5570 -0
  177. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bundle.js +607 -0
  178. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/module/v1/module.d.ts +20 -0
  179. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/module/v1/module.js +75 -0
  180. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/capability.d.ts +68 -0
  181. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/capability.js +181 -0
  182. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/genesis.d.ts +45 -0
  183. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/genesis.js +146 -0
  184. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/module/v1/module.d.ts +17 -0
  185. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/module/v1/module.js +75 -0
  186. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.d.ts +35 -0
  187. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.js +108 -0
  188. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.rpc.Query.d.ts +16 -0
  189. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.rpc.Query.js +52 -0
  190. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.d.ts +50 -0
  191. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.js +139 -0
  192. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.rpc.msg.d.ts +17 -0
  193. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.rpc.msg.js +41 -0
  194. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/module/v1/module.d.ts +20 -0
  195. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/module/v1/module.js +85 -0
  196. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/genesis.d.ts +21 -0
  197. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/genesis.js +75 -0
  198. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.d.ts +87 -0
  199. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.js +218 -0
  200. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.d.ts +20 -0
  201. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.js +47 -0
  202. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/ed25519/keys.d.ts +49 -0
  203. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/ed25519/keys.js +121 -0
  204. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/hd/v1/hd.d.ts +32 -0
  205. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/hd/v1/hd.js +115 -0
  206. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/keyring/v1/record.d.ts +96 -0
  207. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/keyring/v1/record.js +283 -0
  208. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/keys.d.ts +27 -0
  209. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/keys.js +91 -0
  210. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.d.ts +51 -0
  211. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.js +136 -0
  212. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256k1/keys.d.ts +43 -0
  213. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256k1/keys.js +121 -0
  214. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256r1/keys.d.ts +36 -0
  215. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256r1/keys.js +121 -0
  216. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/module/v1/module.d.ts +19 -0
  217. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/module/v1/module.js +85 -0
  218. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/distribution.d.ts +330 -0
  219. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/distribution.js +782 -0
  220. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/genesis.d.ts +213 -0
  221. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/genesis.js +639 -0
  222. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.d.ts +439 -0
  223. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.js +1043 -0
  224. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.d.ts +55 -0
  225. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.js +133 -0
  226. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.d.ts +278 -0
  227. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.js +611 -0
  228. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.d.ts +51 -0
  229. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.js +71 -0
  230. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/module/v1/module.d.ts +14 -0
  231. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/module/v1/module.js +61 -0
  232. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/evidence.d.ts +35 -0
  233. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/evidence.js +106 -0
  234. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/genesis.d.ts +18 -0
  235. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/genesis.js +80 -0
  236. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.d.ts +94 -0
  237. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.js +238 -0
  238. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.d.ts +20 -0
  239. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.js +63 -0
  240. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.d.ts +43 -0
  241. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.js +132 -0
  242. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.d.ts +15 -0
  243. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.js +41 -0
  244. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/module/v1/module.d.ts +14 -0
  245. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/module/v1/module.js +61 -0
  246. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/feegrant.d.ts +119 -0
  247. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/feegrant.js +317 -0
  248. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/genesis.d.ts +17 -0
  249. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/genesis.js +80 -0
  250. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.d.ts +128 -0
  251. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.js +366 -0
  252. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.d.ts +28 -0
  253. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.js +70 -0
  254. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.d.ts +75 -0
  255. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.js +218 -0
  256. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.d.ts +21 -0
  257. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.js +47 -0
  258. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/module/v1/module.d.ts +14 -0
  259. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/module/v1/module.js +61 -0
  260. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/v1beta1/genesis.d.ts +17 -0
  261. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/v1beta1/genesis.js +80 -0
  262. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/module/v1/module.d.ts +25 -0
  263. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/module/v1/module.js +85 -0
  264. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/genesis.d.ts +60 -0
  265. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/genesis.js +161 -0
  266. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/gov.d.ts +355 -0
  267. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/gov.js +944 -0
  268. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.d.ts +328 -0
  269. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.js +903 -0
  270. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.rpc.Query.d.ts +44 -0
  271. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.rpc.Query.js +115 -0
  272. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.d.ts +270 -0
  273. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.js +688 -0
  274. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.rpc.msg.d.ts +35 -0
  275. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.rpc.msg.js +71 -0
  276. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/genesis.d.ts +38 -0
  277. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/genesis.js +151 -0
  278. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/gov.d.ts +314 -0
  279. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/gov.js +814 -0
  280. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.d.ts +305 -0
  281. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.js +893 -0
  282. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.d.ts +44 -0
  283. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.js +115 -0
  284. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.d.ts +171 -0
  285. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.js +455 -0
  286. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.d.ts +25 -0
  287. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.js +59 -0
  288. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/module/v1/module.d.ts +29 -0
  289. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/module/v1/module.js +85 -0
  290. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/events.d.ts +157 -0
  291. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/events.js +469 -0
  292. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/genesis.d.ts +50 -0
  293. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/genesis.js +171 -0
  294. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.d.ts +472 -0
  295. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.js +1426 -0
  296. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.rpc.Query.d.ts +70 -0
  297. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.rpc.Query.js +160 -0
  298. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.d.ts +577 -0
  299. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.js +1630 -0
  300. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.rpc.msg.d.ts +51 -0
  301. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.rpc.msg.js +119 -0
  302. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/types.d.ts +476 -0
  303. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/types.js +1135 -0
  304. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/module/v1/module.d.ts +19 -0
  305. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/module/v1/module.js +85 -0
  306. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/genesis.d.ts +21 -0
  307. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/genesis.js +85 -0
  308. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/mint.d.ts +53 -0
  309. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/mint.js +181 -0
  310. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.d.ts +107 -0
  311. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.js +266 -0
  312. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.d.ts +24 -0
  313. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.js +70 -0
  314. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.d.ts +56 -0
  315. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.js +119 -0
  316. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.d.ts +17 -0
  317. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.js +41 -0
  318. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/msg/v1/msg.d.ts +1 -0
  319. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/msg/v1/msg.js +3 -0
  320. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/module/v1/module.d.ts +14 -0
  321. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/module/v1/module.js +61 -0
  322. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/event.d.ts +70 -0
  323. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/event.js +237 -0
  324. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/genesis.d.ts +40 -0
  325. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/genesis.js +157 -0
  326. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/nft.d.ts +64 -0
  327. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/nft.js +222 -0
  328. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.d.ts +250 -0
  329. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.js +750 -0
  330. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.d.ts +43 -0
  331. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.js +108 -0
  332. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.d.ts +39 -0
  333. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.js +138 -0
  334. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.d.ts +12 -0
  335. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.js +41 -0
  336. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/module/v1alpha1/module.d.ts +22 -0
  337. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/module/v1alpha1/module.js +61 -0
  338. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.d.ts +196 -0
  339. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.js +529 -0
  340. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.d.ts +20 -0
  341. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.js +61 -0
  342. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1/orm.d.ts +137 -0
  343. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1/orm.js +268 -0
  344. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1alpha1/schema.d.ts +101 -0
  345. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1alpha1/schema.js +243 -0
  346. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/module/v1/module.d.ts +14 -0
  347. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/module/v1/module.js +61 -0
  348. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/params.d.ts +45 -0
  349. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/params.js +166 -0
  350. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.d.ts +112 -0
  351. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.js +276 -0
  352. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.rpc.Query.d.ts +27 -0
  353. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.rpc.Query.js +61 -0
  354. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/query/v1/query.d.ts +1 -0
  355. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/query/v1/query.js +3 -0
  356. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/reflection/v1/reflection.d.ts +31 -0
  357. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/reflection/v1/reflection.js +113 -0
  358. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.query.d.ts +216 -0
  359. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.query.js +103 -0
  360. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.tx.d.ts +56 -0
  361. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.tx.js +81 -0
  362. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/module/v1/module.d.ts +17 -0
  363. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/module/v1/module.js +75 -0
  364. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/genesis.d.ts +95 -0
  365. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/genesis.js +279 -0
  366. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.d.ts +120 -0
  367. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.js +306 -0
  368. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.d.ts +24 -0
  369. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.js +72 -0
  370. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/slashing.d.ts +74 -0
  371. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/slashing.js +213 -0
  372. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.d.ts +84 -0
  373. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.js +198 -0
  374. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.d.ts +24 -0
  375. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.js +47 -0
  376. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/module/v1/module.d.ts +24 -0
  377. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/module/v1/module.js +90 -0
  378. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/authz.d.ts +75 -0
  379. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/authz.js +212 -0
  380. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/genesis.d.ts +65 -0
  381. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/genesis.js +227 -0
  382. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.d.ts +608 -0
  383. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.js +1510 -0
  384. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.d.ts +111 -0
  385. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.js +169 -0
  386. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/staking.d.ts +611 -0
  387. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/staking.js +1639 -0
  388. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.d.ts +313 -0
  389. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.js +810 -0
  390. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.d.ts +48 -0
  391. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.js +77 -0
  392. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/config/v1/config.d.ts +26 -0
  393. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/config/v1/config.js +85 -0
  394. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/signing/v1beta1/signing.d.ts +172 -0
  395. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/signing/v1beta1/signing.js +424 -0
  396. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.d.ts +532 -0
  397. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.js +1130 -0
  398. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.d.ts +68 -0
  399. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.js +124 -0
  400. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/tx.d.ts +488 -0
  401. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/tx.js +964 -0
  402. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/module/v1/module.d.ts +17 -0
  403. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/module/v1/module.js +75 -0
  404. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.d.ts +240 -0
  405. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.js +466 -0
  406. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.d.ts +47 -0
  407. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.js +88 -0
  408. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.d.ts +95 -0
  409. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.js +198 -0
  410. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.d.ts +24 -0
  411. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.js +47 -0
  412. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/upgrade.d.ts +148 -0
  413. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/upgrade.js +295 -0
  414. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/module/v1/module.d.ts +14 -0
  415. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/module/v1/module.js +61 -0
  416. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.d.ts +151 -0
  417. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.js +373 -0
  418. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.d.ts +31 -0
  419. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.js +53 -0
  420. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/vesting.d.ts +149 -0
  421. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/vesting.js +409 -0
  422. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/bundle.d.ts +21 -0
  423. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/bundle.js +30 -0
  424. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/cosmos.d.ts +95 -0
  425. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/cosmos.js +206 -0
  426. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/asset.d.ts +65 -0
  427. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/asset.js +145 -0
  428. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/genesis.d.ts +17 -0
  429. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/genesis.js +80 -0
  430. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.d.ts +1 -0
  431. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.js +3 -0
  432. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.rpc.Query.d.ts +10 -0
  433. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.rpc.Query.js +17 -0
  434. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/tx.d.ts +1 -0
  435. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/tx.js +3 -0
  436. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/blocktime.d.ts +62 -0
  437. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/blocktime.js +193 -0
  438. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/genesis.d.ts +17 -0
  439. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/genesis.js +75 -0
  440. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/params.d.ts +27 -0
  441. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/params.js +91 -0
  442. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.d.ts +131 -0
  443. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.js +265 -0
  444. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.rpc.Query.d.ts +24 -0
  445. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.rpc.Query.js +70 -0
  446. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.d.ts +72 -0
  447. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.js +198 -0
  448. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.d.ts +18 -0
  449. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.js +47 -0
  450. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event.d.ts +29 -0
  451. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event.js +106 -0
  452. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event_info.d.ts +31 -0
  453. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event_info.js +85 -0
  454. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/genesis.d.ts +30 -0
  455. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/genesis.js +106 -0
  456. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/params.d.ts +94 -0
  457. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/params.js +228 -0
  458. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.d.ts +173 -0
  459. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.js +421 -0
  460. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.rpc.Query.d.ts +40 -0
  461. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.rpc.Query.js +88 -0
  462. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.d.ts +162 -0
  463. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.js +471 -0
  464. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.rpc.msg.d.ts +27 -0
  465. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.rpc.msg.js +65 -0
  466. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bundle.d.ts +2299 -0
  467. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bundle.js +273 -0
  468. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/block_rate_limit_config.d.ts +53 -0
  469. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/block_rate_limit_config.js +166 -0
  470. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/clob_pair.d.ts +133 -0
  471. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/clob_pair.js +337 -0
  472. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/equity_tier_limit_config.d.ts +54 -0
  473. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/equity_tier_limit_config.js +151 -0
  474. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/genesis.d.ts +26 -0
  475. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/genesis.js +114 -0
  476. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations.d.ts +73 -0
  477. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations.js +167 -0
  478. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations_config.d.ts +141 -0
  479. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations_config.js +282 -0
  480. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/matches.d.ts +164 -0
  481. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/matches.js +439 -0
  482. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/mev.d.ts +132 -0
  483. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/mev.js +445 -0
  484. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/operation.d.ts +59 -0
  485. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/operation.js +183 -0
  486. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order.d.ts +426 -0
  487. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order.js +811 -0
  488. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order_removals.d.ts +75 -0
  489. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order_removals.js +198 -0
  490. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/process_proposer_matches_events.d.ts +55 -0
  491. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/process_proposer_matches_events.js +181 -0
  492. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.d.ts +242 -0
  493. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.js +639 -0
  494. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts +32 -0
  495. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.rpc.Query.js +90 -0
  496. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.d.ts +142 -0
  497. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.js +359 -0
  498. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.rpc.msg.d.ts +21 -0
  499. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.rpc.msg.js +53 -0
  500. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/bridge/bridge.d.ts +36 -0
  501. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/bridge/bridge.js +113 -0
  502. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/liquidation/liquidation.d.ts +46 -0
  503. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/liquidation/liquidation.js +113 -0
  504. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.d.ts +68 -0
  505. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.js +241 -0
  506. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/epoch_info.d.ts +60 -0
  507. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/epoch_info.js +135 -0
  508. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/genesis.d.ts +17 -0
  509. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/genesis.js +80 -0
  510. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.d.ts +66 -0
  511. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.js +228 -0
  512. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.rpc.Query.d.ts +20 -0
  513. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.rpc.Query.js +63 -0
  514. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/genesis.d.ts +18 -0
  515. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/genesis.js +75 -0
  516. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/params.d.ts +50 -0
  517. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/params.js +176 -0
  518. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.d.ts +75 -0
  519. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.js +210 -0
  520. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.rpc.Query.d.ts +20 -0
  521. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.rpc.Query.js +61 -0
  522. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.d.ts +39 -0
  523. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.js +119 -0
  524. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.d.ts +12 -0
  525. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.js +41 -0
  526. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/events/events.d.ts +552 -0
  527. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/events/events.js +1257 -0
  528. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/indexer_manager/event.d.ts +137 -0
  529. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/indexer_manager/event.js +359 -0
  530. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.d.ts +161 -0
  531. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.js +406 -0
  532. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/clob.d.ts +215 -0
  533. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/clob.js +426 -0
  534. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.d.ts +96 -0
  535. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.js +227 -0
  536. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/redis/redis_order.d.ts +57 -0
  537. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/redis/redis_order.js +173 -0
  538. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/shared/removal_reason.d.ts +69 -0
  539. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/shared/removal_reason.js +159 -0
  540. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/socks/messages.d.ts +148 -0
  541. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/socks/messages.js +475 -0
  542. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/genesis.d.ts +22 -0
  543. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/genesis.js +107 -0
  544. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/params.d.ts +34 -0
  545. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/params.js +95 -0
  546. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/perpetual.d.ts +178 -0
  547. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/perpetual.js +373 -0
  548. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.d.ts +66 -0
  549. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.js +228 -0
  550. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.d.ts +20 -0
  551. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.js +63 -0
  552. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.d.ts +60 -0
  553. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.js +169 -0
  554. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.d.ts +15 -0
  555. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.js +41 -0
  556. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/genesis.d.ts +20 -0
  557. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/genesis.js +96 -0
  558. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_param.d.ts +56 -0
  559. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_param.js +125 -0
  560. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_price.d.ts +31 -0
  561. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_price.js +95 -0
  562. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.d.ts +184 -0
  563. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.js +426 -0
  564. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.rpc.Query.d.ts +28 -0
  565. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.rpc.Query.js +83 -0
  566. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.d.ts +56 -0
  567. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.js +169 -0
  568. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.rpc.msg.d.ts +15 -0
  569. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.rpc.msg.js +41 -0
  570. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/genesis.d.ts +18 -0
  571. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/genesis.js +75 -0
  572. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/params.d.ts +37 -0
  573. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/params.js +115 -0
  574. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.d.ts +30 -0
  575. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.js +108 -0
  576. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.rpc.Query.d.ts +16 -0
  577. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.rpc.Query.js +52 -0
  578. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/reward_share.d.ts +24 -0
  579. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/reward_share.js +85 -0
  580. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.d.ts +33 -0
  581. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.js +119 -0
  582. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.rpc.msg.d.ts +12 -0
  583. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.rpc.msg.js +41 -0
  584. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.query.d.ts +273 -0
  585. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.query.js +118 -0
  586. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.tx.d.ts +68 -0
  587. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.tx.js +93 -0
  588. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/genesis.d.ts +14 -0
  589. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/genesis.js +61 -0
  590. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.d.ts +1 -0
  591. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.js +3 -0
  592. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.rpc.Query.d.ts +10 -0
  593. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.rpc.Query.js +17 -0
  594. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/transfer.d.ts +91 -0
  595. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/transfer.js +258 -0
  596. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.d.ts +69 -0
  597. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.js +174 -0
  598. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.rpc.msg.d.ts +25 -0
  599. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.rpc.msg.js +54 -0
  600. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/genesis.d.ts +18 -0
  601. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/genesis.js +75 -0
  602. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/params.d.ts +18 -0
  603. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/params.js +75 -0
  604. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.d.ts +130 -0
  605. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.js +356 -0
  606. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.rpc.Query.d.ts +28 -0
  607. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.rpc.Query.js +79 -0
  608. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/stats.d.ts +132 -0
  609. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/stats.js +410 -0
  610. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.d.ts +33 -0
  611. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.js +119 -0
  612. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.rpc.msg.d.ts +12 -0
  613. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.rpc.msg.js +41 -0
  614. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/asset_position.d.ts +35 -0
  615. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/asset_position.js +95 -0
  616. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/genesis.d.ts +17 -0
  617. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/genesis.js +80 -0
  618. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/perpetual_position.d.ts +32 -0
  619. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/perpetual_position.js +95 -0
  620. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.d.ts +67 -0
  621. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.js +238 -0
  622. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.d.ts +20 -0
  623. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.js +63 -0
  624. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/subaccount.d.ts +65 -0
  625. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/subaccount.js +173 -0
  626. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/genesis.d.ts +18 -0
  627. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/genesis.js +80 -0
  628. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.d.ts +33 -0
  629. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.js +121 -0
  630. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.rpc.Query.d.ts +16 -0
  631. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.rpc.Query.js +52 -0
  632. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.d.ts +66 -0
  633. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.js +208 -0
  634. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.rpc.msg.d.ts +15 -0
  635. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.rpc.msg.js +47 -0
  636. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/vest_entry.d.ts +42 -0
  637. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/vest_entry.js +116 -0
  638. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/bundle.d.ts +1 -0
  639. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/bundle.js +30 -0
  640. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/gogo.d.ts +1 -0
  641. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/gogo.js +3 -0
  642. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/annotations.d.ts +1 -0
  643. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/annotations.js +3 -0
  644. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/http.d.ts +671 -0
  645. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/http.js +287 -0
  646. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/bundle.d.ts +266 -0
  647. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/bundle.js +44 -0
  648. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/any.d.ts +208 -0
  649. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/any.js +85 -0
  650. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/descriptor.d.ts +1226 -0
  651. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/descriptor.js +2842 -0
  652. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/duration.d.ts +151 -0
  653. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/duration.js +85 -0
  654. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/timestamp.d.ts +197 -0
  655. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/timestamp.js +85 -0
  656. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/helpers.d.ts +82 -0
  657. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/helpers.js +184 -0
  658. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/index.d.ts +12 -0
  659. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/index.js +29 -0
  660. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/abci/types.d.ts +990 -0
  661. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/abci/types.js +3662 -0
  662. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/bundle.d.ts +657 -0
  663. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/bundle.js +61 -0
  664. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/keys.d.ts +18 -0
  665. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/keys.js +85 -0
  666. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/proof.d.ts +98 -0
  667. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/proof.js +349 -0
  668. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/libs/bits/types.d.ts +18 -0
  669. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/libs/bits/types.js +100 -0
  670. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/p2p/types.d.ts +79 -0
  671. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/p2p/types.js +332 -0
  672. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/block.d.ts +22 -0
  673. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/block.js +106 -0
  674. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/evidence.d.ts +80 -0
  675. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/evidence.js +314 -0
  676. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/params.d.ts +154 -0
  677. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/params.js +376 -0
  678. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/types.d.ts +322 -0
  679. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/types.js +1164 -0
  680. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/validator.d.ts +55 -0
  681. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/validator.js +232 -0
  682. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/version/types.d.ts +53 -0
  683. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/version/types.js +140 -0
  684. package/build/node_modules/@dydxprotocol/dydxjs/src/index.d.ts +1 -0
  685. package/build/node_modules/@dydxprotocol/dydxjs/src/index.js +18 -0
  686. package/build/src/clients/composite-client.d.ts +223 -0
  687. package/build/src/clients/composite-client.js +357 -0
  688. package/build/src/clients/constants.d.ts +104 -0
  689. package/build/src/clients/constants.js +189 -0
  690. package/build/src/clients/faucet-client.d.ts +10 -0
  691. package/build/src/clients/faucet-client.js +24 -0
  692. package/build/src/clients/helpers/chain-helpers.d.ts +13 -0
  693. package/build/src/clients/helpers/chain-helpers.js +163 -0
  694. package/build/src/clients/helpers/request-helpers.d.ts +1 -0
  695. package/build/src/clients/helpers/request-helpers.js +14 -0
  696. package/build/src/clients/indexer-client.d.ts +25 -0
  697. package/build/src/clients/indexer-client.js +38 -0
  698. package/build/src/clients/lib/axios/axiosRequest.d.ts +8 -0
  699. package/build/src/clients/lib/axios/axiosRequest.js +35 -0
  700. package/build/src/clients/lib/axios/errors.d.ts +30 -0
  701. package/build/src/clients/lib/axios/errors.js +28 -0
  702. package/build/src/clients/lib/axios/index.d.ts +6 -0
  703. package/build/src/clients/lib/axios/index.js +23 -0
  704. package/build/src/clients/lib/axios/types.d.ts +6 -0
  705. package/build/src/clients/lib/axios/types.js +11 -0
  706. package/build/src/clients/lib/errors.d.ts +35 -0
  707. package/build/src/clients/lib/errors.js +58 -0
  708. package/build/src/clients/lib/registry.d.ts +3 -0
  709. package/build/src/clients/lib/registry.js +24 -0
  710. package/build/src/clients/modules/account.d.ts +18 -0
  711. package/build/src/clients/modules/account.js +105 -0
  712. package/build/src/clients/modules/composer.d.ts +12 -0
  713. package/build/src/clients/modules/composer.js +152 -0
  714. package/build/src/clients/modules/get.d.ts +118 -0
  715. package/build/src/clients/modules/get.js +232 -0
  716. package/build/src/clients/modules/local-wallet.d.ts +15 -0
  717. package/build/src/clients/modules/local-wallet.js +47 -0
  718. package/build/src/clients/modules/markets.d.ts +15 -0
  719. package/build/src/clients/modules/markets.js +60 -0
  720. package/build/src/clients/modules/post.d.ts +82 -0
  721. package/build/src/clients/modules/post.js +218 -0
  722. package/build/src/clients/modules/proto-includes.d.ts +15 -0
  723. package/build/src/clients/modules/proto-includes.js +45 -0
  724. package/build/src/clients/modules/rest.d.ts +9 -0
  725. package/build/src/clients/modules/rest.js +27 -0
  726. package/build/src/clients/modules/signer.d.ts +16 -0
  727. package/build/src/clients/modules/signer.js +44 -0
  728. package/build/src/clients/modules/tendermintClient.d.ts +51 -0
  729. package/build/src/clients/modules/tendermintClient.js +135 -0
  730. package/build/src/clients/native.d.ts +43 -0
  731. package/build/src/clients/native.js +641 -0
  732. package/build/src/clients/socket-client.d.ts +125 -0
  733. package/build/src/clients/socket-client.js +270 -0
  734. package/build/src/clients/subaccount.d.ts +7 -0
  735. package/build/src/clients/subaccount.js +23 -0
  736. package/build/src/clients/types.d.ts +47 -0
  737. package/build/src/clients/types.js +26 -0
  738. package/build/src/clients/validator-client.d.ts +28 -0
  739. package/build/src/clients/validator-client.js +63 -0
  740. package/build/src/index.d.ts +13 -0
  741. package/build/src/index.js +57 -0
  742. package/build/src/lib/constants.d.ts +15 -0
  743. package/build/src/lib/constants.js +32 -0
  744. package/build/src/lib/errors.d.ts +22 -0
  745. package/build/src/lib/errors.js +37 -0
  746. package/build/src/lib/helpers.d.ts +16 -0
  747. package/build/src/lib/helpers.js +61 -0
  748. package/build/src/lib/onboarding.d.ts +28 -0
  749. package/build/src/lib/onboarding.js +54 -0
  750. package/build/src/lib/utils.d.ts +13 -0
  751. package/build/src/lib/utils.js +36 -0
  752. package/build/src/lib/validation.d.ts +18 -0
  753. package/build/src/lib/validation.js +123 -0
  754. package/build/src/network_optimizer.d.ts +5 -0
  755. package/build/src/network_optimizer.js +54 -0
  756. package/build/src/types.d.ts +35 -0
  757. package/build/src/types.js +32 -0
  758. package/examples/account_endpoints.ts +142 -0
  759. package/examples/composite_example.ts +60 -0
  760. package/examples/constants.ts +27 -0
  761. package/examples/faucet_endpoint.ts +23 -0
  762. package/examples/human_readable_orders.json +86 -0
  763. package/examples/json-encoding.ts +33 -0
  764. package/examples/markets_endpoints.ts +159 -0
  765. package/examples/native_examples.ts +113 -0
  766. package/examples/optimal_node.ts +51 -0
  767. package/examples/raw_orders.json +130 -0
  768. package/examples/transfer_example_deposit.ts +37 -0
  769. package/examples/transfer_example_send.ts +79 -0
  770. package/examples/transfer_example_subaccount_transfer.ts +40 -0
  771. package/examples/transfer_example_withdraw.ts +38 -0
  772. package/examples/transfer_example_withdraw_other.ts +70 -0
  773. package/examples/validator_get_example.ts +100 -0
  774. package/examples/validator_post_example.ts +86 -0
  775. package/examples/wallet_address.ts +17 -0
  776. package/examples/websocket_example.ts +37 -0
  777. package/jest.config.js +10 -0
  778. package/jest.globalSetup.js +5 -0
  779. package/jest.setup.js +1 -0
  780. package/package.json +72 -0
  781. package/scripts/bump_version.sh +16 -0
  782. package/scripts/publish-if-not-exists.sh +21 -0
  783. package/src/clients/composite-client.ts +611 -0
  784. package/src/clients/constants.ts +204 -0
  785. package/src/clients/faucet-client.ts +27 -0
  786. package/src/clients/helpers/chain-helpers.ts +208 -0
  787. package/src/clients/helpers/request-helpers.ts +13 -0
  788. package/src/clients/indexer-client.ts +39 -0
  789. package/src/clients/lib/axios/axiosRequest.ts +44 -0
  790. package/src/clients/lib/axios/errors.ts +46 -0
  791. package/src/clients/lib/axios/index.ts +7 -0
  792. package/src/clients/lib/axios/types.ts +6 -0
  793. package/src/clients/lib/errors.ts +70 -0
  794. package/src/clients/lib/registry.ts +30 -0
  795. package/src/clients/modules/account.ts +168 -0
  796. package/src/clients/modules/composer.ts +235 -0
  797. package/src/clients/modules/get.ts +347 -0
  798. package/src/clients/modules/local-wallet.ts +78 -0
  799. package/src/clients/modules/markets.ts +77 -0
  800. package/src/clients/modules/post.ts +484 -0
  801. package/src/clients/modules/proto-includes.ts +17 -0
  802. package/src/clients/modules/rest.ts +37 -0
  803. package/src/clients/modules/signer.ts +66 -0
  804. package/src/clients/modules/tendermintClient.ts +185 -0
  805. package/src/clients/native.ts +768 -0
  806. package/src/clients/socket-client.ts +296 -0
  807. package/src/clients/subaccount.ts +24 -0
  808. package/src/clients/types.ts +73 -0
  809. package/src/clients/validator-client.ts +74 -0
  810. package/src/index.ts +17 -0
  811. package/src/lib/constants.ts +37 -0
  812. package/src/lib/errors.ts +44 -0
  813. package/src/lib/helpers.ts +59 -0
  814. package/src/lib/onboarding.ts +64 -0
  815. package/src/lib/utils.ts +36 -0
  816. package/src/lib/validation.ts +151 -0
  817. package/src/network_optimizer.ts +70 -0
  818. package/src/types.ts +58 -0
  819. package/tasks.json +16 -0
  820. package/tsconfig.eslint.json +17 -0
  821. package/tsconfig.json +20 -0
  822. package/webpack.config.js +48 -0
@@ -0,0 +1,2842 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.GeneratedCodeInfo = exports.SourceCodeInfo_Location = exports.SourceCodeInfo = exports.UninterpretedOption_NamePart = exports.UninterpretedOption = exports.MethodOptions = exports.ServiceOptions = exports.EnumValueOptions = exports.EnumOptions = exports.OneofOptions = exports.FieldOptions = exports.MessageOptions = exports.FileOptions = exports.MethodDescriptorProto = exports.ServiceDescriptorProto = exports.EnumValueDescriptorProto = exports.EnumDescriptorProto_EnumReservedRange = exports.EnumDescriptorProto = exports.OneofDescriptorProto = exports.FieldDescriptorProto = exports.ExtensionRangeOptions = exports.DescriptorProto_ReservedRange = exports.DescriptorProto_ExtensionRange = exports.DescriptorProto = exports.FileDescriptorProto = exports.FileDescriptorSet = exports.methodOptions_IdempotencyLevelToJSON = exports.methodOptions_IdempotencyLevelFromJSON = exports.MethodOptions_IdempotencyLevelSDKType = exports.MethodOptions_IdempotencyLevel = exports.fieldOptions_JSTypeToJSON = exports.fieldOptions_JSTypeFromJSON = exports.FieldOptions_JSTypeSDKType = exports.FieldOptions_JSType = exports.fieldOptions_CTypeToJSON = exports.fieldOptions_CTypeFromJSON = exports.FieldOptions_CTypeSDKType = exports.FieldOptions_CType = exports.fileOptions_OptimizeModeToJSON = exports.fileOptions_OptimizeModeFromJSON = exports.FileOptions_OptimizeModeSDKType = exports.FileOptions_OptimizeMode = exports.fieldDescriptorProto_LabelToJSON = exports.fieldDescriptorProto_LabelFromJSON = exports.FieldDescriptorProto_LabelSDKType = exports.FieldDescriptorProto_Label = exports.fieldDescriptorProto_TypeToJSON = exports.fieldDescriptorProto_TypeFromJSON = exports.FieldDescriptorProto_TypeSDKType = exports.FieldDescriptorProto_Type = void 0;
27
+ exports.GeneratedCodeInfo_Annotation = void 0;
28
+ const _m0 = __importStar(require("protobufjs/minimal"));
29
+ const helpers_1 = require("../../helpers");
30
+ var FieldDescriptorProto_Type;
31
+ (function (FieldDescriptorProto_Type) {
32
+ /**
33
+ * TYPE_DOUBLE - 0 is reserved for errors.
34
+ * Order is weird for historical reasons.
35
+ */
36
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_DOUBLE"] = 1] = "TYPE_DOUBLE";
37
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_FLOAT"] = 2] = "TYPE_FLOAT";
38
+ /**
39
+ * TYPE_INT64 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
40
+ * negative values are likely.
41
+ */
42
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_INT64"] = 3] = "TYPE_INT64";
43
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_UINT64"] = 4] = "TYPE_UINT64";
44
+ /**
45
+ * TYPE_INT32 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
46
+ * negative values are likely.
47
+ */
48
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_INT32"] = 5] = "TYPE_INT32";
49
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_FIXED64"] = 6] = "TYPE_FIXED64";
50
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_FIXED32"] = 7] = "TYPE_FIXED32";
51
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_BOOL"] = 8] = "TYPE_BOOL";
52
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_STRING"] = 9] = "TYPE_STRING";
53
+ /**
54
+ * TYPE_GROUP - Tag-delimited aggregate.
55
+ * Group type is deprecated and not supported in proto3. However, Proto3
56
+ * implementations should still be able to parse the group wire format and
57
+ * treat group fields as unknown fields.
58
+ */
59
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_GROUP"] = 10] = "TYPE_GROUP";
60
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_MESSAGE"] = 11] = "TYPE_MESSAGE";
61
+ /** TYPE_BYTES - New in version 2. */
62
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_BYTES"] = 12] = "TYPE_BYTES";
63
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_UINT32"] = 13] = "TYPE_UINT32";
64
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_ENUM"] = 14] = "TYPE_ENUM";
65
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_SFIXED32"] = 15] = "TYPE_SFIXED32";
66
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_SFIXED64"] = 16] = "TYPE_SFIXED64";
67
+ /** TYPE_SINT32 - Uses ZigZag encoding. */
68
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_SINT32"] = 17] = "TYPE_SINT32";
69
+ /** TYPE_SINT64 - Uses ZigZag encoding. */
70
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["TYPE_SINT64"] = 18] = "TYPE_SINT64";
71
+ FieldDescriptorProto_Type[FieldDescriptorProto_Type["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
72
+ })(FieldDescriptorProto_Type = exports.FieldDescriptorProto_Type || (exports.FieldDescriptorProto_Type = {}));
73
+ exports.FieldDescriptorProto_TypeSDKType = FieldDescriptorProto_Type;
74
+ function fieldDescriptorProto_TypeFromJSON(object) {
75
+ switch (object) {
76
+ case 1:
77
+ case "TYPE_DOUBLE":
78
+ return FieldDescriptorProto_Type.TYPE_DOUBLE;
79
+ case 2:
80
+ case "TYPE_FLOAT":
81
+ return FieldDescriptorProto_Type.TYPE_FLOAT;
82
+ case 3:
83
+ case "TYPE_INT64":
84
+ return FieldDescriptorProto_Type.TYPE_INT64;
85
+ case 4:
86
+ case "TYPE_UINT64":
87
+ return FieldDescriptorProto_Type.TYPE_UINT64;
88
+ case 5:
89
+ case "TYPE_INT32":
90
+ return FieldDescriptorProto_Type.TYPE_INT32;
91
+ case 6:
92
+ case "TYPE_FIXED64":
93
+ return FieldDescriptorProto_Type.TYPE_FIXED64;
94
+ case 7:
95
+ case "TYPE_FIXED32":
96
+ return FieldDescriptorProto_Type.TYPE_FIXED32;
97
+ case 8:
98
+ case "TYPE_BOOL":
99
+ return FieldDescriptorProto_Type.TYPE_BOOL;
100
+ case 9:
101
+ case "TYPE_STRING":
102
+ return FieldDescriptorProto_Type.TYPE_STRING;
103
+ case 10:
104
+ case "TYPE_GROUP":
105
+ return FieldDescriptorProto_Type.TYPE_GROUP;
106
+ case 11:
107
+ case "TYPE_MESSAGE":
108
+ return FieldDescriptorProto_Type.TYPE_MESSAGE;
109
+ case 12:
110
+ case "TYPE_BYTES":
111
+ return FieldDescriptorProto_Type.TYPE_BYTES;
112
+ case 13:
113
+ case "TYPE_UINT32":
114
+ return FieldDescriptorProto_Type.TYPE_UINT32;
115
+ case 14:
116
+ case "TYPE_ENUM":
117
+ return FieldDescriptorProto_Type.TYPE_ENUM;
118
+ case 15:
119
+ case "TYPE_SFIXED32":
120
+ return FieldDescriptorProto_Type.TYPE_SFIXED32;
121
+ case 16:
122
+ case "TYPE_SFIXED64":
123
+ return FieldDescriptorProto_Type.TYPE_SFIXED64;
124
+ case 17:
125
+ case "TYPE_SINT32":
126
+ return FieldDescriptorProto_Type.TYPE_SINT32;
127
+ case 18:
128
+ case "TYPE_SINT64":
129
+ return FieldDescriptorProto_Type.TYPE_SINT64;
130
+ case -1:
131
+ case "UNRECOGNIZED":
132
+ default:
133
+ return FieldDescriptorProto_Type.UNRECOGNIZED;
134
+ }
135
+ }
136
+ exports.fieldDescriptorProto_TypeFromJSON = fieldDescriptorProto_TypeFromJSON;
137
+ function fieldDescriptorProto_TypeToJSON(object) {
138
+ switch (object) {
139
+ case FieldDescriptorProto_Type.TYPE_DOUBLE:
140
+ return "TYPE_DOUBLE";
141
+ case FieldDescriptorProto_Type.TYPE_FLOAT:
142
+ return "TYPE_FLOAT";
143
+ case FieldDescriptorProto_Type.TYPE_INT64:
144
+ return "TYPE_INT64";
145
+ case FieldDescriptorProto_Type.TYPE_UINT64:
146
+ return "TYPE_UINT64";
147
+ case FieldDescriptorProto_Type.TYPE_INT32:
148
+ return "TYPE_INT32";
149
+ case FieldDescriptorProto_Type.TYPE_FIXED64:
150
+ return "TYPE_FIXED64";
151
+ case FieldDescriptorProto_Type.TYPE_FIXED32:
152
+ return "TYPE_FIXED32";
153
+ case FieldDescriptorProto_Type.TYPE_BOOL:
154
+ return "TYPE_BOOL";
155
+ case FieldDescriptorProto_Type.TYPE_STRING:
156
+ return "TYPE_STRING";
157
+ case FieldDescriptorProto_Type.TYPE_GROUP:
158
+ return "TYPE_GROUP";
159
+ case FieldDescriptorProto_Type.TYPE_MESSAGE:
160
+ return "TYPE_MESSAGE";
161
+ case FieldDescriptorProto_Type.TYPE_BYTES:
162
+ return "TYPE_BYTES";
163
+ case FieldDescriptorProto_Type.TYPE_UINT32:
164
+ return "TYPE_UINT32";
165
+ case FieldDescriptorProto_Type.TYPE_ENUM:
166
+ return "TYPE_ENUM";
167
+ case FieldDescriptorProto_Type.TYPE_SFIXED32:
168
+ return "TYPE_SFIXED32";
169
+ case FieldDescriptorProto_Type.TYPE_SFIXED64:
170
+ return "TYPE_SFIXED64";
171
+ case FieldDescriptorProto_Type.TYPE_SINT32:
172
+ return "TYPE_SINT32";
173
+ case FieldDescriptorProto_Type.TYPE_SINT64:
174
+ return "TYPE_SINT64";
175
+ case FieldDescriptorProto_Type.UNRECOGNIZED:
176
+ default:
177
+ return "UNRECOGNIZED";
178
+ }
179
+ }
180
+ exports.fieldDescriptorProto_TypeToJSON = fieldDescriptorProto_TypeToJSON;
181
+ var FieldDescriptorProto_Label;
182
+ (function (FieldDescriptorProto_Label) {
183
+ /** LABEL_OPTIONAL - 0 is reserved for errors */
184
+ FieldDescriptorProto_Label[FieldDescriptorProto_Label["LABEL_OPTIONAL"] = 1] = "LABEL_OPTIONAL";
185
+ FieldDescriptorProto_Label[FieldDescriptorProto_Label["LABEL_REQUIRED"] = 2] = "LABEL_REQUIRED";
186
+ FieldDescriptorProto_Label[FieldDescriptorProto_Label["LABEL_REPEATED"] = 3] = "LABEL_REPEATED";
187
+ FieldDescriptorProto_Label[FieldDescriptorProto_Label["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
188
+ })(FieldDescriptorProto_Label = exports.FieldDescriptorProto_Label || (exports.FieldDescriptorProto_Label = {}));
189
+ exports.FieldDescriptorProto_LabelSDKType = FieldDescriptorProto_Label;
190
+ function fieldDescriptorProto_LabelFromJSON(object) {
191
+ switch (object) {
192
+ case 1:
193
+ case "LABEL_OPTIONAL":
194
+ return FieldDescriptorProto_Label.LABEL_OPTIONAL;
195
+ case 2:
196
+ case "LABEL_REQUIRED":
197
+ return FieldDescriptorProto_Label.LABEL_REQUIRED;
198
+ case 3:
199
+ case "LABEL_REPEATED":
200
+ return FieldDescriptorProto_Label.LABEL_REPEATED;
201
+ case -1:
202
+ case "UNRECOGNIZED":
203
+ default:
204
+ return FieldDescriptorProto_Label.UNRECOGNIZED;
205
+ }
206
+ }
207
+ exports.fieldDescriptorProto_LabelFromJSON = fieldDescriptorProto_LabelFromJSON;
208
+ function fieldDescriptorProto_LabelToJSON(object) {
209
+ switch (object) {
210
+ case FieldDescriptorProto_Label.LABEL_OPTIONAL:
211
+ return "LABEL_OPTIONAL";
212
+ case FieldDescriptorProto_Label.LABEL_REQUIRED:
213
+ return "LABEL_REQUIRED";
214
+ case FieldDescriptorProto_Label.LABEL_REPEATED:
215
+ return "LABEL_REPEATED";
216
+ case FieldDescriptorProto_Label.UNRECOGNIZED:
217
+ default:
218
+ return "UNRECOGNIZED";
219
+ }
220
+ }
221
+ exports.fieldDescriptorProto_LabelToJSON = fieldDescriptorProto_LabelToJSON;
222
+ /** Generated classes can be optimized for speed or code size. */
223
+ var FileOptions_OptimizeMode;
224
+ (function (FileOptions_OptimizeMode) {
225
+ /**
226
+ * SPEED - Generate complete code for parsing, serialization,
227
+ * etc.
228
+ */
229
+ FileOptions_OptimizeMode[FileOptions_OptimizeMode["SPEED"] = 1] = "SPEED";
230
+ /** CODE_SIZE - Use ReflectionOps to implement these methods. */
231
+ FileOptions_OptimizeMode[FileOptions_OptimizeMode["CODE_SIZE"] = 2] = "CODE_SIZE";
232
+ /** LITE_RUNTIME - Generate code using MessageLite and the lite runtime. */
233
+ FileOptions_OptimizeMode[FileOptions_OptimizeMode["LITE_RUNTIME"] = 3] = "LITE_RUNTIME";
234
+ FileOptions_OptimizeMode[FileOptions_OptimizeMode["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
235
+ })(FileOptions_OptimizeMode = exports.FileOptions_OptimizeMode || (exports.FileOptions_OptimizeMode = {}));
236
+ exports.FileOptions_OptimizeModeSDKType = FileOptions_OptimizeMode;
237
+ function fileOptions_OptimizeModeFromJSON(object) {
238
+ switch (object) {
239
+ case 1:
240
+ case "SPEED":
241
+ return FileOptions_OptimizeMode.SPEED;
242
+ case 2:
243
+ case "CODE_SIZE":
244
+ return FileOptions_OptimizeMode.CODE_SIZE;
245
+ case 3:
246
+ case "LITE_RUNTIME":
247
+ return FileOptions_OptimizeMode.LITE_RUNTIME;
248
+ case -1:
249
+ case "UNRECOGNIZED":
250
+ default:
251
+ return FileOptions_OptimizeMode.UNRECOGNIZED;
252
+ }
253
+ }
254
+ exports.fileOptions_OptimizeModeFromJSON = fileOptions_OptimizeModeFromJSON;
255
+ function fileOptions_OptimizeModeToJSON(object) {
256
+ switch (object) {
257
+ case FileOptions_OptimizeMode.SPEED:
258
+ return "SPEED";
259
+ case FileOptions_OptimizeMode.CODE_SIZE:
260
+ return "CODE_SIZE";
261
+ case FileOptions_OptimizeMode.LITE_RUNTIME:
262
+ return "LITE_RUNTIME";
263
+ case FileOptions_OptimizeMode.UNRECOGNIZED:
264
+ default:
265
+ return "UNRECOGNIZED";
266
+ }
267
+ }
268
+ exports.fileOptions_OptimizeModeToJSON = fileOptions_OptimizeModeToJSON;
269
+ var FieldOptions_CType;
270
+ (function (FieldOptions_CType) {
271
+ /** STRING - Default mode. */
272
+ FieldOptions_CType[FieldOptions_CType["STRING"] = 0] = "STRING";
273
+ FieldOptions_CType[FieldOptions_CType["CORD"] = 1] = "CORD";
274
+ FieldOptions_CType[FieldOptions_CType["STRING_PIECE"] = 2] = "STRING_PIECE";
275
+ FieldOptions_CType[FieldOptions_CType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
276
+ })(FieldOptions_CType = exports.FieldOptions_CType || (exports.FieldOptions_CType = {}));
277
+ exports.FieldOptions_CTypeSDKType = FieldOptions_CType;
278
+ function fieldOptions_CTypeFromJSON(object) {
279
+ switch (object) {
280
+ case 0:
281
+ case "STRING":
282
+ return FieldOptions_CType.STRING;
283
+ case 1:
284
+ case "CORD":
285
+ return FieldOptions_CType.CORD;
286
+ case 2:
287
+ case "STRING_PIECE":
288
+ return FieldOptions_CType.STRING_PIECE;
289
+ case -1:
290
+ case "UNRECOGNIZED":
291
+ default:
292
+ return FieldOptions_CType.UNRECOGNIZED;
293
+ }
294
+ }
295
+ exports.fieldOptions_CTypeFromJSON = fieldOptions_CTypeFromJSON;
296
+ function fieldOptions_CTypeToJSON(object) {
297
+ switch (object) {
298
+ case FieldOptions_CType.STRING:
299
+ return "STRING";
300
+ case FieldOptions_CType.CORD:
301
+ return "CORD";
302
+ case FieldOptions_CType.STRING_PIECE:
303
+ return "STRING_PIECE";
304
+ case FieldOptions_CType.UNRECOGNIZED:
305
+ default:
306
+ return "UNRECOGNIZED";
307
+ }
308
+ }
309
+ exports.fieldOptions_CTypeToJSON = fieldOptions_CTypeToJSON;
310
+ var FieldOptions_JSType;
311
+ (function (FieldOptions_JSType) {
312
+ /** JS_NORMAL - Use the default type. */
313
+ FieldOptions_JSType[FieldOptions_JSType["JS_NORMAL"] = 0] = "JS_NORMAL";
314
+ /** JS_STRING - Use JavaScript strings. */
315
+ FieldOptions_JSType[FieldOptions_JSType["JS_STRING"] = 1] = "JS_STRING";
316
+ /** JS_NUMBER - Use JavaScript numbers. */
317
+ FieldOptions_JSType[FieldOptions_JSType["JS_NUMBER"] = 2] = "JS_NUMBER";
318
+ FieldOptions_JSType[FieldOptions_JSType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
319
+ })(FieldOptions_JSType = exports.FieldOptions_JSType || (exports.FieldOptions_JSType = {}));
320
+ exports.FieldOptions_JSTypeSDKType = FieldOptions_JSType;
321
+ function fieldOptions_JSTypeFromJSON(object) {
322
+ switch (object) {
323
+ case 0:
324
+ case "JS_NORMAL":
325
+ return FieldOptions_JSType.JS_NORMAL;
326
+ case 1:
327
+ case "JS_STRING":
328
+ return FieldOptions_JSType.JS_STRING;
329
+ case 2:
330
+ case "JS_NUMBER":
331
+ return FieldOptions_JSType.JS_NUMBER;
332
+ case -1:
333
+ case "UNRECOGNIZED":
334
+ default:
335
+ return FieldOptions_JSType.UNRECOGNIZED;
336
+ }
337
+ }
338
+ exports.fieldOptions_JSTypeFromJSON = fieldOptions_JSTypeFromJSON;
339
+ function fieldOptions_JSTypeToJSON(object) {
340
+ switch (object) {
341
+ case FieldOptions_JSType.JS_NORMAL:
342
+ return "JS_NORMAL";
343
+ case FieldOptions_JSType.JS_STRING:
344
+ return "JS_STRING";
345
+ case FieldOptions_JSType.JS_NUMBER:
346
+ return "JS_NUMBER";
347
+ case FieldOptions_JSType.UNRECOGNIZED:
348
+ default:
349
+ return "UNRECOGNIZED";
350
+ }
351
+ }
352
+ exports.fieldOptions_JSTypeToJSON = fieldOptions_JSTypeToJSON;
353
+ /**
354
+ * Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
355
+ * or neither? HTTP based RPC implementation may choose GET verb for safe
356
+ * methods, and PUT verb for idempotent methods instead of the default POST.
357
+ */
358
+ var MethodOptions_IdempotencyLevel;
359
+ (function (MethodOptions_IdempotencyLevel) {
360
+ MethodOptions_IdempotencyLevel[MethodOptions_IdempotencyLevel["IDEMPOTENCY_UNKNOWN"] = 0] = "IDEMPOTENCY_UNKNOWN";
361
+ /** NO_SIDE_EFFECTS - implies idempotent */
362
+ MethodOptions_IdempotencyLevel[MethodOptions_IdempotencyLevel["NO_SIDE_EFFECTS"] = 1] = "NO_SIDE_EFFECTS";
363
+ /** IDEMPOTENT - idempotent, but may have side effects */
364
+ MethodOptions_IdempotencyLevel[MethodOptions_IdempotencyLevel["IDEMPOTENT"] = 2] = "IDEMPOTENT";
365
+ MethodOptions_IdempotencyLevel[MethodOptions_IdempotencyLevel["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
366
+ })(MethodOptions_IdempotencyLevel = exports.MethodOptions_IdempotencyLevel || (exports.MethodOptions_IdempotencyLevel = {}));
367
+ exports.MethodOptions_IdempotencyLevelSDKType = MethodOptions_IdempotencyLevel;
368
+ function methodOptions_IdempotencyLevelFromJSON(object) {
369
+ switch (object) {
370
+ case 0:
371
+ case "IDEMPOTENCY_UNKNOWN":
372
+ return MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN;
373
+ case 1:
374
+ case "NO_SIDE_EFFECTS":
375
+ return MethodOptions_IdempotencyLevel.NO_SIDE_EFFECTS;
376
+ case 2:
377
+ case "IDEMPOTENT":
378
+ return MethodOptions_IdempotencyLevel.IDEMPOTENT;
379
+ case -1:
380
+ case "UNRECOGNIZED":
381
+ default:
382
+ return MethodOptions_IdempotencyLevel.UNRECOGNIZED;
383
+ }
384
+ }
385
+ exports.methodOptions_IdempotencyLevelFromJSON = methodOptions_IdempotencyLevelFromJSON;
386
+ function methodOptions_IdempotencyLevelToJSON(object) {
387
+ switch (object) {
388
+ case MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN:
389
+ return "IDEMPOTENCY_UNKNOWN";
390
+ case MethodOptions_IdempotencyLevel.NO_SIDE_EFFECTS:
391
+ return "NO_SIDE_EFFECTS";
392
+ case MethodOptions_IdempotencyLevel.IDEMPOTENT:
393
+ return "IDEMPOTENT";
394
+ case MethodOptions_IdempotencyLevel.UNRECOGNIZED:
395
+ default:
396
+ return "UNRECOGNIZED";
397
+ }
398
+ }
399
+ exports.methodOptions_IdempotencyLevelToJSON = methodOptions_IdempotencyLevelToJSON;
400
+ function createBaseFileDescriptorSet() {
401
+ return {
402
+ file: []
403
+ };
404
+ }
405
+ exports.FileDescriptorSet = {
406
+ encode(message, writer = _m0.Writer.create()) {
407
+ for (const v of message.file) {
408
+ exports.FileDescriptorProto.encode(v, writer.uint32(10).fork()).ldelim();
409
+ }
410
+ return writer;
411
+ },
412
+ decode(input, length) {
413
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
414
+ let end = length === undefined ? reader.len : reader.pos + length;
415
+ const message = createBaseFileDescriptorSet();
416
+ while (reader.pos < end) {
417
+ const tag = reader.uint32();
418
+ switch (tag >>> 3) {
419
+ case 1:
420
+ message.file.push(exports.FileDescriptorProto.decode(reader, reader.uint32()));
421
+ break;
422
+ default:
423
+ reader.skipType(tag & 7);
424
+ break;
425
+ }
426
+ }
427
+ return message;
428
+ },
429
+ fromJSON(object) {
430
+ return {
431
+ file: Array.isArray(object === null || object === void 0 ? void 0 : object.file) ? object.file.map((e) => exports.FileDescriptorProto.fromJSON(e)) : []
432
+ };
433
+ },
434
+ toJSON(message) {
435
+ const obj = {};
436
+ if (message.file) {
437
+ obj.file = message.file.map(e => e ? exports.FileDescriptorProto.toJSON(e) : undefined);
438
+ }
439
+ else {
440
+ obj.file = [];
441
+ }
442
+ return obj;
443
+ },
444
+ fromPartial(object) {
445
+ var _a;
446
+ const message = createBaseFileDescriptorSet();
447
+ message.file = ((_a = object.file) === null || _a === void 0 ? void 0 : _a.map(e => exports.FileDescriptorProto.fromPartial(e))) || [];
448
+ return message;
449
+ }
450
+ };
451
+ function createBaseFileDescriptorProto() {
452
+ return {
453
+ name: "",
454
+ package: "",
455
+ dependency: [],
456
+ publicDependency: [],
457
+ weakDependency: [],
458
+ messageType: [],
459
+ enumType: [],
460
+ service: [],
461
+ extension: [],
462
+ options: undefined,
463
+ sourceCodeInfo: undefined,
464
+ syntax: ""
465
+ };
466
+ }
467
+ exports.FileDescriptorProto = {
468
+ encode(message, writer = _m0.Writer.create()) {
469
+ if (message.name !== "") {
470
+ writer.uint32(10).string(message.name);
471
+ }
472
+ if (message.package !== "") {
473
+ writer.uint32(18).string(message.package);
474
+ }
475
+ for (const v of message.dependency) {
476
+ writer.uint32(26).string(v);
477
+ }
478
+ writer.uint32(82).fork();
479
+ for (const v of message.publicDependency) {
480
+ writer.int32(v);
481
+ }
482
+ writer.ldelim();
483
+ writer.uint32(90).fork();
484
+ for (const v of message.weakDependency) {
485
+ writer.int32(v);
486
+ }
487
+ writer.ldelim();
488
+ for (const v of message.messageType) {
489
+ exports.DescriptorProto.encode(v, writer.uint32(34).fork()).ldelim();
490
+ }
491
+ for (const v of message.enumType) {
492
+ exports.EnumDescriptorProto.encode(v, writer.uint32(42).fork()).ldelim();
493
+ }
494
+ for (const v of message.service) {
495
+ exports.ServiceDescriptorProto.encode(v, writer.uint32(50).fork()).ldelim();
496
+ }
497
+ for (const v of message.extension) {
498
+ exports.FieldDescriptorProto.encode(v, writer.uint32(58).fork()).ldelim();
499
+ }
500
+ if (message.options !== undefined) {
501
+ exports.FileOptions.encode(message.options, writer.uint32(66).fork()).ldelim();
502
+ }
503
+ if (message.sourceCodeInfo !== undefined) {
504
+ exports.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(74).fork()).ldelim();
505
+ }
506
+ if (message.syntax !== "") {
507
+ writer.uint32(98).string(message.syntax);
508
+ }
509
+ return writer;
510
+ },
511
+ decode(input, length) {
512
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
513
+ let end = length === undefined ? reader.len : reader.pos + length;
514
+ const message = createBaseFileDescriptorProto();
515
+ while (reader.pos < end) {
516
+ const tag = reader.uint32();
517
+ switch (tag >>> 3) {
518
+ case 1:
519
+ message.name = reader.string();
520
+ break;
521
+ case 2:
522
+ message.package = reader.string();
523
+ break;
524
+ case 3:
525
+ message.dependency.push(reader.string());
526
+ break;
527
+ case 10:
528
+ if ((tag & 7) === 2) {
529
+ const end2 = reader.uint32() + reader.pos;
530
+ while (reader.pos < end2) {
531
+ message.publicDependency.push(reader.int32());
532
+ }
533
+ }
534
+ else {
535
+ message.publicDependency.push(reader.int32());
536
+ }
537
+ break;
538
+ case 11:
539
+ if ((tag & 7) === 2) {
540
+ const end2 = reader.uint32() + reader.pos;
541
+ while (reader.pos < end2) {
542
+ message.weakDependency.push(reader.int32());
543
+ }
544
+ }
545
+ else {
546
+ message.weakDependency.push(reader.int32());
547
+ }
548
+ break;
549
+ case 4:
550
+ message.messageType.push(exports.DescriptorProto.decode(reader, reader.uint32()));
551
+ break;
552
+ case 5:
553
+ message.enumType.push(exports.EnumDescriptorProto.decode(reader, reader.uint32()));
554
+ break;
555
+ case 6:
556
+ message.service.push(exports.ServiceDescriptorProto.decode(reader, reader.uint32()));
557
+ break;
558
+ case 7:
559
+ message.extension.push(exports.FieldDescriptorProto.decode(reader, reader.uint32()));
560
+ break;
561
+ case 8:
562
+ message.options = exports.FileOptions.decode(reader, reader.uint32());
563
+ break;
564
+ case 9:
565
+ message.sourceCodeInfo = exports.SourceCodeInfo.decode(reader, reader.uint32());
566
+ break;
567
+ case 12:
568
+ message.syntax = reader.string();
569
+ break;
570
+ default:
571
+ reader.skipType(tag & 7);
572
+ break;
573
+ }
574
+ }
575
+ return message;
576
+ },
577
+ fromJSON(object) {
578
+ return {
579
+ name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "",
580
+ package: (0, helpers_1.isSet)(object.package) ? String(object.package) : "",
581
+ dependency: Array.isArray(object === null || object === void 0 ? void 0 : object.dependency) ? object.dependency.map((e) => String(e)) : [],
582
+ publicDependency: Array.isArray(object === null || object === void 0 ? void 0 : object.publicDependency) ? object.publicDependency.map((e) => Number(e)) : [],
583
+ weakDependency: Array.isArray(object === null || object === void 0 ? void 0 : object.weakDependency) ? object.weakDependency.map((e) => Number(e)) : [],
584
+ messageType: Array.isArray(object === null || object === void 0 ? void 0 : object.messageType) ? object.messageType.map((e) => exports.DescriptorProto.fromJSON(e)) : [],
585
+ enumType: Array.isArray(object === null || object === void 0 ? void 0 : object.enumType) ? object.enumType.map((e) => exports.EnumDescriptorProto.fromJSON(e)) : [],
586
+ service: Array.isArray(object === null || object === void 0 ? void 0 : object.service) ? object.service.map((e) => exports.ServiceDescriptorProto.fromJSON(e)) : [],
587
+ extension: Array.isArray(object === null || object === void 0 ? void 0 : object.extension) ? object.extension.map((e) => exports.FieldDescriptorProto.fromJSON(e)) : [],
588
+ options: (0, helpers_1.isSet)(object.options) ? exports.FileOptions.fromJSON(object.options) : undefined,
589
+ sourceCodeInfo: (0, helpers_1.isSet)(object.sourceCodeInfo) ? exports.SourceCodeInfo.fromJSON(object.sourceCodeInfo) : undefined,
590
+ syntax: (0, helpers_1.isSet)(object.syntax) ? String(object.syntax) : ""
591
+ };
592
+ },
593
+ toJSON(message) {
594
+ const obj = {};
595
+ message.name !== undefined && (obj.name = message.name);
596
+ message.package !== undefined && (obj.package = message.package);
597
+ if (message.dependency) {
598
+ obj.dependency = message.dependency.map(e => e);
599
+ }
600
+ else {
601
+ obj.dependency = [];
602
+ }
603
+ if (message.publicDependency) {
604
+ obj.publicDependency = message.publicDependency.map(e => Math.round(e));
605
+ }
606
+ else {
607
+ obj.publicDependency = [];
608
+ }
609
+ if (message.weakDependency) {
610
+ obj.weakDependency = message.weakDependency.map(e => Math.round(e));
611
+ }
612
+ else {
613
+ obj.weakDependency = [];
614
+ }
615
+ if (message.messageType) {
616
+ obj.messageType = message.messageType.map(e => e ? exports.DescriptorProto.toJSON(e) : undefined);
617
+ }
618
+ else {
619
+ obj.messageType = [];
620
+ }
621
+ if (message.enumType) {
622
+ obj.enumType = message.enumType.map(e => e ? exports.EnumDescriptorProto.toJSON(e) : undefined);
623
+ }
624
+ else {
625
+ obj.enumType = [];
626
+ }
627
+ if (message.service) {
628
+ obj.service = message.service.map(e => e ? exports.ServiceDescriptorProto.toJSON(e) : undefined);
629
+ }
630
+ else {
631
+ obj.service = [];
632
+ }
633
+ if (message.extension) {
634
+ obj.extension = message.extension.map(e => e ? exports.FieldDescriptorProto.toJSON(e) : undefined);
635
+ }
636
+ else {
637
+ obj.extension = [];
638
+ }
639
+ message.options !== undefined && (obj.options = message.options ? exports.FileOptions.toJSON(message.options) : undefined);
640
+ message.sourceCodeInfo !== undefined && (obj.sourceCodeInfo = message.sourceCodeInfo ? exports.SourceCodeInfo.toJSON(message.sourceCodeInfo) : undefined);
641
+ message.syntax !== undefined && (obj.syntax = message.syntax);
642
+ return obj;
643
+ },
644
+ fromPartial(object) {
645
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
646
+ const message = createBaseFileDescriptorProto();
647
+ message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
648
+ message.package = (_b = object.package) !== null && _b !== void 0 ? _b : "";
649
+ message.dependency = ((_c = object.dependency) === null || _c === void 0 ? void 0 : _c.map(e => e)) || [];
650
+ message.publicDependency = ((_d = object.publicDependency) === null || _d === void 0 ? void 0 : _d.map(e => e)) || [];
651
+ message.weakDependency = ((_e = object.weakDependency) === null || _e === void 0 ? void 0 : _e.map(e => e)) || [];
652
+ message.messageType = ((_f = object.messageType) === null || _f === void 0 ? void 0 : _f.map(e => exports.DescriptorProto.fromPartial(e))) || [];
653
+ message.enumType = ((_g = object.enumType) === null || _g === void 0 ? void 0 : _g.map(e => exports.EnumDescriptorProto.fromPartial(e))) || [];
654
+ message.service = ((_h = object.service) === null || _h === void 0 ? void 0 : _h.map(e => exports.ServiceDescriptorProto.fromPartial(e))) || [];
655
+ message.extension = ((_j = object.extension) === null || _j === void 0 ? void 0 : _j.map(e => exports.FieldDescriptorProto.fromPartial(e))) || [];
656
+ message.options = object.options !== undefined && object.options !== null ? exports.FileOptions.fromPartial(object.options) : undefined;
657
+ message.sourceCodeInfo = object.sourceCodeInfo !== undefined && object.sourceCodeInfo !== null ? exports.SourceCodeInfo.fromPartial(object.sourceCodeInfo) : undefined;
658
+ message.syntax = (_k = object.syntax) !== null && _k !== void 0 ? _k : "";
659
+ return message;
660
+ }
661
+ };
662
+ function createBaseDescriptorProto() {
663
+ return {
664
+ name: "",
665
+ field: [],
666
+ extension: [],
667
+ nestedType: [],
668
+ enumType: [],
669
+ extensionRange: [],
670
+ oneofDecl: [],
671
+ options: undefined,
672
+ reservedRange: [],
673
+ reservedName: []
674
+ };
675
+ }
676
+ exports.DescriptorProto = {
677
+ encode(message, writer = _m0.Writer.create()) {
678
+ if (message.name !== "") {
679
+ writer.uint32(10).string(message.name);
680
+ }
681
+ for (const v of message.field) {
682
+ exports.FieldDescriptorProto.encode(v, writer.uint32(18).fork()).ldelim();
683
+ }
684
+ for (const v of message.extension) {
685
+ exports.FieldDescriptorProto.encode(v, writer.uint32(50).fork()).ldelim();
686
+ }
687
+ for (const v of message.nestedType) {
688
+ exports.DescriptorProto.encode(v, writer.uint32(26).fork()).ldelim();
689
+ }
690
+ for (const v of message.enumType) {
691
+ exports.EnumDescriptorProto.encode(v, writer.uint32(34).fork()).ldelim();
692
+ }
693
+ for (const v of message.extensionRange) {
694
+ exports.DescriptorProto_ExtensionRange.encode(v, writer.uint32(42).fork()).ldelim();
695
+ }
696
+ for (const v of message.oneofDecl) {
697
+ exports.OneofDescriptorProto.encode(v, writer.uint32(66).fork()).ldelim();
698
+ }
699
+ if (message.options !== undefined) {
700
+ exports.MessageOptions.encode(message.options, writer.uint32(58).fork()).ldelim();
701
+ }
702
+ for (const v of message.reservedRange) {
703
+ exports.DescriptorProto_ReservedRange.encode(v, writer.uint32(74).fork()).ldelim();
704
+ }
705
+ for (const v of message.reservedName) {
706
+ writer.uint32(82).string(v);
707
+ }
708
+ return writer;
709
+ },
710
+ decode(input, length) {
711
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
712
+ let end = length === undefined ? reader.len : reader.pos + length;
713
+ const message = createBaseDescriptorProto();
714
+ while (reader.pos < end) {
715
+ const tag = reader.uint32();
716
+ switch (tag >>> 3) {
717
+ case 1:
718
+ message.name = reader.string();
719
+ break;
720
+ case 2:
721
+ message.field.push(exports.FieldDescriptorProto.decode(reader, reader.uint32()));
722
+ break;
723
+ case 6:
724
+ message.extension.push(exports.FieldDescriptorProto.decode(reader, reader.uint32()));
725
+ break;
726
+ case 3:
727
+ message.nestedType.push(exports.DescriptorProto.decode(reader, reader.uint32()));
728
+ break;
729
+ case 4:
730
+ message.enumType.push(exports.EnumDescriptorProto.decode(reader, reader.uint32()));
731
+ break;
732
+ case 5:
733
+ message.extensionRange.push(exports.DescriptorProto_ExtensionRange.decode(reader, reader.uint32()));
734
+ break;
735
+ case 8:
736
+ message.oneofDecl.push(exports.OneofDescriptorProto.decode(reader, reader.uint32()));
737
+ break;
738
+ case 7:
739
+ message.options = exports.MessageOptions.decode(reader, reader.uint32());
740
+ break;
741
+ case 9:
742
+ message.reservedRange.push(exports.DescriptorProto_ReservedRange.decode(reader, reader.uint32()));
743
+ break;
744
+ case 10:
745
+ message.reservedName.push(reader.string());
746
+ break;
747
+ default:
748
+ reader.skipType(tag & 7);
749
+ break;
750
+ }
751
+ }
752
+ return message;
753
+ },
754
+ fromJSON(object) {
755
+ return {
756
+ name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "",
757
+ field: Array.isArray(object === null || object === void 0 ? void 0 : object.field) ? object.field.map((e) => exports.FieldDescriptorProto.fromJSON(e)) : [],
758
+ extension: Array.isArray(object === null || object === void 0 ? void 0 : object.extension) ? object.extension.map((e) => exports.FieldDescriptorProto.fromJSON(e)) : [],
759
+ nestedType: Array.isArray(object === null || object === void 0 ? void 0 : object.nestedType) ? object.nestedType.map((e) => exports.DescriptorProto.fromJSON(e)) : [],
760
+ enumType: Array.isArray(object === null || object === void 0 ? void 0 : object.enumType) ? object.enumType.map((e) => exports.EnumDescriptorProto.fromJSON(e)) : [],
761
+ extensionRange: Array.isArray(object === null || object === void 0 ? void 0 : object.extensionRange) ? object.extensionRange.map((e) => exports.DescriptorProto_ExtensionRange.fromJSON(e)) : [],
762
+ oneofDecl: Array.isArray(object === null || object === void 0 ? void 0 : object.oneofDecl) ? object.oneofDecl.map((e) => exports.OneofDescriptorProto.fromJSON(e)) : [],
763
+ options: (0, helpers_1.isSet)(object.options) ? exports.MessageOptions.fromJSON(object.options) : undefined,
764
+ reservedRange: Array.isArray(object === null || object === void 0 ? void 0 : object.reservedRange) ? object.reservedRange.map((e) => exports.DescriptorProto_ReservedRange.fromJSON(e)) : [],
765
+ reservedName: Array.isArray(object === null || object === void 0 ? void 0 : object.reservedName) ? object.reservedName.map((e) => String(e)) : []
766
+ };
767
+ },
768
+ toJSON(message) {
769
+ const obj = {};
770
+ message.name !== undefined && (obj.name = message.name);
771
+ if (message.field) {
772
+ obj.field = message.field.map(e => e ? exports.FieldDescriptorProto.toJSON(e) : undefined);
773
+ }
774
+ else {
775
+ obj.field = [];
776
+ }
777
+ if (message.extension) {
778
+ obj.extension = message.extension.map(e => e ? exports.FieldDescriptorProto.toJSON(e) : undefined);
779
+ }
780
+ else {
781
+ obj.extension = [];
782
+ }
783
+ if (message.nestedType) {
784
+ obj.nestedType = message.nestedType.map(e => e ? exports.DescriptorProto.toJSON(e) : undefined);
785
+ }
786
+ else {
787
+ obj.nestedType = [];
788
+ }
789
+ if (message.enumType) {
790
+ obj.enumType = message.enumType.map(e => e ? exports.EnumDescriptorProto.toJSON(e) : undefined);
791
+ }
792
+ else {
793
+ obj.enumType = [];
794
+ }
795
+ if (message.extensionRange) {
796
+ obj.extensionRange = message.extensionRange.map(e => e ? exports.DescriptorProto_ExtensionRange.toJSON(e) : undefined);
797
+ }
798
+ else {
799
+ obj.extensionRange = [];
800
+ }
801
+ if (message.oneofDecl) {
802
+ obj.oneofDecl = message.oneofDecl.map(e => e ? exports.OneofDescriptorProto.toJSON(e) : undefined);
803
+ }
804
+ else {
805
+ obj.oneofDecl = [];
806
+ }
807
+ message.options !== undefined && (obj.options = message.options ? exports.MessageOptions.toJSON(message.options) : undefined);
808
+ if (message.reservedRange) {
809
+ obj.reservedRange = message.reservedRange.map(e => e ? exports.DescriptorProto_ReservedRange.toJSON(e) : undefined);
810
+ }
811
+ else {
812
+ obj.reservedRange = [];
813
+ }
814
+ if (message.reservedName) {
815
+ obj.reservedName = message.reservedName.map(e => e);
816
+ }
817
+ else {
818
+ obj.reservedName = [];
819
+ }
820
+ return obj;
821
+ },
822
+ fromPartial(object) {
823
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
824
+ const message = createBaseDescriptorProto();
825
+ message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
826
+ message.field = ((_b = object.field) === null || _b === void 0 ? void 0 : _b.map(e => exports.FieldDescriptorProto.fromPartial(e))) || [];
827
+ message.extension = ((_c = object.extension) === null || _c === void 0 ? void 0 : _c.map(e => exports.FieldDescriptorProto.fromPartial(e))) || [];
828
+ message.nestedType = ((_d = object.nestedType) === null || _d === void 0 ? void 0 : _d.map(e => exports.DescriptorProto.fromPartial(e))) || [];
829
+ message.enumType = ((_e = object.enumType) === null || _e === void 0 ? void 0 : _e.map(e => exports.EnumDescriptorProto.fromPartial(e))) || [];
830
+ message.extensionRange = ((_f = object.extensionRange) === null || _f === void 0 ? void 0 : _f.map(e => exports.DescriptorProto_ExtensionRange.fromPartial(e))) || [];
831
+ message.oneofDecl = ((_g = object.oneofDecl) === null || _g === void 0 ? void 0 : _g.map(e => exports.OneofDescriptorProto.fromPartial(e))) || [];
832
+ message.options = object.options !== undefined && object.options !== null ? exports.MessageOptions.fromPartial(object.options) : undefined;
833
+ message.reservedRange = ((_h = object.reservedRange) === null || _h === void 0 ? void 0 : _h.map(e => exports.DescriptorProto_ReservedRange.fromPartial(e))) || [];
834
+ message.reservedName = ((_j = object.reservedName) === null || _j === void 0 ? void 0 : _j.map(e => e)) || [];
835
+ return message;
836
+ }
837
+ };
838
+ function createBaseDescriptorProto_ExtensionRange() {
839
+ return {
840
+ start: 0,
841
+ end: 0,
842
+ options: undefined
843
+ };
844
+ }
845
+ exports.DescriptorProto_ExtensionRange = {
846
+ encode(message, writer = _m0.Writer.create()) {
847
+ if (message.start !== 0) {
848
+ writer.uint32(8).int32(message.start);
849
+ }
850
+ if (message.end !== 0) {
851
+ writer.uint32(16).int32(message.end);
852
+ }
853
+ if (message.options !== undefined) {
854
+ exports.ExtensionRangeOptions.encode(message.options, writer.uint32(26).fork()).ldelim();
855
+ }
856
+ return writer;
857
+ },
858
+ decode(input, length) {
859
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
860
+ let end = length === undefined ? reader.len : reader.pos + length;
861
+ const message = createBaseDescriptorProto_ExtensionRange();
862
+ while (reader.pos < end) {
863
+ const tag = reader.uint32();
864
+ switch (tag >>> 3) {
865
+ case 1:
866
+ message.start = reader.int32();
867
+ break;
868
+ case 2:
869
+ message.end = reader.int32();
870
+ break;
871
+ case 3:
872
+ message.options = exports.ExtensionRangeOptions.decode(reader, reader.uint32());
873
+ break;
874
+ default:
875
+ reader.skipType(tag & 7);
876
+ break;
877
+ }
878
+ }
879
+ return message;
880
+ },
881
+ fromJSON(object) {
882
+ return {
883
+ start: (0, helpers_1.isSet)(object.start) ? Number(object.start) : 0,
884
+ end: (0, helpers_1.isSet)(object.end) ? Number(object.end) : 0,
885
+ options: (0, helpers_1.isSet)(object.options) ? exports.ExtensionRangeOptions.fromJSON(object.options) : undefined
886
+ };
887
+ },
888
+ toJSON(message) {
889
+ const obj = {};
890
+ message.start !== undefined && (obj.start = Math.round(message.start));
891
+ message.end !== undefined && (obj.end = Math.round(message.end));
892
+ message.options !== undefined && (obj.options = message.options ? exports.ExtensionRangeOptions.toJSON(message.options) : undefined);
893
+ return obj;
894
+ },
895
+ fromPartial(object) {
896
+ var _a, _b;
897
+ const message = createBaseDescriptorProto_ExtensionRange();
898
+ message.start = (_a = object.start) !== null && _a !== void 0 ? _a : 0;
899
+ message.end = (_b = object.end) !== null && _b !== void 0 ? _b : 0;
900
+ message.options = object.options !== undefined && object.options !== null ? exports.ExtensionRangeOptions.fromPartial(object.options) : undefined;
901
+ return message;
902
+ }
903
+ };
904
+ function createBaseDescriptorProto_ReservedRange() {
905
+ return {
906
+ start: 0,
907
+ end: 0
908
+ };
909
+ }
910
+ exports.DescriptorProto_ReservedRange = {
911
+ encode(message, writer = _m0.Writer.create()) {
912
+ if (message.start !== 0) {
913
+ writer.uint32(8).int32(message.start);
914
+ }
915
+ if (message.end !== 0) {
916
+ writer.uint32(16).int32(message.end);
917
+ }
918
+ return writer;
919
+ },
920
+ decode(input, length) {
921
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
922
+ let end = length === undefined ? reader.len : reader.pos + length;
923
+ const message = createBaseDescriptorProto_ReservedRange();
924
+ while (reader.pos < end) {
925
+ const tag = reader.uint32();
926
+ switch (tag >>> 3) {
927
+ case 1:
928
+ message.start = reader.int32();
929
+ break;
930
+ case 2:
931
+ message.end = reader.int32();
932
+ break;
933
+ default:
934
+ reader.skipType(tag & 7);
935
+ break;
936
+ }
937
+ }
938
+ return message;
939
+ },
940
+ fromJSON(object) {
941
+ return {
942
+ start: (0, helpers_1.isSet)(object.start) ? Number(object.start) : 0,
943
+ end: (0, helpers_1.isSet)(object.end) ? Number(object.end) : 0
944
+ };
945
+ },
946
+ toJSON(message) {
947
+ const obj = {};
948
+ message.start !== undefined && (obj.start = Math.round(message.start));
949
+ message.end !== undefined && (obj.end = Math.round(message.end));
950
+ return obj;
951
+ },
952
+ fromPartial(object) {
953
+ var _a, _b;
954
+ const message = createBaseDescriptorProto_ReservedRange();
955
+ message.start = (_a = object.start) !== null && _a !== void 0 ? _a : 0;
956
+ message.end = (_b = object.end) !== null && _b !== void 0 ? _b : 0;
957
+ return message;
958
+ }
959
+ };
960
+ function createBaseExtensionRangeOptions() {
961
+ return {
962
+ uninterpretedOption: []
963
+ };
964
+ }
965
+ exports.ExtensionRangeOptions = {
966
+ encode(message, writer = _m0.Writer.create()) {
967
+ for (const v of message.uninterpretedOption) {
968
+ exports.UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
969
+ }
970
+ return writer;
971
+ },
972
+ decode(input, length) {
973
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
974
+ let end = length === undefined ? reader.len : reader.pos + length;
975
+ const message = createBaseExtensionRangeOptions();
976
+ while (reader.pos < end) {
977
+ const tag = reader.uint32();
978
+ switch (tag >>> 3) {
979
+ case 999:
980
+ message.uninterpretedOption.push(exports.UninterpretedOption.decode(reader, reader.uint32()));
981
+ break;
982
+ default:
983
+ reader.skipType(tag & 7);
984
+ break;
985
+ }
986
+ }
987
+ return message;
988
+ },
989
+ fromJSON(object) {
990
+ return {
991
+ uninterpretedOption: Array.isArray(object === null || object === void 0 ? void 0 : object.uninterpretedOption) ? object.uninterpretedOption.map((e) => exports.UninterpretedOption.fromJSON(e)) : []
992
+ };
993
+ },
994
+ toJSON(message) {
995
+ const obj = {};
996
+ if (message.uninterpretedOption) {
997
+ obj.uninterpretedOption = message.uninterpretedOption.map(e => e ? exports.UninterpretedOption.toJSON(e) : undefined);
998
+ }
999
+ else {
1000
+ obj.uninterpretedOption = [];
1001
+ }
1002
+ return obj;
1003
+ },
1004
+ fromPartial(object) {
1005
+ var _a;
1006
+ const message = createBaseExtensionRangeOptions();
1007
+ message.uninterpretedOption = ((_a = object.uninterpretedOption) === null || _a === void 0 ? void 0 : _a.map(e => exports.UninterpretedOption.fromPartial(e))) || [];
1008
+ return message;
1009
+ }
1010
+ };
1011
+ function createBaseFieldDescriptorProto() {
1012
+ return {
1013
+ name: "",
1014
+ number: 0,
1015
+ label: 1,
1016
+ type: 1,
1017
+ typeName: "",
1018
+ extendee: "",
1019
+ defaultValue: "",
1020
+ oneofIndex: 0,
1021
+ jsonName: "",
1022
+ options: undefined
1023
+ };
1024
+ }
1025
+ exports.FieldDescriptorProto = {
1026
+ encode(message, writer = _m0.Writer.create()) {
1027
+ if (message.name !== "") {
1028
+ writer.uint32(10).string(message.name);
1029
+ }
1030
+ if (message.number !== 0) {
1031
+ writer.uint32(24).int32(message.number);
1032
+ }
1033
+ if (message.label !== 1) {
1034
+ writer.uint32(32).int32(message.label);
1035
+ }
1036
+ if (message.type !== 1) {
1037
+ writer.uint32(40).int32(message.type);
1038
+ }
1039
+ if (message.typeName !== "") {
1040
+ writer.uint32(50).string(message.typeName);
1041
+ }
1042
+ if (message.extendee !== "") {
1043
+ writer.uint32(18).string(message.extendee);
1044
+ }
1045
+ if (message.defaultValue !== "") {
1046
+ writer.uint32(58).string(message.defaultValue);
1047
+ }
1048
+ if (message.oneofIndex !== 0) {
1049
+ writer.uint32(72).int32(message.oneofIndex);
1050
+ }
1051
+ if (message.jsonName !== "") {
1052
+ writer.uint32(82).string(message.jsonName);
1053
+ }
1054
+ if (message.options !== undefined) {
1055
+ exports.FieldOptions.encode(message.options, writer.uint32(66).fork()).ldelim();
1056
+ }
1057
+ return writer;
1058
+ },
1059
+ decode(input, length) {
1060
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1061
+ let end = length === undefined ? reader.len : reader.pos + length;
1062
+ const message = createBaseFieldDescriptorProto();
1063
+ while (reader.pos < end) {
1064
+ const tag = reader.uint32();
1065
+ switch (tag >>> 3) {
1066
+ case 1:
1067
+ message.name = reader.string();
1068
+ break;
1069
+ case 3:
1070
+ message.number = reader.int32();
1071
+ break;
1072
+ case 4:
1073
+ message.label = reader.int32();
1074
+ break;
1075
+ case 5:
1076
+ message.type = reader.int32();
1077
+ break;
1078
+ case 6:
1079
+ message.typeName = reader.string();
1080
+ break;
1081
+ case 2:
1082
+ message.extendee = reader.string();
1083
+ break;
1084
+ case 7:
1085
+ message.defaultValue = reader.string();
1086
+ break;
1087
+ case 9:
1088
+ message.oneofIndex = reader.int32();
1089
+ break;
1090
+ case 10:
1091
+ message.jsonName = reader.string();
1092
+ break;
1093
+ case 8:
1094
+ message.options = exports.FieldOptions.decode(reader, reader.uint32());
1095
+ break;
1096
+ default:
1097
+ reader.skipType(tag & 7);
1098
+ break;
1099
+ }
1100
+ }
1101
+ return message;
1102
+ },
1103
+ fromJSON(object) {
1104
+ return {
1105
+ name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "",
1106
+ number: (0, helpers_1.isSet)(object.number) ? Number(object.number) : 0,
1107
+ label: (0, helpers_1.isSet)(object.label) ? fieldDescriptorProto_LabelFromJSON(object.label) : 0,
1108
+ type: (0, helpers_1.isSet)(object.type) ? fieldDescriptorProto_TypeFromJSON(object.type) : 0,
1109
+ typeName: (0, helpers_1.isSet)(object.typeName) ? String(object.typeName) : "",
1110
+ extendee: (0, helpers_1.isSet)(object.extendee) ? String(object.extendee) : "",
1111
+ defaultValue: (0, helpers_1.isSet)(object.defaultValue) ? String(object.defaultValue) : "",
1112
+ oneofIndex: (0, helpers_1.isSet)(object.oneofIndex) ? Number(object.oneofIndex) : 0,
1113
+ jsonName: (0, helpers_1.isSet)(object.jsonName) ? String(object.jsonName) : "",
1114
+ options: (0, helpers_1.isSet)(object.options) ? exports.FieldOptions.fromJSON(object.options) : undefined
1115
+ };
1116
+ },
1117
+ toJSON(message) {
1118
+ const obj = {};
1119
+ message.name !== undefined && (obj.name = message.name);
1120
+ message.number !== undefined && (obj.number = Math.round(message.number));
1121
+ message.label !== undefined && (obj.label = fieldDescriptorProto_LabelToJSON(message.label));
1122
+ message.type !== undefined && (obj.type = fieldDescriptorProto_TypeToJSON(message.type));
1123
+ message.typeName !== undefined && (obj.typeName = message.typeName);
1124
+ message.extendee !== undefined && (obj.extendee = message.extendee);
1125
+ message.defaultValue !== undefined && (obj.defaultValue = message.defaultValue);
1126
+ message.oneofIndex !== undefined && (obj.oneofIndex = Math.round(message.oneofIndex));
1127
+ message.jsonName !== undefined && (obj.jsonName = message.jsonName);
1128
+ message.options !== undefined && (obj.options = message.options ? exports.FieldOptions.toJSON(message.options) : undefined);
1129
+ return obj;
1130
+ },
1131
+ fromPartial(object) {
1132
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1133
+ const message = createBaseFieldDescriptorProto();
1134
+ message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
1135
+ message.number = (_b = object.number) !== null && _b !== void 0 ? _b : 0;
1136
+ message.label = (_c = object.label) !== null && _c !== void 0 ? _c : 1;
1137
+ message.type = (_d = object.type) !== null && _d !== void 0 ? _d : 1;
1138
+ message.typeName = (_e = object.typeName) !== null && _e !== void 0 ? _e : "";
1139
+ message.extendee = (_f = object.extendee) !== null && _f !== void 0 ? _f : "";
1140
+ message.defaultValue = (_g = object.defaultValue) !== null && _g !== void 0 ? _g : "";
1141
+ message.oneofIndex = (_h = object.oneofIndex) !== null && _h !== void 0 ? _h : 0;
1142
+ message.jsonName = (_j = object.jsonName) !== null && _j !== void 0 ? _j : "";
1143
+ message.options = object.options !== undefined && object.options !== null ? exports.FieldOptions.fromPartial(object.options) : undefined;
1144
+ return message;
1145
+ }
1146
+ };
1147
+ function createBaseOneofDescriptorProto() {
1148
+ return {
1149
+ name: "",
1150
+ options: undefined
1151
+ };
1152
+ }
1153
+ exports.OneofDescriptorProto = {
1154
+ encode(message, writer = _m0.Writer.create()) {
1155
+ if (message.name !== "") {
1156
+ writer.uint32(10).string(message.name);
1157
+ }
1158
+ if (message.options !== undefined) {
1159
+ exports.OneofOptions.encode(message.options, writer.uint32(18).fork()).ldelim();
1160
+ }
1161
+ return writer;
1162
+ },
1163
+ decode(input, length) {
1164
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1165
+ let end = length === undefined ? reader.len : reader.pos + length;
1166
+ const message = createBaseOneofDescriptorProto();
1167
+ while (reader.pos < end) {
1168
+ const tag = reader.uint32();
1169
+ switch (tag >>> 3) {
1170
+ case 1:
1171
+ message.name = reader.string();
1172
+ break;
1173
+ case 2:
1174
+ message.options = exports.OneofOptions.decode(reader, reader.uint32());
1175
+ break;
1176
+ default:
1177
+ reader.skipType(tag & 7);
1178
+ break;
1179
+ }
1180
+ }
1181
+ return message;
1182
+ },
1183
+ fromJSON(object) {
1184
+ return {
1185
+ name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "",
1186
+ options: (0, helpers_1.isSet)(object.options) ? exports.OneofOptions.fromJSON(object.options) : undefined
1187
+ };
1188
+ },
1189
+ toJSON(message) {
1190
+ const obj = {};
1191
+ message.name !== undefined && (obj.name = message.name);
1192
+ message.options !== undefined && (obj.options = message.options ? exports.OneofOptions.toJSON(message.options) : undefined);
1193
+ return obj;
1194
+ },
1195
+ fromPartial(object) {
1196
+ var _a;
1197
+ const message = createBaseOneofDescriptorProto();
1198
+ message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
1199
+ message.options = object.options !== undefined && object.options !== null ? exports.OneofOptions.fromPartial(object.options) : undefined;
1200
+ return message;
1201
+ }
1202
+ };
1203
+ function createBaseEnumDescriptorProto() {
1204
+ return {
1205
+ name: "",
1206
+ value: [],
1207
+ options: undefined,
1208
+ reservedRange: [],
1209
+ reservedName: []
1210
+ };
1211
+ }
1212
+ exports.EnumDescriptorProto = {
1213
+ encode(message, writer = _m0.Writer.create()) {
1214
+ if (message.name !== "") {
1215
+ writer.uint32(10).string(message.name);
1216
+ }
1217
+ for (const v of message.value) {
1218
+ exports.EnumValueDescriptorProto.encode(v, writer.uint32(18).fork()).ldelim();
1219
+ }
1220
+ if (message.options !== undefined) {
1221
+ exports.EnumOptions.encode(message.options, writer.uint32(26).fork()).ldelim();
1222
+ }
1223
+ for (const v of message.reservedRange) {
1224
+ exports.EnumDescriptorProto_EnumReservedRange.encode(v, writer.uint32(34).fork()).ldelim();
1225
+ }
1226
+ for (const v of message.reservedName) {
1227
+ writer.uint32(42).string(v);
1228
+ }
1229
+ return writer;
1230
+ },
1231
+ decode(input, length) {
1232
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1233
+ let end = length === undefined ? reader.len : reader.pos + length;
1234
+ const message = createBaseEnumDescriptorProto();
1235
+ while (reader.pos < end) {
1236
+ const tag = reader.uint32();
1237
+ switch (tag >>> 3) {
1238
+ case 1:
1239
+ message.name = reader.string();
1240
+ break;
1241
+ case 2:
1242
+ message.value.push(exports.EnumValueDescriptorProto.decode(reader, reader.uint32()));
1243
+ break;
1244
+ case 3:
1245
+ message.options = exports.EnumOptions.decode(reader, reader.uint32());
1246
+ break;
1247
+ case 4:
1248
+ message.reservedRange.push(exports.EnumDescriptorProto_EnumReservedRange.decode(reader, reader.uint32()));
1249
+ break;
1250
+ case 5:
1251
+ message.reservedName.push(reader.string());
1252
+ break;
1253
+ default:
1254
+ reader.skipType(tag & 7);
1255
+ break;
1256
+ }
1257
+ }
1258
+ return message;
1259
+ },
1260
+ fromJSON(object) {
1261
+ return {
1262
+ name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "",
1263
+ value: Array.isArray(object === null || object === void 0 ? void 0 : object.value) ? object.value.map((e) => exports.EnumValueDescriptorProto.fromJSON(e)) : [],
1264
+ options: (0, helpers_1.isSet)(object.options) ? exports.EnumOptions.fromJSON(object.options) : undefined,
1265
+ reservedRange: Array.isArray(object === null || object === void 0 ? void 0 : object.reservedRange) ? object.reservedRange.map((e) => exports.EnumDescriptorProto_EnumReservedRange.fromJSON(e)) : [],
1266
+ reservedName: Array.isArray(object === null || object === void 0 ? void 0 : object.reservedName) ? object.reservedName.map((e) => String(e)) : []
1267
+ };
1268
+ },
1269
+ toJSON(message) {
1270
+ const obj = {};
1271
+ message.name !== undefined && (obj.name = message.name);
1272
+ if (message.value) {
1273
+ obj.value = message.value.map(e => e ? exports.EnumValueDescriptorProto.toJSON(e) : undefined);
1274
+ }
1275
+ else {
1276
+ obj.value = [];
1277
+ }
1278
+ message.options !== undefined && (obj.options = message.options ? exports.EnumOptions.toJSON(message.options) : undefined);
1279
+ if (message.reservedRange) {
1280
+ obj.reservedRange = message.reservedRange.map(e => e ? exports.EnumDescriptorProto_EnumReservedRange.toJSON(e) : undefined);
1281
+ }
1282
+ else {
1283
+ obj.reservedRange = [];
1284
+ }
1285
+ if (message.reservedName) {
1286
+ obj.reservedName = message.reservedName.map(e => e);
1287
+ }
1288
+ else {
1289
+ obj.reservedName = [];
1290
+ }
1291
+ return obj;
1292
+ },
1293
+ fromPartial(object) {
1294
+ var _a, _b, _c, _d;
1295
+ const message = createBaseEnumDescriptorProto();
1296
+ message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
1297
+ message.value = ((_b = object.value) === null || _b === void 0 ? void 0 : _b.map(e => exports.EnumValueDescriptorProto.fromPartial(e))) || [];
1298
+ message.options = object.options !== undefined && object.options !== null ? exports.EnumOptions.fromPartial(object.options) : undefined;
1299
+ message.reservedRange = ((_c = object.reservedRange) === null || _c === void 0 ? void 0 : _c.map(e => exports.EnumDescriptorProto_EnumReservedRange.fromPartial(e))) || [];
1300
+ message.reservedName = ((_d = object.reservedName) === null || _d === void 0 ? void 0 : _d.map(e => e)) || [];
1301
+ return message;
1302
+ }
1303
+ };
1304
+ function createBaseEnumDescriptorProto_EnumReservedRange() {
1305
+ return {
1306
+ start: 0,
1307
+ end: 0
1308
+ };
1309
+ }
1310
+ exports.EnumDescriptorProto_EnumReservedRange = {
1311
+ encode(message, writer = _m0.Writer.create()) {
1312
+ if (message.start !== 0) {
1313
+ writer.uint32(8).int32(message.start);
1314
+ }
1315
+ if (message.end !== 0) {
1316
+ writer.uint32(16).int32(message.end);
1317
+ }
1318
+ return writer;
1319
+ },
1320
+ decode(input, length) {
1321
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1322
+ let end = length === undefined ? reader.len : reader.pos + length;
1323
+ const message = createBaseEnumDescriptorProto_EnumReservedRange();
1324
+ while (reader.pos < end) {
1325
+ const tag = reader.uint32();
1326
+ switch (tag >>> 3) {
1327
+ case 1:
1328
+ message.start = reader.int32();
1329
+ break;
1330
+ case 2:
1331
+ message.end = reader.int32();
1332
+ break;
1333
+ default:
1334
+ reader.skipType(tag & 7);
1335
+ break;
1336
+ }
1337
+ }
1338
+ return message;
1339
+ },
1340
+ fromJSON(object) {
1341
+ return {
1342
+ start: (0, helpers_1.isSet)(object.start) ? Number(object.start) : 0,
1343
+ end: (0, helpers_1.isSet)(object.end) ? Number(object.end) : 0
1344
+ };
1345
+ },
1346
+ toJSON(message) {
1347
+ const obj = {};
1348
+ message.start !== undefined && (obj.start = Math.round(message.start));
1349
+ message.end !== undefined && (obj.end = Math.round(message.end));
1350
+ return obj;
1351
+ },
1352
+ fromPartial(object) {
1353
+ var _a, _b;
1354
+ const message = createBaseEnumDescriptorProto_EnumReservedRange();
1355
+ message.start = (_a = object.start) !== null && _a !== void 0 ? _a : 0;
1356
+ message.end = (_b = object.end) !== null && _b !== void 0 ? _b : 0;
1357
+ return message;
1358
+ }
1359
+ };
1360
+ function createBaseEnumValueDescriptorProto() {
1361
+ return {
1362
+ name: "",
1363
+ number: 0,
1364
+ options: undefined
1365
+ };
1366
+ }
1367
+ exports.EnumValueDescriptorProto = {
1368
+ encode(message, writer = _m0.Writer.create()) {
1369
+ if (message.name !== "") {
1370
+ writer.uint32(10).string(message.name);
1371
+ }
1372
+ if (message.number !== 0) {
1373
+ writer.uint32(16).int32(message.number);
1374
+ }
1375
+ if (message.options !== undefined) {
1376
+ exports.EnumValueOptions.encode(message.options, writer.uint32(26).fork()).ldelim();
1377
+ }
1378
+ return writer;
1379
+ },
1380
+ decode(input, length) {
1381
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1382
+ let end = length === undefined ? reader.len : reader.pos + length;
1383
+ const message = createBaseEnumValueDescriptorProto();
1384
+ while (reader.pos < end) {
1385
+ const tag = reader.uint32();
1386
+ switch (tag >>> 3) {
1387
+ case 1:
1388
+ message.name = reader.string();
1389
+ break;
1390
+ case 2:
1391
+ message.number = reader.int32();
1392
+ break;
1393
+ case 3:
1394
+ message.options = exports.EnumValueOptions.decode(reader, reader.uint32());
1395
+ break;
1396
+ default:
1397
+ reader.skipType(tag & 7);
1398
+ break;
1399
+ }
1400
+ }
1401
+ return message;
1402
+ },
1403
+ fromJSON(object) {
1404
+ return {
1405
+ name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "",
1406
+ number: (0, helpers_1.isSet)(object.number) ? Number(object.number) : 0,
1407
+ options: (0, helpers_1.isSet)(object.options) ? exports.EnumValueOptions.fromJSON(object.options) : undefined
1408
+ };
1409
+ },
1410
+ toJSON(message) {
1411
+ const obj = {};
1412
+ message.name !== undefined && (obj.name = message.name);
1413
+ message.number !== undefined && (obj.number = Math.round(message.number));
1414
+ message.options !== undefined && (obj.options = message.options ? exports.EnumValueOptions.toJSON(message.options) : undefined);
1415
+ return obj;
1416
+ },
1417
+ fromPartial(object) {
1418
+ var _a, _b;
1419
+ const message = createBaseEnumValueDescriptorProto();
1420
+ message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
1421
+ message.number = (_b = object.number) !== null && _b !== void 0 ? _b : 0;
1422
+ message.options = object.options !== undefined && object.options !== null ? exports.EnumValueOptions.fromPartial(object.options) : undefined;
1423
+ return message;
1424
+ }
1425
+ };
1426
+ function createBaseServiceDescriptorProto() {
1427
+ return {
1428
+ name: "",
1429
+ method: [],
1430
+ options: undefined
1431
+ };
1432
+ }
1433
+ exports.ServiceDescriptorProto = {
1434
+ encode(message, writer = _m0.Writer.create()) {
1435
+ if (message.name !== "") {
1436
+ writer.uint32(10).string(message.name);
1437
+ }
1438
+ for (const v of message.method) {
1439
+ exports.MethodDescriptorProto.encode(v, writer.uint32(18).fork()).ldelim();
1440
+ }
1441
+ if (message.options !== undefined) {
1442
+ exports.ServiceOptions.encode(message.options, writer.uint32(26).fork()).ldelim();
1443
+ }
1444
+ return writer;
1445
+ },
1446
+ decode(input, length) {
1447
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1448
+ let end = length === undefined ? reader.len : reader.pos + length;
1449
+ const message = createBaseServiceDescriptorProto();
1450
+ while (reader.pos < end) {
1451
+ const tag = reader.uint32();
1452
+ switch (tag >>> 3) {
1453
+ case 1:
1454
+ message.name = reader.string();
1455
+ break;
1456
+ case 2:
1457
+ message.method.push(exports.MethodDescriptorProto.decode(reader, reader.uint32()));
1458
+ break;
1459
+ case 3:
1460
+ message.options = exports.ServiceOptions.decode(reader, reader.uint32());
1461
+ break;
1462
+ default:
1463
+ reader.skipType(tag & 7);
1464
+ break;
1465
+ }
1466
+ }
1467
+ return message;
1468
+ },
1469
+ fromJSON(object) {
1470
+ return {
1471
+ name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "",
1472
+ method: Array.isArray(object === null || object === void 0 ? void 0 : object.method) ? object.method.map((e) => exports.MethodDescriptorProto.fromJSON(e)) : [],
1473
+ options: (0, helpers_1.isSet)(object.options) ? exports.ServiceOptions.fromJSON(object.options) : undefined
1474
+ };
1475
+ },
1476
+ toJSON(message) {
1477
+ const obj = {};
1478
+ message.name !== undefined && (obj.name = message.name);
1479
+ if (message.method) {
1480
+ obj.method = message.method.map(e => e ? exports.MethodDescriptorProto.toJSON(e) : undefined);
1481
+ }
1482
+ else {
1483
+ obj.method = [];
1484
+ }
1485
+ message.options !== undefined && (obj.options = message.options ? exports.ServiceOptions.toJSON(message.options) : undefined);
1486
+ return obj;
1487
+ },
1488
+ fromPartial(object) {
1489
+ var _a, _b;
1490
+ const message = createBaseServiceDescriptorProto();
1491
+ message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
1492
+ message.method = ((_b = object.method) === null || _b === void 0 ? void 0 : _b.map(e => exports.MethodDescriptorProto.fromPartial(e))) || [];
1493
+ message.options = object.options !== undefined && object.options !== null ? exports.ServiceOptions.fromPartial(object.options) : undefined;
1494
+ return message;
1495
+ }
1496
+ };
1497
+ function createBaseMethodDescriptorProto() {
1498
+ return {
1499
+ name: "",
1500
+ inputType: "",
1501
+ outputType: "",
1502
+ options: undefined,
1503
+ clientStreaming: false,
1504
+ serverStreaming: false
1505
+ };
1506
+ }
1507
+ exports.MethodDescriptorProto = {
1508
+ encode(message, writer = _m0.Writer.create()) {
1509
+ if (message.name !== "") {
1510
+ writer.uint32(10).string(message.name);
1511
+ }
1512
+ if (message.inputType !== "") {
1513
+ writer.uint32(18).string(message.inputType);
1514
+ }
1515
+ if (message.outputType !== "") {
1516
+ writer.uint32(26).string(message.outputType);
1517
+ }
1518
+ if (message.options !== undefined) {
1519
+ exports.MethodOptions.encode(message.options, writer.uint32(34).fork()).ldelim();
1520
+ }
1521
+ if (message.clientStreaming === true) {
1522
+ writer.uint32(40).bool(message.clientStreaming);
1523
+ }
1524
+ if (message.serverStreaming === true) {
1525
+ writer.uint32(48).bool(message.serverStreaming);
1526
+ }
1527
+ return writer;
1528
+ },
1529
+ decode(input, length) {
1530
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1531
+ let end = length === undefined ? reader.len : reader.pos + length;
1532
+ const message = createBaseMethodDescriptorProto();
1533
+ while (reader.pos < end) {
1534
+ const tag = reader.uint32();
1535
+ switch (tag >>> 3) {
1536
+ case 1:
1537
+ message.name = reader.string();
1538
+ break;
1539
+ case 2:
1540
+ message.inputType = reader.string();
1541
+ break;
1542
+ case 3:
1543
+ message.outputType = reader.string();
1544
+ break;
1545
+ case 4:
1546
+ message.options = exports.MethodOptions.decode(reader, reader.uint32());
1547
+ break;
1548
+ case 5:
1549
+ message.clientStreaming = reader.bool();
1550
+ break;
1551
+ case 6:
1552
+ message.serverStreaming = reader.bool();
1553
+ break;
1554
+ default:
1555
+ reader.skipType(tag & 7);
1556
+ break;
1557
+ }
1558
+ }
1559
+ return message;
1560
+ },
1561
+ fromJSON(object) {
1562
+ return {
1563
+ name: (0, helpers_1.isSet)(object.name) ? String(object.name) : "",
1564
+ inputType: (0, helpers_1.isSet)(object.inputType) ? String(object.inputType) : "",
1565
+ outputType: (0, helpers_1.isSet)(object.outputType) ? String(object.outputType) : "",
1566
+ options: (0, helpers_1.isSet)(object.options) ? exports.MethodOptions.fromJSON(object.options) : undefined,
1567
+ clientStreaming: (0, helpers_1.isSet)(object.clientStreaming) ? Boolean(object.clientStreaming) : false,
1568
+ serverStreaming: (0, helpers_1.isSet)(object.serverStreaming) ? Boolean(object.serverStreaming) : false
1569
+ };
1570
+ },
1571
+ toJSON(message) {
1572
+ const obj = {};
1573
+ message.name !== undefined && (obj.name = message.name);
1574
+ message.inputType !== undefined && (obj.inputType = message.inputType);
1575
+ message.outputType !== undefined && (obj.outputType = message.outputType);
1576
+ message.options !== undefined && (obj.options = message.options ? exports.MethodOptions.toJSON(message.options) : undefined);
1577
+ message.clientStreaming !== undefined && (obj.clientStreaming = message.clientStreaming);
1578
+ message.serverStreaming !== undefined && (obj.serverStreaming = message.serverStreaming);
1579
+ return obj;
1580
+ },
1581
+ fromPartial(object) {
1582
+ var _a, _b, _c, _d, _e;
1583
+ const message = createBaseMethodDescriptorProto();
1584
+ message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
1585
+ message.inputType = (_b = object.inputType) !== null && _b !== void 0 ? _b : "";
1586
+ message.outputType = (_c = object.outputType) !== null && _c !== void 0 ? _c : "";
1587
+ message.options = object.options !== undefined && object.options !== null ? exports.MethodOptions.fromPartial(object.options) : undefined;
1588
+ message.clientStreaming = (_d = object.clientStreaming) !== null && _d !== void 0 ? _d : false;
1589
+ message.serverStreaming = (_e = object.serverStreaming) !== null && _e !== void 0 ? _e : false;
1590
+ return message;
1591
+ }
1592
+ };
1593
+ function createBaseFileOptions() {
1594
+ return {
1595
+ javaPackage: "",
1596
+ javaOuterClassname: "",
1597
+ javaMultipleFiles: false,
1598
+ javaGenerateEqualsAndHash: false,
1599
+ javaStringCheckUtf8: false,
1600
+ optimizeFor: 1,
1601
+ goPackage: "",
1602
+ ccGenericServices: false,
1603
+ javaGenericServices: false,
1604
+ pyGenericServices: false,
1605
+ phpGenericServices: false,
1606
+ deprecated: false,
1607
+ ccEnableArenas: false,
1608
+ objcClassPrefix: "",
1609
+ csharpNamespace: "",
1610
+ swiftPrefix: "",
1611
+ phpClassPrefix: "",
1612
+ phpNamespace: "",
1613
+ phpMetadataNamespace: "",
1614
+ rubyPackage: "",
1615
+ uninterpretedOption: []
1616
+ };
1617
+ }
1618
+ exports.FileOptions = {
1619
+ encode(message, writer = _m0.Writer.create()) {
1620
+ if (message.javaPackage !== "") {
1621
+ writer.uint32(10).string(message.javaPackage);
1622
+ }
1623
+ if (message.javaOuterClassname !== "") {
1624
+ writer.uint32(66).string(message.javaOuterClassname);
1625
+ }
1626
+ if (message.javaMultipleFiles === true) {
1627
+ writer.uint32(80).bool(message.javaMultipleFiles);
1628
+ }
1629
+ if (message.javaGenerateEqualsAndHash === true) {
1630
+ writer.uint32(160).bool(message.javaGenerateEqualsAndHash);
1631
+ }
1632
+ if (message.javaStringCheckUtf8 === true) {
1633
+ writer.uint32(216).bool(message.javaStringCheckUtf8);
1634
+ }
1635
+ if (message.optimizeFor !== 1) {
1636
+ writer.uint32(72).int32(message.optimizeFor);
1637
+ }
1638
+ if (message.goPackage !== "") {
1639
+ writer.uint32(90).string(message.goPackage);
1640
+ }
1641
+ if (message.ccGenericServices === true) {
1642
+ writer.uint32(128).bool(message.ccGenericServices);
1643
+ }
1644
+ if (message.javaGenericServices === true) {
1645
+ writer.uint32(136).bool(message.javaGenericServices);
1646
+ }
1647
+ if (message.pyGenericServices === true) {
1648
+ writer.uint32(144).bool(message.pyGenericServices);
1649
+ }
1650
+ if (message.phpGenericServices === true) {
1651
+ writer.uint32(336).bool(message.phpGenericServices);
1652
+ }
1653
+ if (message.deprecated === true) {
1654
+ writer.uint32(184).bool(message.deprecated);
1655
+ }
1656
+ if (message.ccEnableArenas === true) {
1657
+ writer.uint32(248).bool(message.ccEnableArenas);
1658
+ }
1659
+ if (message.objcClassPrefix !== "") {
1660
+ writer.uint32(290).string(message.objcClassPrefix);
1661
+ }
1662
+ if (message.csharpNamespace !== "") {
1663
+ writer.uint32(298).string(message.csharpNamespace);
1664
+ }
1665
+ if (message.swiftPrefix !== "") {
1666
+ writer.uint32(314).string(message.swiftPrefix);
1667
+ }
1668
+ if (message.phpClassPrefix !== "") {
1669
+ writer.uint32(322).string(message.phpClassPrefix);
1670
+ }
1671
+ if (message.phpNamespace !== "") {
1672
+ writer.uint32(330).string(message.phpNamespace);
1673
+ }
1674
+ if (message.phpMetadataNamespace !== "") {
1675
+ writer.uint32(354).string(message.phpMetadataNamespace);
1676
+ }
1677
+ if (message.rubyPackage !== "") {
1678
+ writer.uint32(362).string(message.rubyPackage);
1679
+ }
1680
+ for (const v of message.uninterpretedOption) {
1681
+ exports.UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
1682
+ }
1683
+ return writer;
1684
+ },
1685
+ decode(input, length) {
1686
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1687
+ let end = length === undefined ? reader.len : reader.pos + length;
1688
+ const message = createBaseFileOptions();
1689
+ while (reader.pos < end) {
1690
+ const tag = reader.uint32();
1691
+ switch (tag >>> 3) {
1692
+ case 1:
1693
+ message.javaPackage = reader.string();
1694
+ break;
1695
+ case 8:
1696
+ message.javaOuterClassname = reader.string();
1697
+ break;
1698
+ case 10:
1699
+ message.javaMultipleFiles = reader.bool();
1700
+ break;
1701
+ case 20:
1702
+ message.javaGenerateEqualsAndHash = reader.bool();
1703
+ break;
1704
+ case 27:
1705
+ message.javaStringCheckUtf8 = reader.bool();
1706
+ break;
1707
+ case 9:
1708
+ message.optimizeFor = reader.int32();
1709
+ break;
1710
+ case 11:
1711
+ message.goPackage = reader.string();
1712
+ break;
1713
+ case 16:
1714
+ message.ccGenericServices = reader.bool();
1715
+ break;
1716
+ case 17:
1717
+ message.javaGenericServices = reader.bool();
1718
+ break;
1719
+ case 18:
1720
+ message.pyGenericServices = reader.bool();
1721
+ break;
1722
+ case 42:
1723
+ message.phpGenericServices = reader.bool();
1724
+ break;
1725
+ case 23:
1726
+ message.deprecated = reader.bool();
1727
+ break;
1728
+ case 31:
1729
+ message.ccEnableArenas = reader.bool();
1730
+ break;
1731
+ case 36:
1732
+ message.objcClassPrefix = reader.string();
1733
+ break;
1734
+ case 37:
1735
+ message.csharpNamespace = reader.string();
1736
+ break;
1737
+ case 39:
1738
+ message.swiftPrefix = reader.string();
1739
+ break;
1740
+ case 40:
1741
+ message.phpClassPrefix = reader.string();
1742
+ break;
1743
+ case 41:
1744
+ message.phpNamespace = reader.string();
1745
+ break;
1746
+ case 44:
1747
+ message.phpMetadataNamespace = reader.string();
1748
+ break;
1749
+ case 45:
1750
+ message.rubyPackage = reader.string();
1751
+ break;
1752
+ case 999:
1753
+ message.uninterpretedOption.push(exports.UninterpretedOption.decode(reader, reader.uint32()));
1754
+ break;
1755
+ default:
1756
+ reader.skipType(tag & 7);
1757
+ break;
1758
+ }
1759
+ }
1760
+ return message;
1761
+ },
1762
+ fromJSON(object) {
1763
+ return {
1764
+ javaPackage: (0, helpers_1.isSet)(object.javaPackage) ? String(object.javaPackage) : "",
1765
+ javaOuterClassname: (0, helpers_1.isSet)(object.javaOuterClassname) ? String(object.javaOuterClassname) : "",
1766
+ javaMultipleFiles: (0, helpers_1.isSet)(object.javaMultipleFiles) ? Boolean(object.javaMultipleFiles) : false,
1767
+ javaGenerateEqualsAndHash: (0, helpers_1.isSet)(object.javaGenerateEqualsAndHash) ? Boolean(object.javaGenerateEqualsAndHash) : false,
1768
+ javaStringCheckUtf8: (0, helpers_1.isSet)(object.javaStringCheckUtf8) ? Boolean(object.javaStringCheckUtf8) : false,
1769
+ optimizeFor: (0, helpers_1.isSet)(object.optimizeFor) ? fileOptions_OptimizeModeFromJSON(object.optimizeFor) : 0,
1770
+ goPackage: (0, helpers_1.isSet)(object.goPackage) ? String(object.goPackage) : "",
1771
+ ccGenericServices: (0, helpers_1.isSet)(object.ccGenericServices) ? Boolean(object.ccGenericServices) : false,
1772
+ javaGenericServices: (0, helpers_1.isSet)(object.javaGenericServices) ? Boolean(object.javaGenericServices) : false,
1773
+ pyGenericServices: (0, helpers_1.isSet)(object.pyGenericServices) ? Boolean(object.pyGenericServices) : false,
1774
+ phpGenericServices: (0, helpers_1.isSet)(object.phpGenericServices) ? Boolean(object.phpGenericServices) : false,
1775
+ deprecated: (0, helpers_1.isSet)(object.deprecated) ? Boolean(object.deprecated) : false,
1776
+ ccEnableArenas: (0, helpers_1.isSet)(object.ccEnableArenas) ? Boolean(object.ccEnableArenas) : false,
1777
+ objcClassPrefix: (0, helpers_1.isSet)(object.objcClassPrefix) ? String(object.objcClassPrefix) : "",
1778
+ csharpNamespace: (0, helpers_1.isSet)(object.csharpNamespace) ? String(object.csharpNamespace) : "",
1779
+ swiftPrefix: (0, helpers_1.isSet)(object.swiftPrefix) ? String(object.swiftPrefix) : "",
1780
+ phpClassPrefix: (0, helpers_1.isSet)(object.phpClassPrefix) ? String(object.phpClassPrefix) : "",
1781
+ phpNamespace: (0, helpers_1.isSet)(object.phpNamespace) ? String(object.phpNamespace) : "",
1782
+ phpMetadataNamespace: (0, helpers_1.isSet)(object.phpMetadataNamespace) ? String(object.phpMetadataNamespace) : "",
1783
+ rubyPackage: (0, helpers_1.isSet)(object.rubyPackage) ? String(object.rubyPackage) : "",
1784
+ uninterpretedOption: Array.isArray(object === null || object === void 0 ? void 0 : object.uninterpretedOption) ? object.uninterpretedOption.map((e) => exports.UninterpretedOption.fromJSON(e)) : []
1785
+ };
1786
+ },
1787
+ toJSON(message) {
1788
+ const obj = {};
1789
+ message.javaPackage !== undefined && (obj.javaPackage = message.javaPackage);
1790
+ message.javaOuterClassname !== undefined && (obj.javaOuterClassname = message.javaOuterClassname);
1791
+ message.javaMultipleFiles !== undefined && (obj.javaMultipleFiles = message.javaMultipleFiles);
1792
+ message.javaGenerateEqualsAndHash !== undefined && (obj.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash);
1793
+ message.javaStringCheckUtf8 !== undefined && (obj.javaStringCheckUtf8 = message.javaStringCheckUtf8);
1794
+ message.optimizeFor !== undefined && (obj.optimizeFor = fileOptions_OptimizeModeToJSON(message.optimizeFor));
1795
+ message.goPackage !== undefined && (obj.goPackage = message.goPackage);
1796
+ message.ccGenericServices !== undefined && (obj.ccGenericServices = message.ccGenericServices);
1797
+ message.javaGenericServices !== undefined && (obj.javaGenericServices = message.javaGenericServices);
1798
+ message.pyGenericServices !== undefined && (obj.pyGenericServices = message.pyGenericServices);
1799
+ message.phpGenericServices !== undefined && (obj.phpGenericServices = message.phpGenericServices);
1800
+ message.deprecated !== undefined && (obj.deprecated = message.deprecated);
1801
+ message.ccEnableArenas !== undefined && (obj.ccEnableArenas = message.ccEnableArenas);
1802
+ message.objcClassPrefix !== undefined && (obj.objcClassPrefix = message.objcClassPrefix);
1803
+ message.csharpNamespace !== undefined && (obj.csharpNamespace = message.csharpNamespace);
1804
+ message.swiftPrefix !== undefined && (obj.swiftPrefix = message.swiftPrefix);
1805
+ message.phpClassPrefix !== undefined && (obj.phpClassPrefix = message.phpClassPrefix);
1806
+ message.phpNamespace !== undefined && (obj.phpNamespace = message.phpNamespace);
1807
+ message.phpMetadataNamespace !== undefined && (obj.phpMetadataNamespace = message.phpMetadataNamespace);
1808
+ message.rubyPackage !== undefined && (obj.rubyPackage = message.rubyPackage);
1809
+ if (message.uninterpretedOption) {
1810
+ obj.uninterpretedOption = message.uninterpretedOption.map(e => e ? exports.UninterpretedOption.toJSON(e) : undefined);
1811
+ }
1812
+ else {
1813
+ obj.uninterpretedOption = [];
1814
+ }
1815
+ return obj;
1816
+ },
1817
+ fromPartial(object) {
1818
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
1819
+ const message = createBaseFileOptions();
1820
+ message.javaPackage = (_a = object.javaPackage) !== null && _a !== void 0 ? _a : "";
1821
+ message.javaOuterClassname = (_b = object.javaOuterClassname) !== null && _b !== void 0 ? _b : "";
1822
+ message.javaMultipleFiles = (_c = object.javaMultipleFiles) !== null && _c !== void 0 ? _c : false;
1823
+ message.javaGenerateEqualsAndHash = (_d = object.javaGenerateEqualsAndHash) !== null && _d !== void 0 ? _d : false;
1824
+ message.javaStringCheckUtf8 = (_e = object.javaStringCheckUtf8) !== null && _e !== void 0 ? _e : false;
1825
+ message.optimizeFor = (_f = object.optimizeFor) !== null && _f !== void 0 ? _f : 1;
1826
+ message.goPackage = (_g = object.goPackage) !== null && _g !== void 0 ? _g : "";
1827
+ message.ccGenericServices = (_h = object.ccGenericServices) !== null && _h !== void 0 ? _h : false;
1828
+ message.javaGenericServices = (_j = object.javaGenericServices) !== null && _j !== void 0 ? _j : false;
1829
+ message.pyGenericServices = (_k = object.pyGenericServices) !== null && _k !== void 0 ? _k : false;
1830
+ message.phpGenericServices = (_l = object.phpGenericServices) !== null && _l !== void 0 ? _l : false;
1831
+ message.deprecated = (_m = object.deprecated) !== null && _m !== void 0 ? _m : false;
1832
+ message.ccEnableArenas = (_o = object.ccEnableArenas) !== null && _o !== void 0 ? _o : false;
1833
+ message.objcClassPrefix = (_p = object.objcClassPrefix) !== null && _p !== void 0 ? _p : "";
1834
+ message.csharpNamespace = (_q = object.csharpNamespace) !== null && _q !== void 0 ? _q : "";
1835
+ message.swiftPrefix = (_r = object.swiftPrefix) !== null && _r !== void 0 ? _r : "";
1836
+ message.phpClassPrefix = (_s = object.phpClassPrefix) !== null && _s !== void 0 ? _s : "";
1837
+ message.phpNamespace = (_t = object.phpNamespace) !== null && _t !== void 0 ? _t : "";
1838
+ message.phpMetadataNamespace = (_u = object.phpMetadataNamespace) !== null && _u !== void 0 ? _u : "";
1839
+ message.rubyPackage = (_v = object.rubyPackage) !== null && _v !== void 0 ? _v : "";
1840
+ message.uninterpretedOption = ((_w = object.uninterpretedOption) === null || _w === void 0 ? void 0 : _w.map(e => exports.UninterpretedOption.fromPartial(e))) || [];
1841
+ return message;
1842
+ }
1843
+ };
1844
+ function createBaseMessageOptions() {
1845
+ return {
1846
+ messageSetWireFormat: false,
1847
+ noStandardDescriptorAccessor: false,
1848
+ deprecated: false,
1849
+ mapEntry: false,
1850
+ uninterpretedOption: []
1851
+ };
1852
+ }
1853
+ exports.MessageOptions = {
1854
+ encode(message, writer = _m0.Writer.create()) {
1855
+ if (message.messageSetWireFormat === true) {
1856
+ writer.uint32(8).bool(message.messageSetWireFormat);
1857
+ }
1858
+ if (message.noStandardDescriptorAccessor === true) {
1859
+ writer.uint32(16).bool(message.noStandardDescriptorAccessor);
1860
+ }
1861
+ if (message.deprecated === true) {
1862
+ writer.uint32(24).bool(message.deprecated);
1863
+ }
1864
+ if (message.mapEntry === true) {
1865
+ writer.uint32(56).bool(message.mapEntry);
1866
+ }
1867
+ for (const v of message.uninterpretedOption) {
1868
+ exports.UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
1869
+ }
1870
+ return writer;
1871
+ },
1872
+ decode(input, length) {
1873
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1874
+ let end = length === undefined ? reader.len : reader.pos + length;
1875
+ const message = createBaseMessageOptions();
1876
+ while (reader.pos < end) {
1877
+ const tag = reader.uint32();
1878
+ switch (tag >>> 3) {
1879
+ case 1:
1880
+ message.messageSetWireFormat = reader.bool();
1881
+ break;
1882
+ case 2:
1883
+ message.noStandardDescriptorAccessor = reader.bool();
1884
+ break;
1885
+ case 3:
1886
+ message.deprecated = reader.bool();
1887
+ break;
1888
+ case 7:
1889
+ message.mapEntry = reader.bool();
1890
+ break;
1891
+ case 999:
1892
+ message.uninterpretedOption.push(exports.UninterpretedOption.decode(reader, reader.uint32()));
1893
+ break;
1894
+ default:
1895
+ reader.skipType(tag & 7);
1896
+ break;
1897
+ }
1898
+ }
1899
+ return message;
1900
+ },
1901
+ fromJSON(object) {
1902
+ return {
1903
+ messageSetWireFormat: (0, helpers_1.isSet)(object.messageSetWireFormat) ? Boolean(object.messageSetWireFormat) : false,
1904
+ noStandardDescriptorAccessor: (0, helpers_1.isSet)(object.noStandardDescriptorAccessor) ? Boolean(object.noStandardDescriptorAccessor) : false,
1905
+ deprecated: (0, helpers_1.isSet)(object.deprecated) ? Boolean(object.deprecated) : false,
1906
+ mapEntry: (0, helpers_1.isSet)(object.mapEntry) ? Boolean(object.mapEntry) : false,
1907
+ uninterpretedOption: Array.isArray(object === null || object === void 0 ? void 0 : object.uninterpretedOption) ? object.uninterpretedOption.map((e) => exports.UninterpretedOption.fromJSON(e)) : []
1908
+ };
1909
+ },
1910
+ toJSON(message) {
1911
+ const obj = {};
1912
+ message.messageSetWireFormat !== undefined && (obj.messageSetWireFormat = message.messageSetWireFormat);
1913
+ message.noStandardDescriptorAccessor !== undefined && (obj.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor);
1914
+ message.deprecated !== undefined && (obj.deprecated = message.deprecated);
1915
+ message.mapEntry !== undefined && (obj.mapEntry = message.mapEntry);
1916
+ if (message.uninterpretedOption) {
1917
+ obj.uninterpretedOption = message.uninterpretedOption.map(e => e ? exports.UninterpretedOption.toJSON(e) : undefined);
1918
+ }
1919
+ else {
1920
+ obj.uninterpretedOption = [];
1921
+ }
1922
+ return obj;
1923
+ },
1924
+ fromPartial(object) {
1925
+ var _a, _b, _c, _d, _e;
1926
+ const message = createBaseMessageOptions();
1927
+ message.messageSetWireFormat = (_a = object.messageSetWireFormat) !== null && _a !== void 0 ? _a : false;
1928
+ message.noStandardDescriptorAccessor = (_b = object.noStandardDescriptorAccessor) !== null && _b !== void 0 ? _b : false;
1929
+ message.deprecated = (_c = object.deprecated) !== null && _c !== void 0 ? _c : false;
1930
+ message.mapEntry = (_d = object.mapEntry) !== null && _d !== void 0 ? _d : false;
1931
+ message.uninterpretedOption = ((_e = object.uninterpretedOption) === null || _e === void 0 ? void 0 : _e.map(e => exports.UninterpretedOption.fromPartial(e))) || [];
1932
+ return message;
1933
+ }
1934
+ };
1935
+ function createBaseFieldOptions() {
1936
+ return {
1937
+ ctype: 1,
1938
+ packed: false,
1939
+ jstype: 1,
1940
+ lazy: false,
1941
+ deprecated: false,
1942
+ weak: false,
1943
+ uninterpretedOption: []
1944
+ };
1945
+ }
1946
+ exports.FieldOptions = {
1947
+ encode(message, writer = _m0.Writer.create()) {
1948
+ if (message.ctype !== 1) {
1949
+ writer.uint32(8).int32(message.ctype);
1950
+ }
1951
+ if (message.packed === true) {
1952
+ writer.uint32(16).bool(message.packed);
1953
+ }
1954
+ if (message.jstype !== 1) {
1955
+ writer.uint32(48).int32(message.jstype);
1956
+ }
1957
+ if (message.lazy === true) {
1958
+ writer.uint32(40).bool(message.lazy);
1959
+ }
1960
+ if (message.deprecated === true) {
1961
+ writer.uint32(24).bool(message.deprecated);
1962
+ }
1963
+ if (message.weak === true) {
1964
+ writer.uint32(80).bool(message.weak);
1965
+ }
1966
+ for (const v of message.uninterpretedOption) {
1967
+ exports.UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
1968
+ }
1969
+ return writer;
1970
+ },
1971
+ decode(input, length) {
1972
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1973
+ let end = length === undefined ? reader.len : reader.pos + length;
1974
+ const message = createBaseFieldOptions();
1975
+ while (reader.pos < end) {
1976
+ const tag = reader.uint32();
1977
+ switch (tag >>> 3) {
1978
+ case 1:
1979
+ message.ctype = reader.int32();
1980
+ break;
1981
+ case 2:
1982
+ message.packed = reader.bool();
1983
+ break;
1984
+ case 6:
1985
+ message.jstype = reader.int32();
1986
+ break;
1987
+ case 5:
1988
+ message.lazy = reader.bool();
1989
+ break;
1990
+ case 3:
1991
+ message.deprecated = reader.bool();
1992
+ break;
1993
+ case 10:
1994
+ message.weak = reader.bool();
1995
+ break;
1996
+ case 999:
1997
+ message.uninterpretedOption.push(exports.UninterpretedOption.decode(reader, reader.uint32()));
1998
+ break;
1999
+ default:
2000
+ reader.skipType(tag & 7);
2001
+ break;
2002
+ }
2003
+ }
2004
+ return message;
2005
+ },
2006
+ fromJSON(object) {
2007
+ return {
2008
+ ctype: (0, helpers_1.isSet)(object.ctype) ? fieldOptions_CTypeFromJSON(object.ctype) : 0,
2009
+ packed: (0, helpers_1.isSet)(object.packed) ? Boolean(object.packed) : false,
2010
+ jstype: (0, helpers_1.isSet)(object.jstype) ? fieldOptions_JSTypeFromJSON(object.jstype) : 0,
2011
+ lazy: (0, helpers_1.isSet)(object.lazy) ? Boolean(object.lazy) : false,
2012
+ deprecated: (0, helpers_1.isSet)(object.deprecated) ? Boolean(object.deprecated) : false,
2013
+ weak: (0, helpers_1.isSet)(object.weak) ? Boolean(object.weak) : false,
2014
+ uninterpretedOption: Array.isArray(object === null || object === void 0 ? void 0 : object.uninterpretedOption) ? object.uninterpretedOption.map((e) => exports.UninterpretedOption.fromJSON(e)) : []
2015
+ };
2016
+ },
2017
+ toJSON(message) {
2018
+ const obj = {};
2019
+ message.ctype !== undefined && (obj.ctype = fieldOptions_CTypeToJSON(message.ctype));
2020
+ message.packed !== undefined && (obj.packed = message.packed);
2021
+ message.jstype !== undefined && (obj.jstype = fieldOptions_JSTypeToJSON(message.jstype));
2022
+ message.lazy !== undefined && (obj.lazy = message.lazy);
2023
+ message.deprecated !== undefined && (obj.deprecated = message.deprecated);
2024
+ message.weak !== undefined && (obj.weak = message.weak);
2025
+ if (message.uninterpretedOption) {
2026
+ obj.uninterpretedOption = message.uninterpretedOption.map(e => e ? exports.UninterpretedOption.toJSON(e) : undefined);
2027
+ }
2028
+ else {
2029
+ obj.uninterpretedOption = [];
2030
+ }
2031
+ return obj;
2032
+ },
2033
+ fromPartial(object) {
2034
+ var _a, _b, _c, _d, _e, _f, _g;
2035
+ const message = createBaseFieldOptions();
2036
+ message.ctype = (_a = object.ctype) !== null && _a !== void 0 ? _a : 1;
2037
+ message.packed = (_b = object.packed) !== null && _b !== void 0 ? _b : false;
2038
+ message.jstype = (_c = object.jstype) !== null && _c !== void 0 ? _c : 1;
2039
+ message.lazy = (_d = object.lazy) !== null && _d !== void 0 ? _d : false;
2040
+ message.deprecated = (_e = object.deprecated) !== null && _e !== void 0 ? _e : false;
2041
+ message.weak = (_f = object.weak) !== null && _f !== void 0 ? _f : false;
2042
+ message.uninterpretedOption = ((_g = object.uninterpretedOption) === null || _g === void 0 ? void 0 : _g.map(e => exports.UninterpretedOption.fromPartial(e))) || [];
2043
+ return message;
2044
+ }
2045
+ };
2046
+ function createBaseOneofOptions() {
2047
+ return {
2048
+ uninterpretedOption: []
2049
+ };
2050
+ }
2051
+ exports.OneofOptions = {
2052
+ encode(message, writer = _m0.Writer.create()) {
2053
+ for (const v of message.uninterpretedOption) {
2054
+ exports.UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
2055
+ }
2056
+ return writer;
2057
+ },
2058
+ decode(input, length) {
2059
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2060
+ let end = length === undefined ? reader.len : reader.pos + length;
2061
+ const message = createBaseOneofOptions();
2062
+ while (reader.pos < end) {
2063
+ const tag = reader.uint32();
2064
+ switch (tag >>> 3) {
2065
+ case 999:
2066
+ message.uninterpretedOption.push(exports.UninterpretedOption.decode(reader, reader.uint32()));
2067
+ break;
2068
+ default:
2069
+ reader.skipType(tag & 7);
2070
+ break;
2071
+ }
2072
+ }
2073
+ return message;
2074
+ },
2075
+ fromJSON(object) {
2076
+ return {
2077
+ uninterpretedOption: Array.isArray(object === null || object === void 0 ? void 0 : object.uninterpretedOption) ? object.uninterpretedOption.map((e) => exports.UninterpretedOption.fromJSON(e)) : []
2078
+ };
2079
+ },
2080
+ toJSON(message) {
2081
+ const obj = {};
2082
+ if (message.uninterpretedOption) {
2083
+ obj.uninterpretedOption = message.uninterpretedOption.map(e => e ? exports.UninterpretedOption.toJSON(e) : undefined);
2084
+ }
2085
+ else {
2086
+ obj.uninterpretedOption = [];
2087
+ }
2088
+ return obj;
2089
+ },
2090
+ fromPartial(object) {
2091
+ var _a;
2092
+ const message = createBaseOneofOptions();
2093
+ message.uninterpretedOption = ((_a = object.uninterpretedOption) === null || _a === void 0 ? void 0 : _a.map(e => exports.UninterpretedOption.fromPartial(e))) || [];
2094
+ return message;
2095
+ }
2096
+ };
2097
+ function createBaseEnumOptions() {
2098
+ return {
2099
+ allowAlias: false,
2100
+ deprecated: false,
2101
+ uninterpretedOption: []
2102
+ };
2103
+ }
2104
+ exports.EnumOptions = {
2105
+ encode(message, writer = _m0.Writer.create()) {
2106
+ if (message.allowAlias === true) {
2107
+ writer.uint32(16).bool(message.allowAlias);
2108
+ }
2109
+ if (message.deprecated === true) {
2110
+ writer.uint32(24).bool(message.deprecated);
2111
+ }
2112
+ for (const v of message.uninterpretedOption) {
2113
+ exports.UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
2114
+ }
2115
+ return writer;
2116
+ },
2117
+ decode(input, length) {
2118
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2119
+ let end = length === undefined ? reader.len : reader.pos + length;
2120
+ const message = createBaseEnumOptions();
2121
+ while (reader.pos < end) {
2122
+ const tag = reader.uint32();
2123
+ switch (tag >>> 3) {
2124
+ case 2:
2125
+ message.allowAlias = reader.bool();
2126
+ break;
2127
+ case 3:
2128
+ message.deprecated = reader.bool();
2129
+ break;
2130
+ case 999:
2131
+ message.uninterpretedOption.push(exports.UninterpretedOption.decode(reader, reader.uint32()));
2132
+ break;
2133
+ default:
2134
+ reader.skipType(tag & 7);
2135
+ break;
2136
+ }
2137
+ }
2138
+ return message;
2139
+ },
2140
+ fromJSON(object) {
2141
+ return {
2142
+ allowAlias: (0, helpers_1.isSet)(object.allowAlias) ? Boolean(object.allowAlias) : false,
2143
+ deprecated: (0, helpers_1.isSet)(object.deprecated) ? Boolean(object.deprecated) : false,
2144
+ uninterpretedOption: Array.isArray(object === null || object === void 0 ? void 0 : object.uninterpretedOption) ? object.uninterpretedOption.map((e) => exports.UninterpretedOption.fromJSON(e)) : []
2145
+ };
2146
+ },
2147
+ toJSON(message) {
2148
+ const obj = {};
2149
+ message.allowAlias !== undefined && (obj.allowAlias = message.allowAlias);
2150
+ message.deprecated !== undefined && (obj.deprecated = message.deprecated);
2151
+ if (message.uninterpretedOption) {
2152
+ obj.uninterpretedOption = message.uninterpretedOption.map(e => e ? exports.UninterpretedOption.toJSON(e) : undefined);
2153
+ }
2154
+ else {
2155
+ obj.uninterpretedOption = [];
2156
+ }
2157
+ return obj;
2158
+ },
2159
+ fromPartial(object) {
2160
+ var _a, _b, _c;
2161
+ const message = createBaseEnumOptions();
2162
+ message.allowAlias = (_a = object.allowAlias) !== null && _a !== void 0 ? _a : false;
2163
+ message.deprecated = (_b = object.deprecated) !== null && _b !== void 0 ? _b : false;
2164
+ message.uninterpretedOption = ((_c = object.uninterpretedOption) === null || _c === void 0 ? void 0 : _c.map(e => exports.UninterpretedOption.fromPartial(e))) || [];
2165
+ return message;
2166
+ }
2167
+ };
2168
+ function createBaseEnumValueOptions() {
2169
+ return {
2170
+ deprecated: false,
2171
+ uninterpretedOption: []
2172
+ };
2173
+ }
2174
+ exports.EnumValueOptions = {
2175
+ encode(message, writer = _m0.Writer.create()) {
2176
+ if (message.deprecated === true) {
2177
+ writer.uint32(8).bool(message.deprecated);
2178
+ }
2179
+ for (const v of message.uninterpretedOption) {
2180
+ exports.UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
2181
+ }
2182
+ return writer;
2183
+ },
2184
+ decode(input, length) {
2185
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2186
+ let end = length === undefined ? reader.len : reader.pos + length;
2187
+ const message = createBaseEnumValueOptions();
2188
+ while (reader.pos < end) {
2189
+ const tag = reader.uint32();
2190
+ switch (tag >>> 3) {
2191
+ case 1:
2192
+ message.deprecated = reader.bool();
2193
+ break;
2194
+ case 999:
2195
+ message.uninterpretedOption.push(exports.UninterpretedOption.decode(reader, reader.uint32()));
2196
+ break;
2197
+ default:
2198
+ reader.skipType(tag & 7);
2199
+ break;
2200
+ }
2201
+ }
2202
+ return message;
2203
+ },
2204
+ fromJSON(object) {
2205
+ return {
2206
+ deprecated: (0, helpers_1.isSet)(object.deprecated) ? Boolean(object.deprecated) : false,
2207
+ uninterpretedOption: Array.isArray(object === null || object === void 0 ? void 0 : object.uninterpretedOption) ? object.uninterpretedOption.map((e) => exports.UninterpretedOption.fromJSON(e)) : []
2208
+ };
2209
+ },
2210
+ toJSON(message) {
2211
+ const obj = {};
2212
+ message.deprecated !== undefined && (obj.deprecated = message.deprecated);
2213
+ if (message.uninterpretedOption) {
2214
+ obj.uninterpretedOption = message.uninterpretedOption.map(e => e ? exports.UninterpretedOption.toJSON(e) : undefined);
2215
+ }
2216
+ else {
2217
+ obj.uninterpretedOption = [];
2218
+ }
2219
+ return obj;
2220
+ },
2221
+ fromPartial(object) {
2222
+ var _a, _b;
2223
+ const message = createBaseEnumValueOptions();
2224
+ message.deprecated = (_a = object.deprecated) !== null && _a !== void 0 ? _a : false;
2225
+ message.uninterpretedOption = ((_b = object.uninterpretedOption) === null || _b === void 0 ? void 0 : _b.map(e => exports.UninterpretedOption.fromPartial(e))) || [];
2226
+ return message;
2227
+ }
2228
+ };
2229
+ function createBaseServiceOptions() {
2230
+ return {
2231
+ deprecated: false,
2232
+ uninterpretedOption: []
2233
+ };
2234
+ }
2235
+ exports.ServiceOptions = {
2236
+ encode(message, writer = _m0.Writer.create()) {
2237
+ if (message.deprecated === true) {
2238
+ writer.uint32(264).bool(message.deprecated);
2239
+ }
2240
+ for (const v of message.uninterpretedOption) {
2241
+ exports.UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
2242
+ }
2243
+ return writer;
2244
+ },
2245
+ decode(input, length) {
2246
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2247
+ let end = length === undefined ? reader.len : reader.pos + length;
2248
+ const message = createBaseServiceOptions();
2249
+ while (reader.pos < end) {
2250
+ const tag = reader.uint32();
2251
+ switch (tag >>> 3) {
2252
+ case 33:
2253
+ message.deprecated = reader.bool();
2254
+ break;
2255
+ case 999:
2256
+ message.uninterpretedOption.push(exports.UninterpretedOption.decode(reader, reader.uint32()));
2257
+ break;
2258
+ default:
2259
+ reader.skipType(tag & 7);
2260
+ break;
2261
+ }
2262
+ }
2263
+ return message;
2264
+ },
2265
+ fromJSON(object) {
2266
+ return {
2267
+ deprecated: (0, helpers_1.isSet)(object.deprecated) ? Boolean(object.deprecated) : false,
2268
+ uninterpretedOption: Array.isArray(object === null || object === void 0 ? void 0 : object.uninterpretedOption) ? object.uninterpretedOption.map((e) => exports.UninterpretedOption.fromJSON(e)) : []
2269
+ };
2270
+ },
2271
+ toJSON(message) {
2272
+ const obj = {};
2273
+ message.deprecated !== undefined && (obj.deprecated = message.deprecated);
2274
+ if (message.uninterpretedOption) {
2275
+ obj.uninterpretedOption = message.uninterpretedOption.map(e => e ? exports.UninterpretedOption.toJSON(e) : undefined);
2276
+ }
2277
+ else {
2278
+ obj.uninterpretedOption = [];
2279
+ }
2280
+ return obj;
2281
+ },
2282
+ fromPartial(object) {
2283
+ var _a, _b;
2284
+ const message = createBaseServiceOptions();
2285
+ message.deprecated = (_a = object.deprecated) !== null && _a !== void 0 ? _a : false;
2286
+ message.uninterpretedOption = ((_b = object.uninterpretedOption) === null || _b === void 0 ? void 0 : _b.map(e => exports.UninterpretedOption.fromPartial(e))) || [];
2287
+ return message;
2288
+ }
2289
+ };
2290
+ function createBaseMethodOptions() {
2291
+ return {
2292
+ deprecated: false,
2293
+ idempotencyLevel: 1,
2294
+ uninterpretedOption: []
2295
+ };
2296
+ }
2297
+ exports.MethodOptions = {
2298
+ encode(message, writer = _m0.Writer.create()) {
2299
+ if (message.deprecated === true) {
2300
+ writer.uint32(264).bool(message.deprecated);
2301
+ }
2302
+ if (message.idempotencyLevel !== 1) {
2303
+ writer.uint32(272).int32(message.idempotencyLevel);
2304
+ }
2305
+ for (const v of message.uninterpretedOption) {
2306
+ exports.UninterpretedOption.encode(v, writer.uint32(7994).fork()).ldelim();
2307
+ }
2308
+ return writer;
2309
+ },
2310
+ decode(input, length) {
2311
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2312
+ let end = length === undefined ? reader.len : reader.pos + length;
2313
+ const message = createBaseMethodOptions();
2314
+ while (reader.pos < end) {
2315
+ const tag = reader.uint32();
2316
+ switch (tag >>> 3) {
2317
+ case 33:
2318
+ message.deprecated = reader.bool();
2319
+ break;
2320
+ case 34:
2321
+ message.idempotencyLevel = reader.int32();
2322
+ break;
2323
+ case 999:
2324
+ message.uninterpretedOption.push(exports.UninterpretedOption.decode(reader, reader.uint32()));
2325
+ break;
2326
+ default:
2327
+ reader.skipType(tag & 7);
2328
+ break;
2329
+ }
2330
+ }
2331
+ return message;
2332
+ },
2333
+ fromJSON(object) {
2334
+ return {
2335
+ deprecated: (0, helpers_1.isSet)(object.deprecated) ? Boolean(object.deprecated) : false,
2336
+ idempotencyLevel: (0, helpers_1.isSet)(object.idempotencyLevel) ? methodOptions_IdempotencyLevelFromJSON(object.idempotencyLevel) : 0,
2337
+ uninterpretedOption: Array.isArray(object === null || object === void 0 ? void 0 : object.uninterpretedOption) ? object.uninterpretedOption.map((e) => exports.UninterpretedOption.fromJSON(e)) : []
2338
+ };
2339
+ },
2340
+ toJSON(message) {
2341
+ const obj = {};
2342
+ message.deprecated !== undefined && (obj.deprecated = message.deprecated);
2343
+ message.idempotencyLevel !== undefined && (obj.idempotencyLevel = methodOptions_IdempotencyLevelToJSON(message.idempotencyLevel));
2344
+ if (message.uninterpretedOption) {
2345
+ obj.uninterpretedOption = message.uninterpretedOption.map(e => e ? exports.UninterpretedOption.toJSON(e) : undefined);
2346
+ }
2347
+ else {
2348
+ obj.uninterpretedOption = [];
2349
+ }
2350
+ return obj;
2351
+ },
2352
+ fromPartial(object) {
2353
+ var _a, _b, _c;
2354
+ const message = createBaseMethodOptions();
2355
+ message.deprecated = (_a = object.deprecated) !== null && _a !== void 0 ? _a : false;
2356
+ message.idempotencyLevel = (_b = object.idempotencyLevel) !== null && _b !== void 0 ? _b : 1;
2357
+ message.uninterpretedOption = ((_c = object.uninterpretedOption) === null || _c === void 0 ? void 0 : _c.map(e => exports.UninterpretedOption.fromPartial(e))) || [];
2358
+ return message;
2359
+ }
2360
+ };
2361
+ function createBaseUninterpretedOption() {
2362
+ return {
2363
+ name: [],
2364
+ identifierValue: "",
2365
+ positiveIntValue: helpers_1.Long.UZERO,
2366
+ negativeIntValue: helpers_1.Long.ZERO,
2367
+ doubleValue: 0,
2368
+ stringValue: new Uint8Array(),
2369
+ aggregateValue: ""
2370
+ };
2371
+ }
2372
+ exports.UninterpretedOption = {
2373
+ encode(message, writer = _m0.Writer.create()) {
2374
+ for (const v of message.name) {
2375
+ exports.UninterpretedOption_NamePart.encode(v, writer.uint32(18).fork()).ldelim();
2376
+ }
2377
+ if (message.identifierValue !== "") {
2378
+ writer.uint32(26).string(message.identifierValue);
2379
+ }
2380
+ if (!message.positiveIntValue.isZero()) {
2381
+ writer.uint32(32).uint64(message.positiveIntValue);
2382
+ }
2383
+ if (!message.negativeIntValue.isZero()) {
2384
+ writer.uint32(40).int64(message.negativeIntValue);
2385
+ }
2386
+ if (message.doubleValue !== 0) {
2387
+ writer.uint32(49).double(message.doubleValue);
2388
+ }
2389
+ if (message.stringValue.length !== 0) {
2390
+ writer.uint32(58).bytes(message.stringValue);
2391
+ }
2392
+ if (message.aggregateValue !== "") {
2393
+ writer.uint32(66).string(message.aggregateValue);
2394
+ }
2395
+ return writer;
2396
+ },
2397
+ decode(input, length) {
2398
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2399
+ let end = length === undefined ? reader.len : reader.pos + length;
2400
+ const message = createBaseUninterpretedOption();
2401
+ while (reader.pos < end) {
2402
+ const tag = reader.uint32();
2403
+ switch (tag >>> 3) {
2404
+ case 2:
2405
+ message.name.push(exports.UninterpretedOption_NamePart.decode(reader, reader.uint32()));
2406
+ break;
2407
+ case 3:
2408
+ message.identifierValue = reader.string();
2409
+ break;
2410
+ case 4:
2411
+ message.positiveIntValue = reader.uint64();
2412
+ break;
2413
+ case 5:
2414
+ message.negativeIntValue = reader.int64();
2415
+ break;
2416
+ case 6:
2417
+ message.doubleValue = reader.double();
2418
+ break;
2419
+ case 7:
2420
+ message.stringValue = reader.bytes();
2421
+ break;
2422
+ case 8:
2423
+ message.aggregateValue = reader.string();
2424
+ break;
2425
+ default:
2426
+ reader.skipType(tag & 7);
2427
+ break;
2428
+ }
2429
+ }
2430
+ return message;
2431
+ },
2432
+ fromJSON(object) {
2433
+ return {
2434
+ name: Array.isArray(object === null || object === void 0 ? void 0 : object.name) ? object.name.map((e) => exports.UninterpretedOption_NamePart.fromJSON(e)) : [],
2435
+ identifierValue: (0, helpers_1.isSet)(object.identifierValue) ? String(object.identifierValue) : "",
2436
+ positiveIntValue: (0, helpers_1.isSet)(object.positiveIntValue) ? helpers_1.Long.fromValue(object.positiveIntValue) : helpers_1.Long.UZERO,
2437
+ negativeIntValue: (0, helpers_1.isSet)(object.negativeIntValue) ? helpers_1.Long.fromValue(object.negativeIntValue) : helpers_1.Long.ZERO,
2438
+ doubleValue: (0, helpers_1.isSet)(object.doubleValue) ? Number(object.doubleValue) : 0,
2439
+ stringValue: (0, helpers_1.isSet)(object.stringValue) ? (0, helpers_1.bytesFromBase64)(object.stringValue) : new Uint8Array(),
2440
+ aggregateValue: (0, helpers_1.isSet)(object.aggregateValue) ? String(object.aggregateValue) : ""
2441
+ };
2442
+ },
2443
+ toJSON(message) {
2444
+ const obj = {};
2445
+ if (message.name) {
2446
+ obj.name = message.name.map(e => e ? exports.UninterpretedOption_NamePart.toJSON(e) : undefined);
2447
+ }
2448
+ else {
2449
+ obj.name = [];
2450
+ }
2451
+ message.identifierValue !== undefined && (obj.identifierValue = message.identifierValue);
2452
+ message.positiveIntValue !== undefined && (obj.positiveIntValue = (message.positiveIntValue || helpers_1.Long.UZERO).toString());
2453
+ message.negativeIntValue !== undefined && (obj.negativeIntValue = (message.negativeIntValue || helpers_1.Long.ZERO).toString());
2454
+ message.doubleValue !== undefined && (obj.doubleValue = message.doubleValue);
2455
+ message.stringValue !== undefined && (obj.stringValue = (0, helpers_1.base64FromBytes)(message.stringValue !== undefined ? message.stringValue : new Uint8Array()));
2456
+ message.aggregateValue !== undefined && (obj.aggregateValue = message.aggregateValue);
2457
+ return obj;
2458
+ },
2459
+ fromPartial(object) {
2460
+ var _a, _b, _c, _d, _e;
2461
+ const message = createBaseUninterpretedOption();
2462
+ message.name = ((_a = object.name) === null || _a === void 0 ? void 0 : _a.map(e => exports.UninterpretedOption_NamePart.fromPartial(e))) || [];
2463
+ message.identifierValue = (_b = object.identifierValue) !== null && _b !== void 0 ? _b : "";
2464
+ message.positiveIntValue = object.positiveIntValue !== undefined && object.positiveIntValue !== null ? helpers_1.Long.fromValue(object.positiveIntValue) : helpers_1.Long.UZERO;
2465
+ message.negativeIntValue = object.negativeIntValue !== undefined && object.negativeIntValue !== null ? helpers_1.Long.fromValue(object.negativeIntValue) : helpers_1.Long.ZERO;
2466
+ message.doubleValue = (_c = object.doubleValue) !== null && _c !== void 0 ? _c : 0;
2467
+ message.stringValue = (_d = object.stringValue) !== null && _d !== void 0 ? _d : new Uint8Array();
2468
+ message.aggregateValue = (_e = object.aggregateValue) !== null && _e !== void 0 ? _e : "";
2469
+ return message;
2470
+ }
2471
+ };
2472
+ function createBaseUninterpretedOption_NamePart() {
2473
+ return {
2474
+ namePart: "",
2475
+ isExtension: false
2476
+ };
2477
+ }
2478
+ exports.UninterpretedOption_NamePart = {
2479
+ encode(message, writer = _m0.Writer.create()) {
2480
+ if (message.namePart !== "") {
2481
+ writer.uint32(10).string(message.namePart);
2482
+ }
2483
+ if (message.isExtension === true) {
2484
+ writer.uint32(16).bool(message.isExtension);
2485
+ }
2486
+ return writer;
2487
+ },
2488
+ decode(input, length) {
2489
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2490
+ let end = length === undefined ? reader.len : reader.pos + length;
2491
+ const message = createBaseUninterpretedOption_NamePart();
2492
+ while (reader.pos < end) {
2493
+ const tag = reader.uint32();
2494
+ switch (tag >>> 3) {
2495
+ case 1:
2496
+ message.namePart = reader.string();
2497
+ break;
2498
+ case 2:
2499
+ message.isExtension = reader.bool();
2500
+ break;
2501
+ default:
2502
+ reader.skipType(tag & 7);
2503
+ break;
2504
+ }
2505
+ }
2506
+ return message;
2507
+ },
2508
+ fromJSON(object) {
2509
+ return {
2510
+ namePart: (0, helpers_1.isSet)(object.namePart) ? String(object.namePart) : "",
2511
+ isExtension: (0, helpers_1.isSet)(object.isExtension) ? Boolean(object.isExtension) : false
2512
+ };
2513
+ },
2514
+ toJSON(message) {
2515
+ const obj = {};
2516
+ message.namePart !== undefined && (obj.namePart = message.namePart);
2517
+ message.isExtension !== undefined && (obj.isExtension = message.isExtension);
2518
+ return obj;
2519
+ },
2520
+ fromPartial(object) {
2521
+ var _a, _b;
2522
+ const message = createBaseUninterpretedOption_NamePart();
2523
+ message.namePart = (_a = object.namePart) !== null && _a !== void 0 ? _a : "";
2524
+ message.isExtension = (_b = object.isExtension) !== null && _b !== void 0 ? _b : false;
2525
+ return message;
2526
+ }
2527
+ };
2528
+ function createBaseSourceCodeInfo() {
2529
+ return {
2530
+ location: []
2531
+ };
2532
+ }
2533
+ exports.SourceCodeInfo = {
2534
+ encode(message, writer = _m0.Writer.create()) {
2535
+ for (const v of message.location) {
2536
+ exports.SourceCodeInfo_Location.encode(v, writer.uint32(10).fork()).ldelim();
2537
+ }
2538
+ return writer;
2539
+ },
2540
+ decode(input, length) {
2541
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2542
+ let end = length === undefined ? reader.len : reader.pos + length;
2543
+ const message = createBaseSourceCodeInfo();
2544
+ while (reader.pos < end) {
2545
+ const tag = reader.uint32();
2546
+ switch (tag >>> 3) {
2547
+ case 1:
2548
+ message.location.push(exports.SourceCodeInfo_Location.decode(reader, reader.uint32()));
2549
+ break;
2550
+ default:
2551
+ reader.skipType(tag & 7);
2552
+ break;
2553
+ }
2554
+ }
2555
+ return message;
2556
+ },
2557
+ fromJSON(object) {
2558
+ return {
2559
+ location: Array.isArray(object === null || object === void 0 ? void 0 : object.location) ? object.location.map((e) => exports.SourceCodeInfo_Location.fromJSON(e)) : []
2560
+ };
2561
+ },
2562
+ toJSON(message) {
2563
+ const obj = {};
2564
+ if (message.location) {
2565
+ obj.location = message.location.map(e => e ? exports.SourceCodeInfo_Location.toJSON(e) : undefined);
2566
+ }
2567
+ else {
2568
+ obj.location = [];
2569
+ }
2570
+ return obj;
2571
+ },
2572
+ fromPartial(object) {
2573
+ var _a;
2574
+ const message = createBaseSourceCodeInfo();
2575
+ message.location = ((_a = object.location) === null || _a === void 0 ? void 0 : _a.map(e => exports.SourceCodeInfo_Location.fromPartial(e))) || [];
2576
+ return message;
2577
+ }
2578
+ };
2579
+ function createBaseSourceCodeInfo_Location() {
2580
+ return {
2581
+ path: [],
2582
+ span: [],
2583
+ leadingComments: "",
2584
+ trailingComments: "",
2585
+ leadingDetachedComments: []
2586
+ };
2587
+ }
2588
+ exports.SourceCodeInfo_Location = {
2589
+ encode(message, writer = _m0.Writer.create()) {
2590
+ writer.uint32(10).fork();
2591
+ for (const v of message.path) {
2592
+ writer.int32(v);
2593
+ }
2594
+ writer.ldelim();
2595
+ writer.uint32(18).fork();
2596
+ for (const v of message.span) {
2597
+ writer.int32(v);
2598
+ }
2599
+ writer.ldelim();
2600
+ if (message.leadingComments !== "") {
2601
+ writer.uint32(26).string(message.leadingComments);
2602
+ }
2603
+ if (message.trailingComments !== "") {
2604
+ writer.uint32(34).string(message.trailingComments);
2605
+ }
2606
+ for (const v of message.leadingDetachedComments) {
2607
+ writer.uint32(50).string(v);
2608
+ }
2609
+ return writer;
2610
+ },
2611
+ decode(input, length) {
2612
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2613
+ let end = length === undefined ? reader.len : reader.pos + length;
2614
+ const message = createBaseSourceCodeInfo_Location();
2615
+ while (reader.pos < end) {
2616
+ const tag = reader.uint32();
2617
+ switch (tag >>> 3) {
2618
+ case 1:
2619
+ if ((tag & 7) === 2) {
2620
+ const end2 = reader.uint32() + reader.pos;
2621
+ while (reader.pos < end2) {
2622
+ message.path.push(reader.int32());
2623
+ }
2624
+ }
2625
+ else {
2626
+ message.path.push(reader.int32());
2627
+ }
2628
+ break;
2629
+ case 2:
2630
+ if ((tag & 7) === 2) {
2631
+ const end2 = reader.uint32() + reader.pos;
2632
+ while (reader.pos < end2) {
2633
+ message.span.push(reader.int32());
2634
+ }
2635
+ }
2636
+ else {
2637
+ message.span.push(reader.int32());
2638
+ }
2639
+ break;
2640
+ case 3:
2641
+ message.leadingComments = reader.string();
2642
+ break;
2643
+ case 4:
2644
+ message.trailingComments = reader.string();
2645
+ break;
2646
+ case 6:
2647
+ message.leadingDetachedComments.push(reader.string());
2648
+ break;
2649
+ default:
2650
+ reader.skipType(tag & 7);
2651
+ break;
2652
+ }
2653
+ }
2654
+ return message;
2655
+ },
2656
+ fromJSON(object) {
2657
+ return {
2658
+ path: Array.isArray(object === null || object === void 0 ? void 0 : object.path) ? object.path.map((e) => Number(e)) : [],
2659
+ span: Array.isArray(object === null || object === void 0 ? void 0 : object.span) ? object.span.map((e) => Number(e)) : [],
2660
+ leadingComments: (0, helpers_1.isSet)(object.leadingComments) ? String(object.leadingComments) : "",
2661
+ trailingComments: (0, helpers_1.isSet)(object.trailingComments) ? String(object.trailingComments) : "",
2662
+ leadingDetachedComments: Array.isArray(object === null || object === void 0 ? void 0 : object.leadingDetachedComments) ? object.leadingDetachedComments.map((e) => String(e)) : []
2663
+ };
2664
+ },
2665
+ toJSON(message) {
2666
+ const obj = {};
2667
+ if (message.path) {
2668
+ obj.path = message.path.map(e => Math.round(e));
2669
+ }
2670
+ else {
2671
+ obj.path = [];
2672
+ }
2673
+ if (message.span) {
2674
+ obj.span = message.span.map(e => Math.round(e));
2675
+ }
2676
+ else {
2677
+ obj.span = [];
2678
+ }
2679
+ message.leadingComments !== undefined && (obj.leadingComments = message.leadingComments);
2680
+ message.trailingComments !== undefined && (obj.trailingComments = message.trailingComments);
2681
+ if (message.leadingDetachedComments) {
2682
+ obj.leadingDetachedComments = message.leadingDetachedComments.map(e => e);
2683
+ }
2684
+ else {
2685
+ obj.leadingDetachedComments = [];
2686
+ }
2687
+ return obj;
2688
+ },
2689
+ fromPartial(object) {
2690
+ var _a, _b, _c, _d, _e;
2691
+ const message = createBaseSourceCodeInfo_Location();
2692
+ message.path = ((_a = object.path) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
2693
+ message.span = ((_b = object.span) === null || _b === void 0 ? void 0 : _b.map(e => e)) || [];
2694
+ message.leadingComments = (_c = object.leadingComments) !== null && _c !== void 0 ? _c : "";
2695
+ message.trailingComments = (_d = object.trailingComments) !== null && _d !== void 0 ? _d : "";
2696
+ message.leadingDetachedComments = ((_e = object.leadingDetachedComments) === null || _e === void 0 ? void 0 : _e.map(e => e)) || [];
2697
+ return message;
2698
+ }
2699
+ };
2700
+ function createBaseGeneratedCodeInfo() {
2701
+ return {
2702
+ annotation: []
2703
+ };
2704
+ }
2705
+ exports.GeneratedCodeInfo = {
2706
+ encode(message, writer = _m0.Writer.create()) {
2707
+ for (const v of message.annotation) {
2708
+ exports.GeneratedCodeInfo_Annotation.encode(v, writer.uint32(10).fork()).ldelim();
2709
+ }
2710
+ return writer;
2711
+ },
2712
+ decode(input, length) {
2713
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2714
+ let end = length === undefined ? reader.len : reader.pos + length;
2715
+ const message = createBaseGeneratedCodeInfo();
2716
+ while (reader.pos < end) {
2717
+ const tag = reader.uint32();
2718
+ switch (tag >>> 3) {
2719
+ case 1:
2720
+ message.annotation.push(exports.GeneratedCodeInfo_Annotation.decode(reader, reader.uint32()));
2721
+ break;
2722
+ default:
2723
+ reader.skipType(tag & 7);
2724
+ break;
2725
+ }
2726
+ }
2727
+ return message;
2728
+ },
2729
+ fromJSON(object) {
2730
+ return {
2731
+ annotation: Array.isArray(object === null || object === void 0 ? void 0 : object.annotation) ? object.annotation.map((e) => exports.GeneratedCodeInfo_Annotation.fromJSON(e)) : []
2732
+ };
2733
+ },
2734
+ toJSON(message) {
2735
+ const obj = {};
2736
+ if (message.annotation) {
2737
+ obj.annotation = message.annotation.map(e => e ? exports.GeneratedCodeInfo_Annotation.toJSON(e) : undefined);
2738
+ }
2739
+ else {
2740
+ obj.annotation = [];
2741
+ }
2742
+ return obj;
2743
+ },
2744
+ fromPartial(object) {
2745
+ var _a;
2746
+ const message = createBaseGeneratedCodeInfo();
2747
+ message.annotation = ((_a = object.annotation) === null || _a === void 0 ? void 0 : _a.map(e => exports.GeneratedCodeInfo_Annotation.fromPartial(e))) || [];
2748
+ return message;
2749
+ }
2750
+ };
2751
+ function createBaseGeneratedCodeInfo_Annotation() {
2752
+ return {
2753
+ path: [],
2754
+ sourceFile: "",
2755
+ begin: 0,
2756
+ end: 0
2757
+ };
2758
+ }
2759
+ exports.GeneratedCodeInfo_Annotation = {
2760
+ encode(message, writer = _m0.Writer.create()) {
2761
+ writer.uint32(10).fork();
2762
+ for (const v of message.path) {
2763
+ writer.int32(v);
2764
+ }
2765
+ writer.ldelim();
2766
+ if (message.sourceFile !== "") {
2767
+ writer.uint32(18).string(message.sourceFile);
2768
+ }
2769
+ if (message.begin !== 0) {
2770
+ writer.uint32(24).int32(message.begin);
2771
+ }
2772
+ if (message.end !== 0) {
2773
+ writer.uint32(32).int32(message.end);
2774
+ }
2775
+ return writer;
2776
+ },
2777
+ decode(input, length) {
2778
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2779
+ let end = length === undefined ? reader.len : reader.pos + length;
2780
+ const message = createBaseGeneratedCodeInfo_Annotation();
2781
+ while (reader.pos < end) {
2782
+ const tag = reader.uint32();
2783
+ switch (tag >>> 3) {
2784
+ case 1:
2785
+ if ((tag & 7) === 2) {
2786
+ const end2 = reader.uint32() + reader.pos;
2787
+ while (reader.pos < end2) {
2788
+ message.path.push(reader.int32());
2789
+ }
2790
+ }
2791
+ else {
2792
+ message.path.push(reader.int32());
2793
+ }
2794
+ break;
2795
+ case 2:
2796
+ message.sourceFile = reader.string();
2797
+ break;
2798
+ case 3:
2799
+ message.begin = reader.int32();
2800
+ break;
2801
+ case 4:
2802
+ message.end = reader.int32();
2803
+ break;
2804
+ default:
2805
+ reader.skipType(tag & 7);
2806
+ break;
2807
+ }
2808
+ }
2809
+ return message;
2810
+ },
2811
+ fromJSON(object) {
2812
+ return {
2813
+ path: Array.isArray(object === null || object === void 0 ? void 0 : object.path) ? object.path.map((e) => Number(e)) : [],
2814
+ sourceFile: (0, helpers_1.isSet)(object.sourceFile) ? String(object.sourceFile) : "",
2815
+ begin: (0, helpers_1.isSet)(object.begin) ? Number(object.begin) : 0,
2816
+ end: (0, helpers_1.isSet)(object.end) ? Number(object.end) : 0
2817
+ };
2818
+ },
2819
+ toJSON(message) {
2820
+ const obj = {};
2821
+ if (message.path) {
2822
+ obj.path = message.path.map(e => Math.round(e));
2823
+ }
2824
+ else {
2825
+ obj.path = [];
2826
+ }
2827
+ message.sourceFile !== undefined && (obj.sourceFile = message.sourceFile);
2828
+ message.begin !== undefined && (obj.begin = Math.round(message.begin));
2829
+ message.end !== undefined && (obj.end = Math.round(message.end));
2830
+ return obj;
2831
+ },
2832
+ fromPartial(object) {
2833
+ var _a, _b, _c, _d;
2834
+ const message = createBaseGeneratedCodeInfo_Annotation();
2835
+ message.path = ((_a = object.path) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
2836
+ message.sourceFile = (_b = object.sourceFile) !== null && _b !== void 0 ? _b : "";
2837
+ message.begin = (_c = object.begin) !== null && _c !== void 0 ? _c : 0;
2838
+ message.end = (_d = object.end) !== null && _d !== void 0 ? _d : 0;
2839
+ return message;
2840
+ }
2841
+ };
2842
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZHlkeHByb3RvY29sL2R5ZHhqcy9zcmMvY29kZWdlbi9nb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3REFBMEM7QUFDMUMsMkNBQThFO0FBQzlFLElBQVkseUJBK0NYO0FBL0NELFdBQVkseUJBQXlCO0lBQ25DOzs7T0FHRztJQUNILHVGQUFlLENBQUE7SUFDZixxRkFBYyxDQUFBO0lBRWQ7OztPQUdHO0lBQ0gscUZBQWMsQ0FBQTtJQUNkLHVGQUFlLENBQUE7SUFFZjs7O09BR0c7SUFDSCxxRkFBYyxDQUFBO0lBQ2QseUZBQWdCLENBQUE7SUFDaEIseUZBQWdCLENBQUE7SUFDaEIsbUZBQWEsQ0FBQTtJQUNiLHVGQUFlLENBQUE7SUFFZjs7Ozs7T0FLRztJQUNILHNGQUFlLENBQUE7SUFDZiwwRkFBaUIsQ0FBQTtJQUVqQixxQ0FBcUM7SUFDckMsc0ZBQWUsQ0FBQTtJQUNmLHdGQUFnQixDQUFBO0lBQ2hCLG9GQUFjLENBQUE7SUFDZCw0RkFBa0IsQ0FBQTtJQUNsQiw0RkFBa0IsQ0FBQTtJQUVsQiwwQ0FBMEM7SUFDMUMsd0ZBQWdCLENBQUE7SUFFaEIsMENBQTBDO0lBQzFDLHdGQUFnQixDQUFBO0lBQ2hCLDBGQUFpQixDQUFBO0FBQ25CLENBQUMsRUEvQ1cseUJBQXlCLEdBQXpCLGlDQUF5QixLQUF6QixpQ0FBeUIsUUErQ3BDO0FBQ1ksUUFBQSxnQ0FBZ0MsR0FBRyx5QkFBeUIsQ0FBQztBQUMxRSxTQUFnQixpQ0FBaUMsQ0FBQyxNQUFXO0lBQzNELFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLGFBQWE7WUFDaEIsT0FBTyx5QkFBeUIsQ0FBQyxXQUFXLENBQUM7UUFF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