@inco/js 0.2.15 → 0.2.17

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 (523) hide show
  1. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +34 -0
  2. package/dist/cjs/attesteddecrypt/attested-decrypt.js +91 -0
  3. package/dist/cjs/attesteddecrypt/index.d.ts +2 -0
  4. package/dist/cjs/attesteddecrypt/index.js +19 -0
  5. package/dist/cjs/attesteddecrypt/types.d.ts +18 -0
  6. package/dist/cjs/attesteddecrypt/types.js +16 -0
  7. package/dist/cjs/binary.js +82 -0
  8. package/dist/{chain.js → cjs/chain.js} +1 -1
  9. package/dist/{encryption → cjs/encryption}/encryption.d.ts +2 -2
  10. package/dist/cjs/encryption/encryption.js +109 -0
  11. package/dist/cjs/encryption/index.d.ts +1 -0
  12. package/dist/{fhevm → cjs/encryption}/index.js +2 -2
  13. package/dist/{fhevm → cjs/fhevm}/fhe-environment.d.ts +1 -1
  14. package/dist/cjs/fhevm/fhe-environment.js +11 -0
  15. package/dist/{fhevm → cjs/fhevm}/fhevm.d.ts +1 -1
  16. package/dist/cjs/fhevm/fhevm.js +145 -0
  17. package/dist/cjs/fhevm/index.d.ts +1 -0
  18. package/dist/{encryption → cjs/fhevm}/index.js +2 -2
  19. package/dist/{fhevm → cjs/fhevm}/reencrypt.d.ts +3 -3
  20. package/dist/cjs/fhevm/reencrypt.js +127 -0
  21. package/dist/{fhevm → cjs/fhevm}/tfhe.d.ts +1 -1
  22. package/dist/cjs/fhevm/tfhe.js +336 -0
  23. package/dist/{fhevm → cjs/fhevm}/types.d.ts +1 -1
  24. package/dist/cjs/fhevm/types.js +29 -0
  25. package/dist/cjs/generated/abis/addTwo.js +62 -0
  26. package/dist/cjs/generated/abis/inco-fhevm.js +681 -0
  27. package/dist/{generated → cjs/generated}/abis/index.js +1 -1
  28. package/dist/cjs/generated/abis/lightning.js +1606 -0
  29. package/dist/{generated → cjs/generated}/es/cosmos/ics23/v1/proofs_pb.js +1 -1
  30. package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.js +1 -1
  31. package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.js +1 -1
  32. package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.js +1 -1
  33. package/dist/{generated → cjs/generated}/es/google/api/http_pb.js +1 -1
  34. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.js +1 -1
  35. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.js +1 -1
  36. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.js +1 -1
  37. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.js +1 -1
  38. package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.js +1 -1
  39. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/kms_service_pb.d.ts +54 -41
  40. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/kms_service_pb.js +6 -11
  41. package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.js +1 -1
  42. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.js +1 -1
  43. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.js +1 -1
  44. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.js +1 -1
  45. package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.js +1 -1
  46. package/dist/{generated → cjs/generated}/es/kms/base_pb.js +1 -1
  47. package/dist/{generated → cjs/generated}/es/sf/ethereum/type/v2/type_pb.js +1 -1
  48. package/dist/{generated → cjs/generated}/fhe-environments.js +1 -1
  49. package/dist/{generated → cjs/generated}/lightning.d.ts +21 -0
  50. package/dist/{generated → cjs/generated}/lightning.js +23 -1
  51. package/dist/cjs/generated/local-node.d.ts +23 -0
  52. package/dist/cjs/generated/local-node.js +27 -0
  53. package/dist/{generated → cjs/generated}/ts/amino/amino.js +1 -1
  54. package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.js +1 -1
  55. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +108 -0
  56. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +433 -0
  57. package/dist/cjs/generated/ts/cometbft/types/v1/params.js +716 -0
  58. package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +358 -0
  59. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +221 -0
  60. package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.js +1 -1
  61. package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +216 -0
  62. package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.js +1 -1
  63. package/dist/{generated → cjs/generated}/ts/google/api/annotations.js +1 -1
  64. package/dist/cjs/generated/ts/google/api/http.js +356 -0
  65. package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.js +1 -1
  66. package/dist/cjs/generated/ts/google/protobuf/duration.js +93 -0
  67. package/dist/cjs/generated/ts/google/protobuf/timestamp.js +93 -0
  68. package/dist/cjs/generated/ts/google/protobuf/wrappers.js +509 -0
  69. package/dist/cjs/generated/ts/inco/abci/v1/types.js +73 -0
  70. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +66 -0
  71. package/dist/cjs/generated/ts/inco/fhe/v1/events.js +190 -0
  72. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +714 -0
  73. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.js +1 -1
  74. package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.js +1 -1
  75. package/dist/cjs/generated/ts/inco/fhe/v1/types.js +990 -0
  76. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +66 -0
  77. package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +331 -0
  78. package/dist/cjs/generated/ts/inco/originchain/v1/events.js +216 -0
  79. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +69 -0
  80. package/dist/cjs/generated/ts/inco/originchain/v1/query.js +280 -0
  81. package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +140 -0
  82. package/dist/cjs/generated/ts/inco/originchain/v1/types.js +203 -0
  83. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +66 -0
  84. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +185 -0
  85. package/dist/cjs/generated/ts/inco/preflight/v1/query.js +259 -0
  86. package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +448 -0
  87. package/dist/cjs/generated/ts/inco/preflight/v1/types.js +398 -0
  88. package/dist/{handle.d.ts → cjs/handle.d.ts} +1 -1
  89. package/dist/{handle.js → cjs/handle.js} +5 -5
  90. package/dist/cjs/index.d.ts +5 -0
  91. package/dist/{index.js → cjs/index.js} +5 -5
  92. package/dist/cjs/kms/client.d.ts +8 -0
  93. package/dist/cjs/kms/client.js +41 -0
  94. package/dist/{l1 → cjs/l1}/client.d.ts +6 -6
  95. package/dist/{l1 → cjs/l1}/client.js +8 -8
  96. package/dist/cjs/l1/index.d.ts +2 -0
  97. package/dist/{l1 → cjs/l1}/index.js +3 -3
  98. package/dist/{l1 → cjs/l1}/preflight.d.ts +3 -3
  99. package/dist/cjs/l1/preflight.js +42 -0
  100. package/dist/cjs/lite/attested-decrypt.d.ts +3 -0
  101. package/dist/cjs/lite/attested-decrypt.js +6 -0
  102. package/dist/{lite → cjs/lite}/deployments.d.ts +2 -2
  103. package/dist/cjs/lite/deployments.js +21 -0
  104. package/dist/{lite → cjs/lite}/ecies.d.ts +6 -6
  105. package/dist/cjs/lite/ecies.js +135 -0
  106. package/dist/{lite → cjs/lite}/hadu.d.ts +1 -1
  107. package/dist/cjs/lite/hadu.js +41 -0
  108. package/dist/cjs/lite/index.d.ts +7 -0
  109. package/dist/cjs/lite/index.js +23 -0
  110. package/dist/{lite → cjs/lite}/lightning.d.ts +13 -6
  111. package/dist/cjs/lite/lightning.js +204 -0
  112. package/dist/{lite → cjs/lite}/reencrypt.d.ts +7 -7
  113. package/dist/cjs/lite/reencrypt.js +142 -0
  114. package/dist/cjs/local/index.d.ts +1 -0
  115. package/dist/{local → cjs/local}/index.js +2 -2
  116. package/dist/{local → cjs/local}/local-node.js +1 -1
  117. package/dist/{reencryption → cjs/reencryption}/eip712.js +5 -5
  118. package/dist/cjs/reencryption/index.d.ts +2 -0
  119. package/dist/cjs/reencryption/index.js +19 -0
  120. package/dist/{reencryption → cjs/reencryption}/types.d.ts +6 -10
  121. package/dist/{reencryption → cjs/reencryption}/types.js +1 -1
  122. package/dist/cjs/retry.d.ts +15 -0
  123. package/dist/cjs/retry.js +28 -0
  124. package/dist/{schema.js → cjs/schema.js} +1 -1
  125. package/dist/{viem.d.ts → cjs/viem.d.ts} +1 -1
  126. package/dist/cjs/viem.js +12 -0
  127. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +34 -0
  128. package/dist/esm/attesteddecrypt/attested-decrypt.js +88 -0
  129. package/dist/esm/attesteddecrypt/index.d.ts +2 -0
  130. package/dist/esm/attesteddecrypt/index.js +3 -0
  131. package/dist/esm/attesteddecrypt/types.d.ts +18 -0
  132. package/dist/esm/attesteddecrypt/types.js +12 -0
  133. package/dist/esm/binary.d.ts +21 -0
  134. package/dist/esm/binary.js +67 -0
  135. package/dist/esm/chain.d.ts +22 -0
  136. package/dist/esm/chain.js +24 -0
  137. package/dist/esm/encryption/encryption.d.ts +119 -0
  138. package/dist/esm/encryption/encryption.js +101 -0
  139. package/dist/esm/encryption/index.d.ts +1 -0
  140. package/dist/esm/encryption/index.js +2 -0
  141. package/dist/esm/fhevm/fhe-environment.d.ts +9 -0
  142. package/dist/esm/fhevm/fhe-environment.js +8 -0
  143. package/dist/esm/fhevm/fhevm.d.ts +41 -0
  144. package/dist/esm/fhevm/fhevm.js +139 -0
  145. package/dist/esm/fhevm/index.d.ts +1 -0
  146. package/dist/esm/fhevm/index.js +2 -0
  147. package/dist/esm/fhevm/reencrypt.d.ts +20 -0
  148. package/dist/esm/fhevm/reencrypt.js +123 -0
  149. package/dist/esm/fhevm/tfhe.d.ts +74 -0
  150. package/dist/esm/fhevm/tfhe.js +328 -0
  151. package/dist/esm/fhevm/types.d.ts +3 -0
  152. package/dist/esm/fhevm/types.js +26 -0
  153. package/dist/esm/generated/abis/addTwo.d.ts +83 -0
  154. package/dist/{generated → esm/generated}/abis/addTwo.js +2 -5
  155. package/dist/esm/generated/abis/inco-fhevm.d.ts +874 -0
  156. package/dist/{generated → esm/generated}/abis/inco-fhevm.js +3 -6
  157. package/dist/esm/generated/abis/index.d.ts +2 -0
  158. package/dist/esm/generated/abis/index.js +3 -0
  159. package/dist/esm/generated/abis/lightning.d.ts +2226 -0
  160. package/dist/{generated → esm/generated}/abis/lightning.js +2 -5
  161. package/dist/esm/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +593 -0
  162. package/dist/esm/generated/es/cosmos/ics23/v1/proofs_pb.js +198 -0
  163. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  164. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +33 -0
  165. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  166. package/dist/esm/generated/es/cosmos_proto/cosmos_pb.js +115 -0
  167. package/dist/esm/generated/es/google/api/annotations_pb.d.ts +13 -0
  168. package/dist/esm/generated/es/google/api/annotations_pb.js +27 -0
  169. package/dist/esm/generated/es/google/api/http_pb.d.ts +440 -0
  170. package/dist/esm/generated/es/google/api/http_pb.js +34 -0
  171. package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  172. package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +21 -0
  173. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  174. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +46 -0
  175. package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  176. package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +108 -0
  177. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  178. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +108 -0
  179. package/dist/esm/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  180. package/dist/esm/generated/es/inco/fhe/v1/types_pb.js +133 -0
  181. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +333 -0
  182. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +58 -0
  183. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  184. package/dist/esm/generated/es/inco/kms/lite/v1/types_pb.js +44 -0
  185. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  186. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +20 -0
  187. package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  188. package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +38 -0
  189. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  190. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +48 -0
  191. package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  192. package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +34 -0
  193. package/dist/esm/generated/es/kms/base_pb.d.ts +765 -0
  194. package/dist/esm/generated/es/kms/base_pb.js +238 -0
  195. package/dist/esm/generated/es/sf/ethereum/type/v2/type_pb.d.ts +1736 -0
  196. package/dist/esm/generated/es/sf/ethereum/type/v2/type_pb.js +571 -0
  197. package/dist/esm/generated/fhe-environments.d.ts +14 -0
  198. package/dist/esm/generated/fhe-environments.js +15 -0
  199. package/dist/esm/generated/lightning.d.ts +211 -0
  200. package/dist/esm/generated/lightning.js +223 -0
  201. package/dist/esm/generated/local-node.d.ts +23 -0
  202. package/dist/esm/generated/local-node.js +24 -0
  203. package/dist/esm/generated/ts/amino/amino.d.ts +1 -0
  204. package/dist/esm/generated/ts/amino/amino.js +8 -0
  205. package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  206. package/dist/esm/generated/ts/cometbft/abci/v1/types.js +5063 -0
  207. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  208. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +105 -0
  209. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  210. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +430 -0
  211. package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  212. package/dist/esm/generated/ts/cometbft/types/v1/params.js +713 -0
  213. package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  214. package/dist/esm/generated/ts/cometbft/types/v1/validator.js +353 -0
  215. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  216. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +218 -0
  217. package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  218. package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +8 -0
  219. package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  220. package/dist/esm/generated/ts/cosmos_proto/cosmos.js +211 -0
  221. package/dist/esm/generated/ts/gogoproto/gogo.d.ts +1 -0
  222. package/dist/esm/generated/ts/gogoproto/gogo.js +8 -0
  223. package/dist/esm/generated/ts/google/api/annotations.d.ts +1 -0
  224. package/dist/esm/generated/ts/google/api/annotations.js +8 -0
  225. package/dist/esm/generated/ts/google/api/http.d.ts +371 -0
  226. package/dist/esm/generated/ts/google/api/http.js +353 -0
  227. package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  228. package/dist/esm/generated/ts/google/protobuf/descriptor.js +5070 -0
  229. package/dist/esm/generated/ts/google/protobuf/duration.d.ts +99 -0
  230. package/dist/esm/generated/ts/google/protobuf/duration.js +90 -0
  231. package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  232. package/dist/esm/generated/ts/google/protobuf/timestamp.js +90 -0
  233. package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  234. package/dist/esm/generated/ts/google/protobuf/wrappers.js +506 -0
  235. package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +35 -0
  236. package/dist/esm/generated/ts/inco/abci/v1/types.js +70 -0
  237. package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  238. package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +63 -0
  239. package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  240. package/dist/esm/generated/ts/inco/fhe/v1/events.js +187 -0
  241. package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  242. package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +711 -0
  243. package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  244. package/dist/esm/generated/ts/inco/fhe/v1/query.js +1391 -0
  245. package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  246. package/dist/esm/generated/ts/inco/fhe/v1/tx.js +1233 -0
  247. package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  248. package/dist/esm/generated/ts/inco/fhe/v1/types.js +985 -0
  249. package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  250. package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +63 -0
  251. package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  252. package/dist/esm/generated/ts/inco/originchain/v1/abci.js +328 -0
  253. package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  254. package/dist/esm/generated/ts/inco/originchain/v1/events.js +213 -0
  255. package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  256. package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +66 -0
  257. package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  258. package/dist/esm/generated/ts/inco/originchain/v1/query.js +277 -0
  259. package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  260. package/dist/esm/generated/ts/inco/originchain/v1/tx.js +137 -0
  261. package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  262. package/dist/esm/generated/ts/inco/originchain/v1/types.js +200 -0
  263. package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  264. package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +63 -0
  265. package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  266. package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +182 -0
  267. package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  268. package/dist/esm/generated/ts/inco/preflight/v1/query.js +256 -0
  269. package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  270. package/dist/esm/generated/ts/inco/preflight/v1/tx.js +445 -0
  271. package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  272. package/dist/esm/generated/ts/inco/preflight/v1/types.js +395 -0
  273. package/dist/esm/handle.d.ts +41 -0
  274. package/dist/esm/handle.js +94 -0
  275. package/dist/esm/index.d.ts +5 -0
  276. package/dist/esm/index.js +6 -0
  277. package/dist/esm/kms/client.d.ts +8 -0
  278. package/dist/esm/kms/client.js +35 -0
  279. package/dist/esm/l1/client.d.ts +35 -0
  280. package/dist/esm/l1/client.js +93 -0
  281. package/dist/esm/l1/index.d.ts +2 -0
  282. package/dist/esm/l1/index.js +3 -0
  283. package/dist/esm/l1/preflight.d.ts +20 -0
  284. package/dist/esm/l1/preflight.js +39 -0
  285. package/dist/esm/lite/attested-decrypt.d.ts +3 -0
  286. package/dist/esm/lite/attested-decrypt.js +3 -0
  287. package/dist/esm/lite/deployments.d.ts +6 -0
  288. package/dist/esm/lite/deployments.js +17 -0
  289. package/dist/esm/lite/ecies.d.ts +26 -0
  290. package/dist/esm/lite/ecies.js +124 -0
  291. package/dist/esm/lite/hadu.d.ts +24 -0
  292. package/dist/esm/lite/hadu.js +36 -0
  293. package/dist/esm/lite/index.d.ts +7 -0
  294. package/dist/esm/lite/index.js +7 -0
  295. package/dist/esm/lite/lightning.d.ts +124 -0
  296. package/dist/esm/lite/lightning.js +200 -0
  297. package/dist/esm/lite/reencrypt.d.ts +24 -0
  298. package/dist/esm/lite/reencrypt.js +132 -0
  299. package/dist/esm/local/index.d.ts +1 -0
  300. package/dist/esm/local/index.js +2 -0
  301. package/dist/esm/local/local-node.d.ts +19 -0
  302. package/dist/esm/local/local-node.js +24 -0
  303. package/dist/esm/reencryption/eip712.d.ts +29 -0
  304. package/dist/esm/reencryption/eip712.js +81 -0
  305. package/dist/esm/reencryption/index.d.ts +2 -0
  306. package/dist/esm/reencryption/index.js +3 -0
  307. package/dist/esm/reencryption/types.d.ts +25 -0
  308. package/dist/esm/reencryption/types.js +2 -0
  309. package/dist/esm/retry.d.ts +15 -0
  310. package/dist/esm/retry.js +25 -0
  311. package/dist/esm/schema.d.ts +4 -0
  312. package/dist/esm/schema.js +15 -0
  313. package/dist/esm/viem.d.ts +427 -0
  314. package/dist/esm/viem.js +8 -0
  315. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +34 -0
  316. package/dist/types/attesteddecrypt/index.d.ts +2 -0
  317. package/dist/types/attesteddecrypt/types.d.ts +18 -0
  318. package/dist/types/binary.d.ts +21 -0
  319. package/dist/types/chain.d.ts +22 -0
  320. package/dist/types/encryption/encryption.d.ts +119 -0
  321. package/dist/types/encryption/index.d.ts +1 -0
  322. package/dist/types/fhevm/fhe-environment.d.ts +9 -0
  323. package/dist/types/fhevm/fhevm.d.ts +41 -0
  324. package/dist/types/fhevm/index.d.ts +1 -0
  325. package/dist/types/fhevm/reencrypt.d.ts +20 -0
  326. package/dist/types/fhevm/tfhe.d.ts +74 -0
  327. package/dist/types/fhevm/types.d.ts +3 -0
  328. package/dist/types/generated/abis/addTwo.d.ts +83 -0
  329. package/dist/types/generated/abis/inco-fhevm.d.ts +874 -0
  330. package/dist/types/generated/abis/index.d.ts +2 -0
  331. package/dist/types/generated/abis/lightning.d.ts +2226 -0
  332. package/dist/types/generated/es/cosmos/ics23/v1/proofs_pb.d.ts +593 -0
  333. package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +29 -0
  334. package/dist/types/generated/es/cosmos_proto/cosmos_pb.d.ts +174 -0
  335. package/dist/types/generated/es/google/api/annotations_pb.d.ts +13 -0
  336. package/dist/types/generated/es/google/api/http_pb.d.ts +440 -0
  337. package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +79 -0
  338. package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +252 -0
  339. package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +569 -0
  340. package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +494 -0
  341. package/dist/types/generated/es/inco/fhe/v1/types_pb.d.ts +419 -0
  342. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +333 -0
  343. package/dist/types/generated/es/inco/kms/lite/v1/types_pb.d.ts +212 -0
  344. package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +56 -0
  345. package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +100 -0
  346. package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +193 -0
  347. package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +144 -0
  348. package/dist/types/generated/es/kms/base_pb.d.ts +765 -0
  349. package/dist/types/generated/es/sf/ethereum/type/v2/type_pb.d.ts +1736 -0
  350. package/dist/types/generated/fhe-environments.d.ts +14 -0
  351. package/dist/types/generated/lightning.d.ts +211 -0
  352. package/dist/types/generated/local-node.d.ts +23 -0
  353. package/dist/types/generated/ts/amino/amino.d.ts +1 -0
  354. package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +597 -0
  355. package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +27 -0
  356. package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +60 -0
  357. package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +179 -0
  358. package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +61 -0
  359. package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +104 -0
  360. package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +1 -0
  361. package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +80 -0
  362. package/dist/types/generated/ts/gogoproto/gogo.d.ts +1 -0
  363. package/dist/types/generated/ts/google/api/annotations.d.ts +1 -0
  364. package/dist/types/generated/ts/google/api/http.d.ts +371 -0
  365. package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +1228 -0
  366. package/dist/types/generated/ts/google/protobuf/duration.d.ts +99 -0
  367. package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +128 -0
  368. package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +111 -0
  369. package/dist/types/generated/ts/inco/abci/v1/types.d.ts +35 -0
  370. package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +31 -0
  371. package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +66 -0
  372. package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +117 -0
  373. package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +366 -0
  374. package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +409 -0
  375. package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +225 -0
  376. package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +30 -0
  377. package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +80 -0
  378. package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +60 -0
  379. package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +28 -0
  380. package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +116 -0
  381. package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +89 -0
  382. package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +58 -0
  383. package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +31 -0
  384. package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +41 -0
  385. package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +93 -0
  386. package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +187 -0
  387. package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +84 -0
  388. package/dist/types/handle.d.ts +41 -0
  389. package/dist/types/index.d.ts +5 -0
  390. package/dist/types/kms/client.d.ts +8 -0
  391. package/dist/types/l1/client.d.ts +35 -0
  392. package/dist/types/l1/index.d.ts +2 -0
  393. package/dist/types/l1/preflight.d.ts +20 -0
  394. package/dist/types/lite/attested-decrypt.d.ts +3 -0
  395. package/dist/types/lite/deployments.d.ts +6 -0
  396. package/dist/types/lite/ecies.d.ts +26 -0
  397. package/dist/types/lite/hadu.d.ts +24 -0
  398. package/dist/types/lite/index.d.ts +7 -0
  399. package/dist/types/lite/lightning.d.ts +124 -0
  400. package/dist/types/lite/reencrypt.d.ts +24 -0
  401. package/dist/types/local/index.d.ts +1 -0
  402. package/dist/types/local/local-node.d.ts +19 -0
  403. package/dist/types/reencryption/eip712.d.ts +29 -0
  404. package/dist/types/reencryption/index.d.ts +2 -0
  405. package/dist/types/reencryption/types.d.ts +25 -0
  406. package/dist/types/retry.d.ts +15 -0
  407. package/dist/types/schema.d.ts +4 -0
  408. package/dist/types/viem.d.ts +427 -0
  409. package/package.json +64 -15
  410. package/dist/binary.js +0 -82
  411. package/dist/encryption/encryption.js +0 -109
  412. package/dist/encryption/index.d.ts +0 -1
  413. package/dist/fhevm/fhe-environment.js +0 -11
  414. package/dist/fhevm/fhevm.js +0 -145
  415. package/dist/fhevm/index.d.ts +0 -1
  416. package/dist/fhevm/reencrypt.js +0 -127
  417. package/dist/fhevm/tfhe.js +0 -336
  418. package/dist/fhevm/types.js +0 -29
  419. package/dist/generated/local-node.d.ts +0 -7
  420. package/dist/generated/local-node.js +0 -11
  421. package/dist/generated/ts/cometbft/crypto/v1/keys.js +0 -108
  422. package/dist/generated/ts/cometbft/crypto/v1/proof.js +0 -433
  423. package/dist/generated/ts/cometbft/types/v1/params.js +0 -716
  424. package/dist/generated/ts/cometbft/types/v1/validator.js +0 -358
  425. package/dist/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
  426. package/dist/generated/ts/cosmos_proto/cosmos.js +0 -216
  427. package/dist/generated/ts/google/api/http.js +0 -356
  428. package/dist/generated/ts/google/protobuf/duration.js +0 -93
  429. package/dist/generated/ts/google/protobuf/timestamp.js +0 -93
  430. package/dist/generated/ts/google/protobuf/wrappers.js +0 -509
  431. package/dist/generated/ts/inco/abci/v1/types.js +0 -73
  432. package/dist/generated/ts/inco/fhe/module/v1/module.js +0 -66
  433. package/dist/generated/ts/inco/fhe/v1/events.js +0 -190
  434. package/dist/generated/ts/inco/fhe/v1/genesis.js +0 -714
  435. package/dist/generated/ts/inco/fhe/v1/types.js +0 -990
  436. package/dist/generated/ts/inco/originchain/module/v1/module.js +0 -66
  437. package/dist/generated/ts/inco/originchain/v1/abci.js +0 -331
  438. package/dist/generated/ts/inco/originchain/v1/events.js +0 -216
  439. package/dist/generated/ts/inco/originchain/v1/genesis.js +0 -69
  440. package/dist/generated/ts/inco/originchain/v1/query.js +0 -280
  441. package/dist/generated/ts/inco/originchain/v1/tx.js +0 -140
  442. package/dist/generated/ts/inco/originchain/v1/types.js +0 -203
  443. package/dist/generated/ts/inco/preflight/module/v1/module.js +0 -66
  444. package/dist/generated/ts/inco/preflight/v1/genesis.js +0 -185
  445. package/dist/generated/ts/inco/preflight/v1/query.js +0 -259
  446. package/dist/generated/ts/inco/preflight/v1/tx.js +0 -448
  447. package/dist/generated/ts/inco/preflight/v1/types.js +0 -398
  448. package/dist/index.d.ts +0 -5
  449. package/dist/l1/index.d.ts +0 -2
  450. package/dist/l1/preflight.js +0 -42
  451. package/dist/lite/deployments.js +0 -21
  452. package/dist/lite/ecies.js +0 -135
  453. package/dist/lite/hadu.js +0 -41
  454. package/dist/lite/index.d.ts +0 -7
  455. package/dist/lite/index.js +0 -23
  456. package/dist/lite/lightning.js +0 -183
  457. package/dist/lite/reencrypt.js +0 -161
  458. package/dist/local/index.d.ts +0 -1
  459. package/dist/reencryption/index.d.ts +0 -2
  460. package/dist/reencryption/index.js +0 -19
  461. package/dist/viem.js +0 -12
  462. /package/dist/{binary.d.ts → cjs/binary.d.ts} +0 -0
  463. /package/dist/{chain.d.ts → cjs/chain.d.ts} +0 -0
  464. /package/dist/{generated → cjs/generated}/abis/addTwo.d.ts +0 -0
  465. /package/dist/{generated → cjs/generated}/abis/inco-fhevm.d.ts +0 -0
  466. /package/dist/{generated → cjs/generated}/abis/index.d.ts +0 -0
  467. /package/dist/{generated → cjs/generated}/abis/lightning.d.ts +0 -0
  468. /package/dist/{generated → cjs/generated}/es/cosmos/ics23/v1/proofs_pb.d.ts +0 -0
  469. /package/dist/{generated → cjs/generated}/es/cosmos/msg/v1/msg_pb.d.ts +0 -0
  470. /package/dist/{generated → cjs/generated}/es/cosmos_proto/cosmos_pb.d.ts +0 -0
  471. /package/dist/{generated → cjs/generated}/es/google/api/annotations_pb.d.ts +0 -0
  472. /package/dist/{generated → cjs/generated}/es/google/api/http_pb.d.ts +0 -0
  473. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/events_pb.d.ts +0 -0
  474. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/genesis_pb.d.ts +0 -0
  475. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/query_pb.d.ts +0 -0
  476. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/tx_pb.d.ts +0 -0
  477. /package/dist/{generated → cjs/generated}/es/inco/fhe/v1/types_pb.d.ts +0 -0
  478. /package/dist/{generated → cjs/generated}/es/inco/kms/lite/v1/types_pb.d.ts +0 -0
  479. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/genesis_pb.d.ts +0 -0
  480. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/query_pb.d.ts +0 -0
  481. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/tx_pb.d.ts +0 -0
  482. /package/dist/{generated → cjs/generated}/es/inco/preflight/v1/types_pb.d.ts +0 -0
  483. /package/dist/{generated → cjs/generated}/es/kms/base_pb.d.ts +0 -0
  484. /package/dist/{generated → cjs/generated}/es/sf/ethereum/type/v2/type_pb.d.ts +0 -0
  485. /package/dist/{generated → cjs/generated}/fhe-environments.d.ts +0 -0
  486. /package/dist/{generated → cjs/generated}/ts/amino/amino.d.ts +0 -0
  487. /package/dist/{generated → cjs/generated}/ts/cometbft/abci/v1/types.d.ts +0 -0
  488. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/keys.d.ts +0 -0
  489. /package/dist/{generated → cjs/generated}/ts/cometbft/crypto/v1/proof.d.ts +0 -0
  490. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/params.d.ts +0 -0
  491. /package/dist/{generated → cjs/generated}/ts/cometbft/types/v1/validator.d.ts +0 -0
  492. /package/dist/{generated → cjs/generated}/ts/cosmos/app/v1alpha1/module.d.ts +0 -0
  493. /package/dist/{generated → cjs/generated}/ts/cosmos/msg/v1/msg.d.ts +0 -0
  494. /package/dist/{generated → cjs/generated}/ts/cosmos_proto/cosmos.d.ts +0 -0
  495. /package/dist/{generated → cjs/generated}/ts/gogoproto/gogo.d.ts +0 -0
  496. /package/dist/{generated → cjs/generated}/ts/google/api/annotations.d.ts +0 -0
  497. /package/dist/{generated → cjs/generated}/ts/google/api/http.d.ts +0 -0
  498. /package/dist/{generated → cjs/generated}/ts/google/protobuf/descriptor.d.ts +0 -0
  499. /package/dist/{generated → cjs/generated}/ts/google/protobuf/duration.d.ts +0 -0
  500. /package/dist/{generated → cjs/generated}/ts/google/protobuf/timestamp.d.ts +0 -0
  501. /package/dist/{generated → cjs/generated}/ts/google/protobuf/wrappers.d.ts +0 -0
  502. /package/dist/{generated → cjs/generated}/ts/inco/abci/v1/types.d.ts +0 -0
  503. /package/dist/{generated → cjs/generated}/ts/inco/fhe/module/v1/module.d.ts +0 -0
  504. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/events.d.ts +0 -0
  505. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/genesis.d.ts +0 -0
  506. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/query.d.ts +0 -0
  507. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/tx.d.ts +0 -0
  508. /package/dist/{generated → cjs/generated}/ts/inco/fhe/v1/types.d.ts +0 -0
  509. /package/dist/{generated → cjs/generated}/ts/inco/originchain/module/v1/module.d.ts +0 -0
  510. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/abci.d.ts +0 -0
  511. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/events.d.ts +0 -0
  512. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/genesis.d.ts +0 -0
  513. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/query.d.ts +0 -0
  514. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/tx.d.ts +0 -0
  515. /package/dist/{generated → cjs/generated}/ts/inco/originchain/v1/types.d.ts +0 -0
  516. /package/dist/{generated → cjs/generated}/ts/inco/preflight/module/v1/module.d.ts +0 -0
  517. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/genesis.d.ts +0 -0
  518. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/query.d.ts +0 -0
  519. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/tx.d.ts +0 -0
  520. /package/dist/{generated → cjs/generated}/ts/inco/preflight/v1/types.d.ts +0 -0
  521. /package/dist/{local → cjs/local}/local-node.d.ts +0 -0
  522. /package/dist/{reencryption → cjs/reencryption}/eip712.d.ts +0 -0
  523. /package/dist/{schema.d.ts → cjs/schema.d.ts} +0 -0
@@ -0,0 +1,716 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v2.7.0
5
+ // protoc unknown
6
+ // source: cometbft/types/v1/params.proto
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ABCIParams = exports.FeatureParams = exports.SynchronyParams = exports.HashedParams = exports.VersionParams = exports.ValidatorParams = exports.EvidenceParams = exports.BlockParams = exports.ConsensusParams = exports.protobufPackage = void 0;
9
+ /* eslint-disable */
10
+ const wire_1 = require("@bufbuild/protobuf/wire");
11
+ const duration_1 = require("../../../google/protobuf/duration");
12
+ const wrappers_1 = require("../../../google/protobuf/wrappers");
13
+ exports.protobufPackage = "cometbft.types.v1";
14
+ function createBaseConsensusParams() {
15
+ return {
16
+ block: undefined,
17
+ evidence: undefined,
18
+ validator: undefined,
19
+ version: undefined,
20
+ abci: undefined,
21
+ synchrony: undefined,
22
+ feature: undefined,
23
+ };
24
+ }
25
+ exports.ConsensusParams = {
26
+ encode(message, writer = new wire_1.BinaryWriter()) {
27
+ if (message.block !== undefined) {
28
+ exports.BlockParams.encode(message.block, writer.uint32(10).fork()).join();
29
+ }
30
+ if (message.evidence !== undefined) {
31
+ exports.EvidenceParams.encode(message.evidence, writer.uint32(18).fork()).join();
32
+ }
33
+ if (message.validator !== undefined) {
34
+ exports.ValidatorParams.encode(message.validator, writer.uint32(26).fork()).join();
35
+ }
36
+ if (message.version !== undefined) {
37
+ exports.VersionParams.encode(message.version, writer.uint32(34).fork()).join();
38
+ }
39
+ if (message.abci !== undefined) {
40
+ exports.ABCIParams.encode(message.abci, writer.uint32(42).fork()).join();
41
+ }
42
+ if (message.synchrony !== undefined) {
43
+ exports.SynchronyParams.encode(message.synchrony, writer.uint32(50).fork()).join();
44
+ }
45
+ if (message.feature !== undefined) {
46
+ exports.FeatureParams.encode(message.feature, writer.uint32(58).fork()).join();
47
+ }
48
+ return writer;
49
+ },
50
+ decode(input, length) {
51
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
52
+ let end = length === undefined ? reader.len : reader.pos + length;
53
+ const message = createBaseConsensusParams();
54
+ while (reader.pos < end) {
55
+ const tag = reader.uint32();
56
+ switch (tag >>> 3) {
57
+ case 1: {
58
+ if (tag !== 10) {
59
+ break;
60
+ }
61
+ message.block = exports.BlockParams.decode(reader, reader.uint32());
62
+ continue;
63
+ }
64
+ case 2: {
65
+ if (tag !== 18) {
66
+ break;
67
+ }
68
+ message.evidence = exports.EvidenceParams.decode(reader, reader.uint32());
69
+ continue;
70
+ }
71
+ case 3: {
72
+ if (tag !== 26) {
73
+ break;
74
+ }
75
+ message.validator = exports.ValidatorParams.decode(reader, reader.uint32());
76
+ continue;
77
+ }
78
+ case 4: {
79
+ if (tag !== 34) {
80
+ break;
81
+ }
82
+ message.version = exports.VersionParams.decode(reader, reader.uint32());
83
+ continue;
84
+ }
85
+ case 5: {
86
+ if (tag !== 42) {
87
+ break;
88
+ }
89
+ message.abci = exports.ABCIParams.decode(reader, reader.uint32());
90
+ continue;
91
+ }
92
+ case 6: {
93
+ if (tag !== 50) {
94
+ break;
95
+ }
96
+ message.synchrony = exports.SynchronyParams.decode(reader, reader.uint32());
97
+ continue;
98
+ }
99
+ case 7: {
100
+ if (tag !== 58) {
101
+ break;
102
+ }
103
+ message.feature = exports.FeatureParams.decode(reader, reader.uint32());
104
+ continue;
105
+ }
106
+ }
107
+ if ((tag & 7) === 4 || tag === 0) {
108
+ break;
109
+ }
110
+ reader.skip(tag & 7);
111
+ }
112
+ return message;
113
+ },
114
+ fromJSON(object) {
115
+ return {
116
+ block: isSet(object.block) ? exports.BlockParams.fromJSON(object.block) : undefined,
117
+ evidence: isSet(object.evidence) ? exports.EvidenceParams.fromJSON(object.evidence) : undefined,
118
+ validator: isSet(object.validator) ? exports.ValidatorParams.fromJSON(object.validator) : undefined,
119
+ version: isSet(object.version) ? exports.VersionParams.fromJSON(object.version) : undefined,
120
+ abci: isSet(object.abci) ? exports.ABCIParams.fromJSON(object.abci) : undefined,
121
+ synchrony: isSet(object.synchrony) ? exports.SynchronyParams.fromJSON(object.synchrony) : undefined,
122
+ feature: isSet(object.feature) ? exports.FeatureParams.fromJSON(object.feature) : undefined,
123
+ };
124
+ },
125
+ toJSON(message) {
126
+ const obj = {};
127
+ if (message.block !== undefined) {
128
+ obj.block = exports.BlockParams.toJSON(message.block);
129
+ }
130
+ if (message.evidence !== undefined) {
131
+ obj.evidence = exports.EvidenceParams.toJSON(message.evidence);
132
+ }
133
+ if (message.validator !== undefined) {
134
+ obj.validator = exports.ValidatorParams.toJSON(message.validator);
135
+ }
136
+ if (message.version !== undefined) {
137
+ obj.version = exports.VersionParams.toJSON(message.version);
138
+ }
139
+ if (message.abci !== undefined) {
140
+ obj.abci = exports.ABCIParams.toJSON(message.abci);
141
+ }
142
+ if (message.synchrony !== undefined) {
143
+ obj.synchrony = exports.SynchronyParams.toJSON(message.synchrony);
144
+ }
145
+ if (message.feature !== undefined) {
146
+ obj.feature = exports.FeatureParams.toJSON(message.feature);
147
+ }
148
+ return obj;
149
+ },
150
+ create(base) {
151
+ return exports.ConsensusParams.fromPartial(base ?? {});
152
+ },
153
+ fromPartial(object) {
154
+ const message = createBaseConsensusParams();
155
+ message.block = (object.block !== undefined && object.block !== null)
156
+ ? exports.BlockParams.fromPartial(object.block)
157
+ : undefined;
158
+ message.evidence = (object.evidence !== undefined && object.evidence !== null)
159
+ ? exports.EvidenceParams.fromPartial(object.evidence)
160
+ : undefined;
161
+ message.validator = (object.validator !== undefined && object.validator !== null)
162
+ ? exports.ValidatorParams.fromPartial(object.validator)
163
+ : undefined;
164
+ message.version = (object.version !== undefined && object.version !== null)
165
+ ? exports.VersionParams.fromPartial(object.version)
166
+ : undefined;
167
+ message.abci = (object.abci !== undefined && object.abci !== null)
168
+ ? exports.ABCIParams.fromPartial(object.abci)
169
+ : undefined;
170
+ message.synchrony = (object.synchrony !== undefined && object.synchrony !== null)
171
+ ? exports.SynchronyParams.fromPartial(object.synchrony)
172
+ : undefined;
173
+ message.feature = (object.feature !== undefined && object.feature !== null)
174
+ ? exports.FeatureParams.fromPartial(object.feature)
175
+ : undefined;
176
+ return message;
177
+ },
178
+ };
179
+ function createBaseBlockParams() {
180
+ return { maxBytes: 0, maxGas: 0 };
181
+ }
182
+ exports.BlockParams = {
183
+ encode(message, writer = new wire_1.BinaryWriter()) {
184
+ if (message.maxBytes !== 0) {
185
+ writer.uint32(8).int64(message.maxBytes);
186
+ }
187
+ if (message.maxGas !== 0) {
188
+ writer.uint32(16).int64(message.maxGas);
189
+ }
190
+ return writer;
191
+ },
192
+ decode(input, length) {
193
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
194
+ let end = length === undefined ? reader.len : reader.pos + length;
195
+ const message = createBaseBlockParams();
196
+ while (reader.pos < end) {
197
+ const tag = reader.uint32();
198
+ switch (tag >>> 3) {
199
+ case 1: {
200
+ if (tag !== 8) {
201
+ break;
202
+ }
203
+ message.maxBytes = longToNumber(reader.int64());
204
+ continue;
205
+ }
206
+ case 2: {
207
+ if (tag !== 16) {
208
+ break;
209
+ }
210
+ message.maxGas = longToNumber(reader.int64());
211
+ continue;
212
+ }
213
+ }
214
+ if ((tag & 7) === 4 || tag === 0) {
215
+ break;
216
+ }
217
+ reader.skip(tag & 7);
218
+ }
219
+ return message;
220
+ },
221
+ fromJSON(object) {
222
+ return {
223
+ maxBytes: isSet(object.maxBytes) ? globalThis.Number(object.maxBytes) : 0,
224
+ maxGas: isSet(object.maxGas) ? globalThis.Number(object.maxGas) : 0,
225
+ };
226
+ },
227
+ toJSON(message) {
228
+ const obj = {};
229
+ if (message.maxBytes !== 0) {
230
+ obj.maxBytes = Math.round(message.maxBytes);
231
+ }
232
+ if (message.maxGas !== 0) {
233
+ obj.maxGas = Math.round(message.maxGas);
234
+ }
235
+ return obj;
236
+ },
237
+ create(base) {
238
+ return exports.BlockParams.fromPartial(base ?? {});
239
+ },
240
+ fromPartial(object) {
241
+ const message = createBaseBlockParams();
242
+ message.maxBytes = object.maxBytes ?? 0;
243
+ message.maxGas = object.maxGas ?? 0;
244
+ return message;
245
+ },
246
+ };
247
+ function createBaseEvidenceParams() {
248
+ return { maxAgeNumBlocks: 0, maxAgeDuration: undefined, maxBytes: 0 };
249
+ }
250
+ exports.EvidenceParams = {
251
+ encode(message, writer = new wire_1.BinaryWriter()) {
252
+ if (message.maxAgeNumBlocks !== 0) {
253
+ writer.uint32(8).int64(message.maxAgeNumBlocks);
254
+ }
255
+ if (message.maxAgeDuration !== undefined) {
256
+ duration_1.Duration.encode(message.maxAgeDuration, writer.uint32(18).fork()).join();
257
+ }
258
+ if (message.maxBytes !== 0) {
259
+ writer.uint32(24).int64(message.maxBytes);
260
+ }
261
+ return writer;
262
+ },
263
+ decode(input, length) {
264
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
265
+ let end = length === undefined ? reader.len : reader.pos + length;
266
+ const message = createBaseEvidenceParams();
267
+ while (reader.pos < end) {
268
+ const tag = reader.uint32();
269
+ switch (tag >>> 3) {
270
+ case 1: {
271
+ if (tag !== 8) {
272
+ break;
273
+ }
274
+ message.maxAgeNumBlocks = longToNumber(reader.int64());
275
+ continue;
276
+ }
277
+ case 2: {
278
+ if (tag !== 18) {
279
+ break;
280
+ }
281
+ message.maxAgeDuration = duration_1.Duration.decode(reader, reader.uint32());
282
+ continue;
283
+ }
284
+ case 3: {
285
+ if (tag !== 24) {
286
+ break;
287
+ }
288
+ message.maxBytes = longToNumber(reader.int64());
289
+ continue;
290
+ }
291
+ }
292
+ if ((tag & 7) === 4 || tag === 0) {
293
+ break;
294
+ }
295
+ reader.skip(tag & 7);
296
+ }
297
+ return message;
298
+ },
299
+ fromJSON(object) {
300
+ return {
301
+ maxAgeNumBlocks: isSet(object.maxAgeNumBlocks) ? globalThis.Number(object.maxAgeNumBlocks) : 0,
302
+ maxAgeDuration: isSet(object.maxAgeDuration) ? duration_1.Duration.fromJSON(object.maxAgeDuration) : undefined,
303
+ maxBytes: isSet(object.maxBytes) ? globalThis.Number(object.maxBytes) : 0,
304
+ };
305
+ },
306
+ toJSON(message) {
307
+ const obj = {};
308
+ if (message.maxAgeNumBlocks !== 0) {
309
+ obj.maxAgeNumBlocks = Math.round(message.maxAgeNumBlocks);
310
+ }
311
+ if (message.maxAgeDuration !== undefined) {
312
+ obj.maxAgeDuration = duration_1.Duration.toJSON(message.maxAgeDuration);
313
+ }
314
+ if (message.maxBytes !== 0) {
315
+ obj.maxBytes = Math.round(message.maxBytes);
316
+ }
317
+ return obj;
318
+ },
319
+ create(base) {
320
+ return exports.EvidenceParams.fromPartial(base ?? {});
321
+ },
322
+ fromPartial(object) {
323
+ const message = createBaseEvidenceParams();
324
+ message.maxAgeNumBlocks = object.maxAgeNumBlocks ?? 0;
325
+ message.maxAgeDuration = (object.maxAgeDuration !== undefined && object.maxAgeDuration !== null)
326
+ ? duration_1.Duration.fromPartial(object.maxAgeDuration)
327
+ : undefined;
328
+ message.maxBytes = object.maxBytes ?? 0;
329
+ return message;
330
+ },
331
+ };
332
+ function createBaseValidatorParams() {
333
+ return { pubKeyTypes: [] };
334
+ }
335
+ exports.ValidatorParams = {
336
+ encode(message, writer = new wire_1.BinaryWriter()) {
337
+ for (const v of message.pubKeyTypes) {
338
+ writer.uint32(10).string(v);
339
+ }
340
+ return writer;
341
+ },
342
+ decode(input, length) {
343
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
344
+ let end = length === undefined ? reader.len : reader.pos + length;
345
+ const message = createBaseValidatorParams();
346
+ while (reader.pos < end) {
347
+ const tag = reader.uint32();
348
+ switch (tag >>> 3) {
349
+ case 1: {
350
+ if (tag !== 10) {
351
+ break;
352
+ }
353
+ message.pubKeyTypes.push(reader.string());
354
+ continue;
355
+ }
356
+ }
357
+ if ((tag & 7) === 4 || tag === 0) {
358
+ break;
359
+ }
360
+ reader.skip(tag & 7);
361
+ }
362
+ return message;
363
+ },
364
+ fromJSON(object) {
365
+ return {
366
+ pubKeyTypes: globalThis.Array.isArray(object?.pubKeyTypes)
367
+ ? object.pubKeyTypes.map((e) => globalThis.String(e))
368
+ : [],
369
+ };
370
+ },
371
+ toJSON(message) {
372
+ const obj = {};
373
+ if (message.pubKeyTypes?.length) {
374
+ obj.pubKeyTypes = message.pubKeyTypes;
375
+ }
376
+ return obj;
377
+ },
378
+ create(base) {
379
+ return exports.ValidatorParams.fromPartial(base ?? {});
380
+ },
381
+ fromPartial(object) {
382
+ const message = createBaseValidatorParams();
383
+ message.pubKeyTypes = object.pubKeyTypes?.map((e) => e) || [];
384
+ return message;
385
+ },
386
+ };
387
+ function createBaseVersionParams() {
388
+ return { app: 0 };
389
+ }
390
+ exports.VersionParams = {
391
+ encode(message, writer = new wire_1.BinaryWriter()) {
392
+ if (message.app !== 0) {
393
+ writer.uint32(8).uint64(message.app);
394
+ }
395
+ return writer;
396
+ },
397
+ decode(input, length) {
398
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
399
+ let end = length === undefined ? reader.len : reader.pos + length;
400
+ const message = createBaseVersionParams();
401
+ while (reader.pos < end) {
402
+ const tag = reader.uint32();
403
+ switch (tag >>> 3) {
404
+ case 1: {
405
+ if (tag !== 8) {
406
+ break;
407
+ }
408
+ message.app = longToNumber(reader.uint64());
409
+ continue;
410
+ }
411
+ }
412
+ if ((tag & 7) === 4 || tag === 0) {
413
+ break;
414
+ }
415
+ reader.skip(tag & 7);
416
+ }
417
+ return message;
418
+ },
419
+ fromJSON(object) {
420
+ return { app: isSet(object.app) ? globalThis.Number(object.app) : 0 };
421
+ },
422
+ toJSON(message) {
423
+ const obj = {};
424
+ if (message.app !== 0) {
425
+ obj.app = Math.round(message.app);
426
+ }
427
+ return obj;
428
+ },
429
+ create(base) {
430
+ return exports.VersionParams.fromPartial(base ?? {});
431
+ },
432
+ fromPartial(object) {
433
+ const message = createBaseVersionParams();
434
+ message.app = object.app ?? 0;
435
+ return message;
436
+ },
437
+ };
438
+ function createBaseHashedParams() {
439
+ return { blockMaxBytes: 0, blockMaxGas: 0 };
440
+ }
441
+ exports.HashedParams = {
442
+ encode(message, writer = new wire_1.BinaryWriter()) {
443
+ if (message.blockMaxBytes !== 0) {
444
+ writer.uint32(8).int64(message.blockMaxBytes);
445
+ }
446
+ if (message.blockMaxGas !== 0) {
447
+ writer.uint32(16).int64(message.blockMaxGas);
448
+ }
449
+ return writer;
450
+ },
451
+ decode(input, length) {
452
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
453
+ let end = length === undefined ? reader.len : reader.pos + length;
454
+ const message = createBaseHashedParams();
455
+ while (reader.pos < end) {
456
+ const tag = reader.uint32();
457
+ switch (tag >>> 3) {
458
+ case 1: {
459
+ if (tag !== 8) {
460
+ break;
461
+ }
462
+ message.blockMaxBytes = longToNumber(reader.int64());
463
+ continue;
464
+ }
465
+ case 2: {
466
+ if (tag !== 16) {
467
+ break;
468
+ }
469
+ message.blockMaxGas = longToNumber(reader.int64());
470
+ continue;
471
+ }
472
+ }
473
+ if ((tag & 7) === 4 || tag === 0) {
474
+ break;
475
+ }
476
+ reader.skip(tag & 7);
477
+ }
478
+ return message;
479
+ },
480
+ fromJSON(object) {
481
+ return {
482
+ blockMaxBytes: isSet(object.blockMaxBytes) ? globalThis.Number(object.blockMaxBytes) : 0,
483
+ blockMaxGas: isSet(object.blockMaxGas) ? globalThis.Number(object.blockMaxGas) : 0,
484
+ };
485
+ },
486
+ toJSON(message) {
487
+ const obj = {};
488
+ if (message.blockMaxBytes !== 0) {
489
+ obj.blockMaxBytes = Math.round(message.blockMaxBytes);
490
+ }
491
+ if (message.blockMaxGas !== 0) {
492
+ obj.blockMaxGas = Math.round(message.blockMaxGas);
493
+ }
494
+ return obj;
495
+ },
496
+ create(base) {
497
+ return exports.HashedParams.fromPartial(base ?? {});
498
+ },
499
+ fromPartial(object) {
500
+ const message = createBaseHashedParams();
501
+ message.blockMaxBytes = object.blockMaxBytes ?? 0;
502
+ message.blockMaxGas = object.blockMaxGas ?? 0;
503
+ return message;
504
+ },
505
+ };
506
+ function createBaseSynchronyParams() {
507
+ return { precision: undefined, messageDelay: undefined };
508
+ }
509
+ exports.SynchronyParams = {
510
+ encode(message, writer = new wire_1.BinaryWriter()) {
511
+ if (message.precision !== undefined) {
512
+ duration_1.Duration.encode(message.precision, writer.uint32(10).fork()).join();
513
+ }
514
+ if (message.messageDelay !== undefined) {
515
+ duration_1.Duration.encode(message.messageDelay, writer.uint32(18).fork()).join();
516
+ }
517
+ return writer;
518
+ },
519
+ decode(input, length) {
520
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
521
+ let end = length === undefined ? reader.len : reader.pos + length;
522
+ const message = createBaseSynchronyParams();
523
+ while (reader.pos < end) {
524
+ const tag = reader.uint32();
525
+ switch (tag >>> 3) {
526
+ case 1: {
527
+ if (tag !== 10) {
528
+ break;
529
+ }
530
+ message.precision = duration_1.Duration.decode(reader, reader.uint32());
531
+ continue;
532
+ }
533
+ case 2: {
534
+ if (tag !== 18) {
535
+ break;
536
+ }
537
+ message.messageDelay = duration_1.Duration.decode(reader, reader.uint32());
538
+ continue;
539
+ }
540
+ }
541
+ if ((tag & 7) === 4 || tag === 0) {
542
+ break;
543
+ }
544
+ reader.skip(tag & 7);
545
+ }
546
+ return message;
547
+ },
548
+ fromJSON(object) {
549
+ return {
550
+ precision: isSet(object.precision) ? duration_1.Duration.fromJSON(object.precision) : undefined,
551
+ messageDelay: isSet(object.messageDelay) ? duration_1.Duration.fromJSON(object.messageDelay) : undefined,
552
+ };
553
+ },
554
+ toJSON(message) {
555
+ const obj = {};
556
+ if (message.precision !== undefined) {
557
+ obj.precision = duration_1.Duration.toJSON(message.precision);
558
+ }
559
+ if (message.messageDelay !== undefined) {
560
+ obj.messageDelay = duration_1.Duration.toJSON(message.messageDelay);
561
+ }
562
+ return obj;
563
+ },
564
+ create(base) {
565
+ return exports.SynchronyParams.fromPartial(base ?? {});
566
+ },
567
+ fromPartial(object) {
568
+ const message = createBaseSynchronyParams();
569
+ message.precision = (object.precision !== undefined && object.precision !== null)
570
+ ? duration_1.Duration.fromPartial(object.precision)
571
+ : undefined;
572
+ message.messageDelay = (object.messageDelay !== undefined && object.messageDelay !== null)
573
+ ? duration_1.Duration.fromPartial(object.messageDelay)
574
+ : undefined;
575
+ return message;
576
+ },
577
+ };
578
+ function createBaseFeatureParams() {
579
+ return { voteExtensionsEnableHeight: undefined, pbtsEnableHeight: undefined };
580
+ }
581
+ exports.FeatureParams = {
582
+ encode(message, writer = new wire_1.BinaryWriter()) {
583
+ if (message.voteExtensionsEnableHeight !== undefined) {
584
+ wrappers_1.Int64Value.encode({ value: message.voteExtensionsEnableHeight }, writer.uint32(10).fork()).join();
585
+ }
586
+ if (message.pbtsEnableHeight !== undefined) {
587
+ wrappers_1.Int64Value.encode({ value: message.pbtsEnableHeight }, writer.uint32(18).fork()).join();
588
+ }
589
+ return writer;
590
+ },
591
+ decode(input, length) {
592
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
593
+ let end = length === undefined ? reader.len : reader.pos + length;
594
+ const message = createBaseFeatureParams();
595
+ while (reader.pos < end) {
596
+ const tag = reader.uint32();
597
+ switch (tag >>> 3) {
598
+ case 1: {
599
+ if (tag !== 10) {
600
+ break;
601
+ }
602
+ message.voteExtensionsEnableHeight = wrappers_1.Int64Value.decode(reader, reader.uint32()).value;
603
+ continue;
604
+ }
605
+ case 2: {
606
+ if (tag !== 18) {
607
+ break;
608
+ }
609
+ message.pbtsEnableHeight = wrappers_1.Int64Value.decode(reader, reader.uint32()).value;
610
+ continue;
611
+ }
612
+ }
613
+ if ((tag & 7) === 4 || tag === 0) {
614
+ break;
615
+ }
616
+ reader.skip(tag & 7);
617
+ }
618
+ return message;
619
+ },
620
+ fromJSON(object) {
621
+ return {
622
+ voteExtensionsEnableHeight: isSet(object.voteExtensionsEnableHeight)
623
+ ? Number(object.voteExtensionsEnableHeight)
624
+ : undefined,
625
+ pbtsEnableHeight: isSet(object.pbtsEnableHeight) ? Number(object.pbtsEnableHeight) : undefined,
626
+ };
627
+ },
628
+ toJSON(message) {
629
+ const obj = {};
630
+ if (message.voteExtensionsEnableHeight !== undefined) {
631
+ obj.voteExtensionsEnableHeight = message.voteExtensionsEnableHeight;
632
+ }
633
+ if (message.pbtsEnableHeight !== undefined) {
634
+ obj.pbtsEnableHeight = message.pbtsEnableHeight;
635
+ }
636
+ return obj;
637
+ },
638
+ create(base) {
639
+ return exports.FeatureParams.fromPartial(base ?? {});
640
+ },
641
+ fromPartial(object) {
642
+ const message = createBaseFeatureParams();
643
+ message.voteExtensionsEnableHeight = object.voteExtensionsEnableHeight ?? undefined;
644
+ message.pbtsEnableHeight = object.pbtsEnableHeight ?? undefined;
645
+ return message;
646
+ },
647
+ };
648
+ function createBaseABCIParams() {
649
+ return { voteExtensionsEnableHeight: 0 };
650
+ }
651
+ exports.ABCIParams = {
652
+ encode(message, writer = new wire_1.BinaryWriter()) {
653
+ if (message.voteExtensionsEnableHeight !== 0) {
654
+ writer.uint32(8).int64(message.voteExtensionsEnableHeight);
655
+ }
656
+ return writer;
657
+ },
658
+ decode(input, length) {
659
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
660
+ let end = length === undefined ? reader.len : reader.pos + length;
661
+ const message = createBaseABCIParams();
662
+ while (reader.pos < end) {
663
+ const tag = reader.uint32();
664
+ switch (tag >>> 3) {
665
+ case 1: {
666
+ if (tag !== 8) {
667
+ break;
668
+ }
669
+ message.voteExtensionsEnableHeight = longToNumber(reader.int64());
670
+ continue;
671
+ }
672
+ }
673
+ if ((tag & 7) === 4 || tag === 0) {
674
+ break;
675
+ }
676
+ reader.skip(tag & 7);
677
+ }
678
+ return message;
679
+ },
680
+ fromJSON(object) {
681
+ return {
682
+ voteExtensionsEnableHeight: isSet(object.voteExtensionsEnableHeight)
683
+ ? globalThis.Number(object.voteExtensionsEnableHeight)
684
+ : 0,
685
+ };
686
+ },
687
+ toJSON(message) {
688
+ const obj = {};
689
+ if (message.voteExtensionsEnableHeight !== 0) {
690
+ obj.voteExtensionsEnableHeight = Math.round(message.voteExtensionsEnableHeight);
691
+ }
692
+ return obj;
693
+ },
694
+ create(base) {
695
+ return exports.ABCIParams.fromPartial(base ?? {});
696
+ },
697
+ fromPartial(object) {
698
+ const message = createBaseABCIParams();
699
+ message.voteExtensionsEnableHeight = object.voteExtensionsEnableHeight ?? 0;
700
+ return message;
701
+ },
702
+ };
703
+ function longToNumber(int64) {
704
+ const num = globalThis.Number(int64.toString());
705
+ if (num > globalThis.Number.MAX_SAFE_INTEGER) {
706
+ throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
707
+ }
708
+ if (num < globalThis.Number.MIN_SAFE_INTEGER) {
709
+ throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
710
+ }
711
+ return num;
712
+ }
713
+ function isSet(value) {
714
+ return value !== null && value !== undefined;
715
+ }
716
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC90cy9jb21ldGJmdC90eXBlcy92MS9wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxZQUFZO0FBQ1osZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQyx5Q0FBeUM7OztBQUV6QyxvQkFBb0I7QUFDcEIsa0RBQXFFO0FBQ3JFLGdFQUE2RDtBQUM3RCxnRUFBK0Q7QUFFbEQsUUFBQSxlQUFlLEdBQUcsbUJBQW1CLENBQUM7QUF1S25ELFNBQVMseUJBQXlCO0lBQ2hDLE9BQU87UUFDTCxLQUFLLEVBQUUsU0FBUztRQUNoQixRQUFRLEVBQUUsU0FBUztRQUNuQixTQUFTLEVBQUUsU0FBUztRQUNwQixPQUFPLEVBQUUsU0FBUztRQUNsQixJQUFJLEVBQUUsU0FBUztRQUNmLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLE9BQU8sRUFBRSxTQUFTO0tBQ25CLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSxlQUFlLEdBQWdDO0lBQzFELE1BQU0sQ0FBQyxPQUF3QixFQUFFLFNBQXVCLElBQUksbUJBQVksRUFBRTtRQUN4RSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsbUJBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxzQkFBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FB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