coreum-js 2.3.1

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 (218) hide show
  1. package/README.md +18 -0
  2. package/dist/main/client/index.d.ts +48 -0
  3. package/dist/main/client/index.js +242 -0
  4. package/dist/main/coreum/asset/ft/v1/event.d.ts +148 -0
  5. package/dist/main/coreum/asset/ft/v1/event.js +377 -0
  6. package/dist/main/coreum/asset/ft/v1/genesis.d.ts +415 -0
  7. package/dist/main/coreum/asset/ft/v1/genesis.js +197 -0
  8. package/dist/main/coreum/asset/ft/v1/params.d.ts +54 -0
  9. package/dist/main/coreum/asset/ft/v1/params.js +69 -0
  10. package/dist/main/coreum/asset/ft/v1/query.d.ts +1863 -0
  11. package/dist/main/coreum/asset/ft/v1/query.js +892 -0
  12. package/dist/main/coreum/asset/ft/v1/token.d.ts +145 -0
  13. package/dist/main/coreum/asset/ft/v1/token.js +361 -0
  14. package/dist/main/coreum/asset/ft/v1/tx.d.ts +416 -0
  15. package/dist/main/coreum/asset/ft/v1/tx.js +760 -0
  16. package/dist/main/coreum/asset/index.d.ts +3 -0
  17. package/dist/main/coreum/asset/index.js +26 -0
  18. package/dist/main/coreum/asset/nft/v1/event.d.ts +191 -0
  19. package/dist/main/coreum/asset/nft/v1/event.js +490 -0
  20. package/dist/main/coreum/asset/nft/v1/genesis.d.ts +321 -0
  21. package/dist/main/coreum/asset/nft/v1/genesis.js +362 -0
  22. package/dist/main/coreum/asset/nft/v1/nft.d.ts +153 -0
  23. package/dist/main/coreum/asset/nft/v1/nft.js +361 -0
  24. package/dist/main/coreum/asset/nft/v1/params.d.ts +54 -0
  25. package/dist/main/coreum/asset/nft/v1/params.js +69 -0
  26. package/dist/main/coreum/asset/nft/v1/query.d.ts +785 -0
  27. package/dist/main/coreum/asset/nft/v1/query.js +627 -0
  28. package/dist/main/coreum/asset/nft/v1/tx.d.ts +357 -0
  29. package/dist/main/coreum/asset/nft/v1/tx.js +806 -0
  30. package/dist/main/coreum/asset/nft/v1/types.d.ts +33 -0
  31. package/dist/main/coreum/asset/nft/v1/types.js +108 -0
  32. package/dist/main/coreum/customparams/v1/genesis.d.ts +48 -0
  33. package/dist/main/coreum/customparams/v1/genesis.js +70 -0
  34. package/dist/main/coreum/customparams/v1/params.d.ts +35 -0
  35. package/dist/main/coreum/customparams/v1/params.js +67 -0
  36. package/dist/main/coreum/customparams/v1/query.d.ts +74 -0
  37. package/dist/main/coreum/customparams/v1/query.js +119 -0
  38. package/dist/main/coreum/extensions/ft.d.ts +13 -0
  39. package/dist/main/coreum/extensions/ft.js +36 -0
  40. package/dist/main/coreum/extensions/nft.d.ts +11 -0
  41. package/dist/main/coreum/extensions/nft.js +30 -0
  42. package/dist/main/coreum/extensions/nftbeta.d.ts +13 -0
  43. package/dist/main/coreum/extensions/nftbeta.js +36 -0
  44. package/dist/main/coreum/feemodel/v1/genesis.d.ts +251 -0
  45. package/dist/main/coreum/feemodel/v1/genesis.js +87 -0
  46. package/dist/main/coreum/feemodel/v1/params.d.ts +384 -0
  47. package/dist/main/coreum/feemodel/v1/params.js +201 -0
  48. package/dist/main/coreum/feemodel/v1/query.d.ts +306 -0
  49. package/dist/main/coreum/feemodel/v1/query.js +214 -0
  50. package/dist/main/coreum/google/api/annotations.d.ts +1 -0
  51. package/dist/main/coreum/google/api/annotations.js +6 -0
  52. package/dist/main/coreum/google/api/http.d.ts +2953 -0
  53. package/dist/main/coreum/google/api/http.js +329 -0
  54. package/dist/main/coreum/google/protobuf/any.d.ts +148 -0
  55. package/dist/main/coreum/google/protobuf/any.js +122 -0
  56. package/dist/main/coreum/index.d.ts +291 -0
  57. package/dist/main/coreum/index.js +116 -0
  58. package/dist/main/coreum/nft/index.d.ts +2 -0
  59. package/dist/main/coreum/nft/index.js +9 -0
  60. package/dist/main/coreum/nft/v1beta1/event.d.ts +109 -0
  61. package/dist/main/coreum/nft/v1beta1/event.js +255 -0
  62. package/dist/main/coreum/nft/v1beta1/genesis.d.ts +460 -0
  63. package/dist/main/coreum/nft/v1beta1/genesis.js +160 -0
  64. package/dist/main/coreum/nft/v1beta1/nft.d.ts +153 -0
  65. package/dist/main/coreum/nft/v1beta1/nft.js +258 -0
  66. package/dist/main/coreum/nft/v1beta1/query.d.ts +1733 -0
  67. package/dist/main/coreum/nft/v1beta1/query.js +872 -0
  68. package/dist/main/coreum/nft/v1beta1/tx.d.ts +80 -0
  69. package/dist/main/coreum/nft/v1beta1/tx.js +155 -0
  70. package/dist/main/cosmos/base/query/v1beta1/pagination.d.ts +470 -0
  71. package/dist/main/cosmos/base/query/v1beta1/pagination.js +224 -0
  72. package/dist/main/cosmos/base/v1beta1/coin.d.ts +114 -0
  73. package/dist/main/cosmos/base/v1beta1/coin.js +242 -0
  74. package/dist/main/cosmos/msg/v1/msg.d.ts +1 -0
  75. package/dist/main/cosmos/msg/v1/msg.js +6 -0
  76. package/dist/main/index.d.ts +5 -0
  77. package/dist/main/index.js +22 -0
  78. package/dist/main/services/cosmostation.d.ts +4 -0
  79. package/dist/main/services/cosmostation.js +47 -0
  80. package/dist/main/services/index.d.ts +2 -0
  81. package/dist/main/services/index.js +19 -0
  82. package/dist/main/services/keplr.d.ts +2 -0
  83. package/dist/main/services/keplr.js +119 -0
  84. package/dist/main/signers/dcent.d.ts +1 -0
  85. package/dist/main/signers/dcent.js +41 -0
  86. package/dist/main/signers/index.d.ts +3 -0
  87. package/dist/main/signers/index.js +20 -0
  88. package/dist/main/signers/offline.d.ts +4 -0
  89. package/dist/main/signers/offline.js +11 -0
  90. package/dist/main/signers/signer.d.ts +6 -0
  91. package/dist/main/signers/signer.js +17 -0
  92. package/dist/main/types/core.d.ts +24 -0
  93. package/dist/main/types/core.js +18 -0
  94. package/dist/main/types/coreum.d.ts +74 -0
  95. package/dist/main/types/coreum.js +80 -0
  96. package/dist/main/types/index.d.ts +3 -0
  97. package/dist/main/types/index.js +20 -0
  98. package/dist/main/types/signing.d.ts +20 -0
  99. package/dist/main/types/signing.js +17 -0
  100. package/dist/main/utils/calculations.d.ts +6 -0
  101. package/dist/main/utils/calculations.js +41 -0
  102. package/dist/main/utils/event.d.ts +5 -0
  103. package/dist/main/utils/event.js +22 -0
  104. package/dist/main/utils/index.d.ts +3 -0
  105. package/dist/main/utils/index.js +20 -0
  106. package/dist/main/utils/nft.d.ts +2 -0
  107. package/dist/main/utils/nft.js +9 -0
  108. package/dist/main/utils/wallet.d.ts +5 -0
  109. package/dist/main/utils/wallet.js +37 -0
  110. package/dist/module/client/index.d.ts +48 -0
  111. package/dist/module/client/index.js +241 -0
  112. package/dist/module/coreum/asset/ft/v1/event.d.ts +148 -0
  113. package/dist/module/coreum/asset/ft/v1/event.js +368 -0
  114. package/dist/module/coreum/asset/ft/v1/genesis.d.ts +415 -0
  115. package/dist/module/coreum/asset/ft/v1/genesis.js +189 -0
  116. package/dist/module/coreum/asset/ft/v1/params.d.ts +54 -0
  117. package/dist/module/coreum/asset/ft/v1/params.js +63 -0
  118. package/dist/module/coreum/asset/ft/v1/query.d.ts +1863 -0
  119. package/dist/module/coreum/asset/ft/v1/query.js +878 -0
  120. package/dist/module/coreum/asset/ft/v1/token.d.ts +145 -0
  121. package/dist/module/coreum/asset/ft/v1/token.js +351 -0
  122. package/dist/module/coreum/asset/ft/v1/tx.d.ts +416 -0
  123. package/dist/module/coreum/asset/ft/v1/tx.js +747 -0
  124. package/dist/module/coreum/asset/index.d.ts +3 -0
  125. package/dist/module/coreum/asset/index.js +23 -0
  126. package/dist/module/coreum/asset/nft/v1/event.d.ts +191 -0
  127. package/dist/module/coreum/asset/nft/v1/event.js +479 -0
  128. package/dist/module/coreum/asset/nft/v1/genesis.d.ts +321 -0
  129. package/dist/module/coreum/asset/nft/v1/genesis.js +352 -0
  130. package/dist/module/coreum/asset/nft/v1/nft.d.ts +153 -0
  131. package/dist/module/coreum/asset/nft/v1/nft.js +351 -0
  132. package/dist/module/coreum/asset/nft/v1/params.d.ts +54 -0
  133. package/dist/module/coreum/asset/nft/v1/params.js +63 -0
  134. package/dist/module/coreum/asset/nft/v1/query.d.ts +785 -0
  135. package/dist/module/coreum/asset/nft/v1/query.js +615 -0
  136. package/dist/module/coreum/asset/nft/v1/tx.d.ts +357 -0
  137. package/dist/module/coreum/asset/nft/v1/tx.js +794 -0
  138. package/dist/module/coreum/asset/nft/v1/types.d.ts +33 -0
  139. package/dist/module/coreum/asset/nft/v1/types.js +101 -0
  140. package/dist/module/coreum/customparams/v1/genesis.d.ts +48 -0
  141. package/dist/module/coreum/customparams/v1/genesis.js +64 -0
  142. package/dist/module/coreum/customparams/v1/params.d.ts +35 -0
  143. package/dist/module/coreum/customparams/v1/params.js +60 -0
  144. package/dist/module/coreum/customparams/v1/query.d.ts +74 -0
  145. package/dist/module/coreum/customparams/v1/query.js +114 -0
  146. package/dist/module/coreum/extensions/ft.d.ts +13 -0
  147. package/dist/module/coreum/extensions/ft.js +32 -0
  148. package/dist/module/coreum/extensions/nft.d.ts +11 -0
  149. package/dist/module/coreum/extensions/nft.js +26 -0
  150. package/dist/module/coreum/extensions/nftbeta.d.ts +13 -0
  151. package/dist/module/coreum/extensions/nftbeta.js +32 -0
  152. package/dist/module/coreum/feemodel/v1/genesis.d.ts +251 -0
  153. package/dist/module/coreum/feemodel/v1/genesis.js +81 -0
  154. package/dist/module/coreum/feemodel/v1/params.d.ts +384 -0
  155. package/dist/module/coreum/feemodel/v1/params.js +194 -0
  156. package/dist/module/coreum/feemodel/v1/query.d.ts +306 -0
  157. package/dist/module/coreum/feemodel/v1/query.js +209 -0
  158. package/dist/module/coreum/google/api/annotations.d.ts +1 -0
  159. package/dist/module/coreum/google/api/annotations.js +3 -0
  160. package/dist/module/coreum/google/api/http.d.ts +2953 -0
  161. package/dist/module/coreum/google/api/http.js +320 -0
  162. package/dist/module/coreum/google/protobuf/any.d.ts +148 -0
  163. package/dist/module/coreum/google/protobuf/any.js +115 -0
  164. package/dist/module/coreum/index.d.ts +291 -0
  165. package/dist/module/coreum/index.js +113 -0
  166. package/dist/module/coreum/nft/index.d.ts +2 -0
  167. package/dist/module/coreum/nft/index.js +6 -0
  168. package/dist/module/coreum/nft/v1beta1/event.d.ts +109 -0
  169. package/dist/module/coreum/nft/v1beta1/event.js +246 -0
  170. package/dist/module/coreum/nft/v1beta1/genesis.d.ts +460 -0
  171. package/dist/module/coreum/nft/v1beta1/genesis.js +152 -0
  172. package/dist/module/coreum/nft/v1beta1/nft.d.ts +153 -0
  173. package/dist/module/coreum/nft/v1beta1/nft.js +250 -0
  174. package/dist/module/coreum/nft/v1beta1/query.d.ts +1733 -0
  175. package/dist/module/coreum/nft/v1beta1/query.js +858 -0
  176. package/dist/module/coreum/nft/v1beta1/tx.d.ts +80 -0
  177. package/dist/module/coreum/nft/v1beta1/tx.js +149 -0
  178. package/dist/module/cosmos/base/query/v1beta1/pagination.d.ts +470 -0
  179. package/dist/module/cosmos/base/query/v1beta1/pagination.js +216 -0
  180. package/dist/module/cosmos/base/v1beta1/coin.d.ts +114 -0
  181. package/dist/module/cosmos/base/v1beta1/coin.js +232 -0
  182. package/dist/module/cosmos/msg/v1/msg.d.ts +1 -0
  183. package/dist/module/cosmos/msg/v1/msg.js +3 -0
  184. package/dist/module/index.d.ts +5 -0
  185. package/dist/module/index.js +6 -0
  186. package/dist/module/services/cosmostation.d.ts +4 -0
  187. package/dist/module/services/cosmostation.js +42 -0
  188. package/dist/module/services/index.d.ts +2 -0
  189. package/dist/module/services/index.js +3 -0
  190. package/dist/module/services/keplr.d.ts +2 -0
  191. package/dist/module/services/keplr.js +115 -0
  192. package/dist/module/signers/dcent.d.ts +1 -0
  193. package/dist/module/signers/dcent.js +31 -0
  194. package/dist/module/signers/index.d.ts +3 -0
  195. package/dist/module/signers/index.js +4 -0
  196. package/dist/module/signers/offline.d.ts +4 -0
  197. package/dist/module/signers/offline.js +7 -0
  198. package/dist/module/signers/signer.d.ts +6 -0
  199. package/dist/module/signers/signer.js +11 -0
  200. package/dist/module/types/core.d.ts +24 -0
  201. package/dist/module/types/core.js +15 -0
  202. package/dist/module/types/coreum.d.ts +74 -0
  203. package/dist/module/types/coreum.js +77 -0
  204. package/dist/module/types/index.d.ts +3 -0
  205. package/dist/module/types/index.js +4 -0
  206. package/dist/module/types/signing.d.ts +20 -0
  207. package/dist/module/types/signing.js +14 -0
  208. package/dist/module/utils/calculations.d.ts +6 -0
  209. package/dist/module/utils/calculations.js +29 -0
  210. package/dist/module/utils/event.d.ts +5 -0
  211. package/dist/module/utils/event.js +18 -0
  212. package/dist/module/utils/index.d.ts +3 -0
  213. package/dist/module/utils/index.js +4 -0
  214. package/dist/module/utils/nft.d.ts +2 -0
  215. package/dist/module/utils/nft.js +5 -0
  216. package/dist/module/utils/wallet.d.ts +5 -0
  217. package/dist/module/utils/wallet.js +31 -0
  218. package/package.json +55 -0
@@ -0,0 +1,384 @@
1
+ import Long from "long";
2
+ import _m0 from "protobufjs/minimal";
3
+ export declare const protobufPackage = "coreum.feemodel.v1";
4
+ /**
5
+ * ModelParams define fee model params.
6
+ * There are four regions on the fee model curve
7
+ * - between 0 and "long average block gas" where gas price goes down exponentially from InitialGasPrice to gas price with maximum discount (InitialGasPrice * (1 - MaxDiscount))
8
+ * - between "long average block gas" and EscalationStartBlockGas (EscalationStartBlockGas = MaxBlockGas * EscalationStartFraction) where we offer gas price with maximum discount all the time
9
+ * - between EscalationStartBlockGas (EscalationStartBlockGas = MaxBlockGas * EscalationStartFraction) and MaxBlockGas where price goes up rapidly (being an output of a power function) from gas price with maximum discount to MaxGasPrice (MaxGasPrice = InitialGasPrice * MaxGasMultiplier)
10
+ * - above MaxBlockGas (if it happens for any reason) where price is equal to MaxGasPrice (MaxGasPrice = InitialGasPrice * MaxGasMultiplier)
11
+ *
12
+ * The input (x value) for that function is calculated by taking short block gas average.
13
+ * Price (y value) being an output of the fee model is used as the minimum gas price for next block.
14
+ */
15
+ export interface ModelParams {
16
+ /** initial_gas_price is used when block gas short average is 0. It happens when there are no transactions being broadcasted. This value is also used to initialize gas price on brand-new chain. */
17
+ initialGasPrice: string;
18
+ /** max_gas_price_multiplier is used to compute max_gas_price (max_gas_price = initial_gas_price * max_gas_price_multiplier). Max gas price is charged when block gas short average is greater than or equal to MaxBlockGas. This value is used to limit gas price escalation to avoid having possible infinity GasPrice value otherwise. */
19
+ maxGasPriceMultiplier: string;
20
+ /** max_discount is th maximum discount we offer on top of initial gas price if short average block gas is between long average block gas and escalation start block gas. */
21
+ maxDiscount: string;
22
+ /** escalation_start_fraction defines fraction of max block gas usage where gas price escalation starts if short average block gas is higher than this value. */
23
+ escalationStartFraction: string;
24
+ /** max_block_gas sets the maximum capacity of block. This is enforced on tendermint level in genesis configuration. Once short average block gas goes above this value, gas price is a flat line equal to MaxGasPrice. */
25
+ maxBlockGas: Long;
26
+ /**
27
+ * short_ema_block_length defines inertia for short average long gas in EMA model. The equation is: NewAverage = ((ShortAverageBlockLength - 1)*PreviousAverage + GasUsedByCurrentBlock) / ShortAverageBlockLength
28
+ * The value might be interpreted as the number of blocks which are taken to calculate the average. It would be exactly like that in SMA model, in EMA this is an approximation.
29
+ */
30
+ shortEmaBlockLength: number;
31
+ /**
32
+ * long_ema_block_length defines inertia for long average block gas in EMA model. The equation is: NewAverage = ((LongAverageBlockLength - 1)*PreviousAverage + GasUsedByCurrentBlock) / LongAverageBlockLength
33
+ * The value might be interpreted as the number of blocks which are taken to calculate the average. It would be exactly like that in SMA model, in EMA this is an approximation.
34
+ */
35
+ longEmaBlockLength: number;
36
+ }
37
+ /** Params store gov manageable feemodel parameters. */
38
+ export interface Params {
39
+ /** model is a fee model params. */
40
+ model?: ModelParams;
41
+ }
42
+ export declare const ModelParams: {
43
+ encode(message: ModelParams, writer?: _m0.Writer): _m0.Writer;
44
+ decode(input: _m0.Reader | Uint8Array, length?: number): ModelParams;
45
+ fromJSON(object: any): ModelParams;
46
+ toJSON(message: ModelParams): unknown;
47
+ create<I extends {
48
+ initialGasPrice?: string;
49
+ maxGasPriceMultiplier?: string;
50
+ maxDiscount?: string;
51
+ escalationStartFraction?: string;
52
+ maxBlockGas?: string | number | Long.Long;
53
+ shortEmaBlockLength?: number;
54
+ longEmaBlockLength?: number;
55
+ } & {
56
+ initialGasPrice?: string;
57
+ maxGasPriceMultiplier?: string;
58
+ maxDiscount?: string;
59
+ escalationStartFraction?: string;
60
+ maxBlockGas?: string | number | (Long.Long & {
61
+ high: number;
62
+ low: number;
63
+ unsigned: boolean;
64
+ add: (addend: string | number | Long.Long) => Long.Long;
65
+ and: (other: string | number | Long.Long) => Long.Long;
66
+ compare: (other: string | number | Long.Long) => number;
67
+ comp: (other: string | number | Long.Long) => number;
68
+ divide: (divisor: string | number | Long.Long) => Long.Long;
69
+ div: (divisor: string | number | Long.Long) => Long.Long;
70
+ equals: (other: string | number | Long.Long) => boolean;
71
+ eq: (other: string | number | Long.Long) => boolean;
72
+ getHighBits: () => number;
73
+ getHighBitsUnsigned: () => number;
74
+ getLowBits: () => number;
75
+ getLowBitsUnsigned: () => number;
76
+ getNumBitsAbs: () => number;
77
+ greaterThan: (other: string | number | Long.Long) => boolean;
78
+ gt: (other: string | number | Long.Long) => boolean;
79
+ greaterThanOrEqual: (other: string | number | Long.Long) => boolean;
80
+ gte: (other: string | number | Long.Long) => boolean;
81
+ isEven: () => boolean;
82
+ isNegative: () => boolean;
83
+ isOdd: () => boolean;
84
+ isPositive: () => boolean;
85
+ isZero: () => boolean;
86
+ lessThan: (other: string | number | Long.Long) => boolean;
87
+ lt: (other: string | number | Long.Long) => boolean;
88
+ lessThanOrEqual: (other: string | number | Long.Long) => boolean;
89
+ lte: (other: string | number | Long.Long) => boolean;
90
+ modulo: (other: string | number | Long.Long) => Long.Long;
91
+ mod: (other: string | number | Long.Long) => Long.Long;
92
+ multiply: (multiplier: string | number | Long.Long) => Long.Long;
93
+ mul: (multiplier: string | number | Long.Long) => Long.Long;
94
+ negate: () => Long.Long;
95
+ neg: () => Long.Long;
96
+ not: () => Long.Long;
97
+ notEquals: (other: string | number | Long.Long) => boolean;
98
+ neq: (other: string | number | Long.Long) => boolean;
99
+ or: (other: string | number | Long.Long) => Long.Long;
100
+ shiftLeft: (numBits: number | Long.Long) => Long.Long;
101
+ shl: (numBits: number | Long.Long) => Long.Long;
102
+ shiftRight: (numBits: number | Long.Long) => Long.Long;
103
+ shr: (numBits: number | Long.Long) => Long.Long;
104
+ shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long;
105
+ shru: (numBits: number | Long.Long) => Long.Long;
106
+ subtract: (subtrahend: string | number | Long.Long) => Long.Long;
107
+ sub: (subtrahend: string | number | Long.Long) => Long.Long;
108
+ toInt: () => number;
109
+ toNumber: () => number;
110
+ toBytes: (le?: boolean) => number[];
111
+ toBytesLE: () => number[];
112
+ toBytesBE: () => number[];
113
+ toSigned: () => Long.Long;
114
+ toString: (radix?: number) => string;
115
+ toUnsigned: () => Long.Long;
116
+ xor: (other: string | number | Long.Long) => Long.Long;
117
+ } & { [K in Exclude<keyof I["maxBlockGas"], keyof Long.Long>]: never; });
118
+ shortEmaBlockLength?: number;
119
+ longEmaBlockLength?: number;
120
+ } & { [K_1 in Exclude<keyof I, keyof ModelParams>]: never; }>(base?: I): ModelParams;
121
+ fromPartial<I_1 extends {
122
+ initialGasPrice?: string;
123
+ maxGasPriceMultiplier?: string;
124
+ maxDiscount?: string;
125
+ escalationStartFraction?: string;
126
+ maxBlockGas?: string | number | Long.Long;
127
+ shortEmaBlockLength?: number;
128
+ longEmaBlockLength?: number;
129
+ } & {
130
+ initialGasPrice?: string;
131
+ maxGasPriceMultiplier?: string;
132
+ maxDiscount?: string;
133
+ escalationStartFraction?: string;
134
+ maxBlockGas?: string | number | (Long.Long & {
135
+ high: number;
136
+ low: number;
137
+ unsigned: boolean;
138
+ add: (addend: string | number | Long.Long) => Long.Long;
139
+ and: (other: string | number | Long.Long) => Long.Long;
140
+ compare: (other: string | number | Long.Long) => number;
141
+ comp: (other: string | number | Long.Long) => number;
142
+ divide: (divisor: string | number | Long.Long) => Long.Long;
143
+ div: (divisor: string | number | Long.Long) => Long.Long;
144
+ equals: (other: string | number | Long.Long) => boolean;
145
+ eq: (other: string | number | Long.Long) => boolean;
146
+ getHighBits: () => number;
147
+ getHighBitsUnsigned: () => number;
148
+ getLowBits: () => number;
149
+ getLowBitsUnsigned: () => number;
150
+ getNumBitsAbs: () => number;
151
+ greaterThan: (other: string | number | Long.Long) => boolean;
152
+ gt: (other: string | number | Long.Long) => boolean;
153
+ greaterThanOrEqual: (other: string | number | Long.Long) => boolean;
154
+ gte: (other: string | number | Long.Long) => boolean;
155
+ isEven: () => boolean;
156
+ isNegative: () => boolean;
157
+ isOdd: () => boolean;
158
+ isPositive: () => boolean;
159
+ isZero: () => boolean;
160
+ lessThan: (other: string | number | Long.Long) => boolean;
161
+ lt: (other: string | number | Long.Long) => boolean;
162
+ lessThanOrEqual: (other: string | number | Long.Long) => boolean;
163
+ lte: (other: string | number | Long.Long) => boolean;
164
+ modulo: (other: string | number | Long.Long) => Long.Long;
165
+ mod: (other: string | number | Long.Long) => Long.Long;
166
+ multiply: (multiplier: string | number | Long.Long) => Long.Long;
167
+ mul: (multiplier: string | number | Long.Long) => Long.Long;
168
+ negate: () => Long.Long;
169
+ neg: () => Long.Long;
170
+ not: () => Long.Long;
171
+ notEquals: (other: string | number | Long.Long) => boolean;
172
+ neq: (other: string | number | Long.Long) => boolean;
173
+ or: (other: string | number | Long.Long) => Long.Long;
174
+ shiftLeft: (numBits: number | Long.Long) => Long.Long;
175
+ shl: (numBits: number | Long.Long) => Long.Long;
176
+ shiftRight: (numBits: number | Long.Long) => Long.Long;
177
+ shr: (numBits: number | Long.Long) => Long.Long;
178
+ shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long;
179
+ shru: (numBits: number | Long.Long) => Long.Long;
180
+ subtract: (subtrahend: string | number | Long.Long) => Long.Long;
181
+ sub: (subtrahend: string | number | Long.Long) => Long.Long;
182
+ toInt: () => number;
183
+ toNumber: () => number;
184
+ toBytes: (le?: boolean) => number[];
185
+ toBytesLE: () => number[];
186
+ toBytesBE: () => number[];
187
+ toSigned: () => Long.Long;
188
+ toString: (radix?: number) => string;
189
+ toUnsigned: () => Long.Long;
190
+ xor: (other: string | number | Long.Long) => Long.Long;
191
+ } & { [K_2 in Exclude<keyof I_1["maxBlockGas"], keyof Long.Long>]: never; });
192
+ shortEmaBlockLength?: number;
193
+ longEmaBlockLength?: number;
194
+ } & { [K_3 in Exclude<keyof I_1, keyof ModelParams>]: never; }>(object: I_1): ModelParams;
195
+ };
196
+ export declare const Params: {
197
+ encode(message: Params, writer?: _m0.Writer): _m0.Writer;
198
+ decode(input: _m0.Reader | Uint8Array, length?: number): Params;
199
+ fromJSON(object: any): Params;
200
+ toJSON(message: Params): unknown;
201
+ create<I extends {
202
+ model?: {
203
+ initialGasPrice?: string;
204
+ maxGasPriceMultiplier?: string;
205
+ maxDiscount?: string;
206
+ escalationStartFraction?: string;
207
+ maxBlockGas?: string | number | Long.Long;
208
+ shortEmaBlockLength?: number;
209
+ longEmaBlockLength?: number;
210
+ };
211
+ } & {
212
+ model?: {
213
+ initialGasPrice?: string;
214
+ maxGasPriceMultiplier?: string;
215
+ maxDiscount?: string;
216
+ escalationStartFraction?: string;
217
+ maxBlockGas?: string | number | Long.Long;
218
+ shortEmaBlockLength?: number;
219
+ longEmaBlockLength?: number;
220
+ } & {
221
+ initialGasPrice?: string;
222
+ maxGasPriceMultiplier?: string;
223
+ maxDiscount?: string;
224
+ escalationStartFraction?: string;
225
+ maxBlockGas?: string | number | (Long.Long & {
226
+ high: number;
227
+ low: number;
228
+ unsigned: boolean;
229
+ add: (addend: string | number | Long.Long) => Long.Long;
230
+ and: (other: string | number | Long.Long) => Long.Long;
231
+ compare: (other: string | number | Long.Long) => number;
232
+ comp: (other: string | number | Long.Long) => number;
233
+ divide: (divisor: string | number | Long.Long) => Long.Long;
234
+ div: (divisor: string | number | Long.Long) => Long.Long;
235
+ equals: (other: string | number | Long.Long) => boolean;
236
+ eq: (other: string | number | Long.Long) => boolean;
237
+ getHighBits: () => number;
238
+ getHighBitsUnsigned: () => number;
239
+ getLowBits: () => number;
240
+ getLowBitsUnsigned: () => number;
241
+ getNumBitsAbs: () => number;
242
+ greaterThan: (other: string | number | Long.Long) => boolean;
243
+ gt: (other: string | number | Long.Long) => boolean;
244
+ greaterThanOrEqual: (other: string | number | Long.Long) => boolean;
245
+ gte: (other: string | number | Long.Long) => boolean;
246
+ isEven: () => boolean;
247
+ isNegative: () => boolean;
248
+ isOdd: () => boolean;
249
+ isPositive: () => boolean;
250
+ isZero: () => boolean;
251
+ lessThan: (other: string | number | Long.Long) => boolean;
252
+ lt: (other: string | number | Long.Long) => boolean;
253
+ lessThanOrEqual: (other: string | number | Long.Long) => boolean;
254
+ lte: (other: string | number | Long.Long) => boolean;
255
+ modulo: (other: string | number | Long.Long) => Long.Long;
256
+ mod: (other: string | number | Long.Long) => Long.Long;
257
+ multiply: (multiplier: string | number | Long.Long) => Long.Long;
258
+ mul: (multiplier: string | number | Long.Long) => Long.Long;
259
+ negate: () => Long.Long;
260
+ neg: () => Long.Long;
261
+ not: () => Long.Long;
262
+ notEquals: (other: string | number | Long.Long) => boolean;
263
+ neq: (other: string | number | Long.Long) => boolean;
264
+ or: (other: string | number | Long.Long) => Long.Long;
265
+ shiftLeft: (numBits: number | Long.Long) => Long.Long;
266
+ shl: (numBits: number | Long.Long) => Long.Long;
267
+ shiftRight: (numBits: number | Long.Long) => Long.Long;
268
+ shr: (numBits: number | Long.Long) => Long.Long;
269
+ shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long;
270
+ shru: (numBits: number | Long.Long) => Long.Long;
271
+ subtract: (subtrahend: string | number | Long.Long) => Long.Long;
272
+ sub: (subtrahend: string | number | Long.Long) => Long.Long;
273
+ toInt: () => number;
274
+ toNumber: () => number;
275
+ toBytes: (le?: boolean) => number[];
276
+ toBytesLE: () => number[];
277
+ toBytesBE: () => number[];
278
+ toSigned: () => Long.Long;
279
+ toString: (radix?: number) => string;
280
+ toUnsigned: () => Long.Long;
281
+ xor: (other: string | number | Long.Long) => Long.Long;
282
+ } & { [K in Exclude<keyof I["model"]["maxBlockGas"], keyof Long.Long>]: never; });
283
+ shortEmaBlockLength?: number;
284
+ longEmaBlockLength?: number;
285
+ } & { [K_1 in Exclude<keyof I["model"], keyof ModelParams>]: never; };
286
+ } & { [K_2 in Exclude<keyof I, "model">]: never; }>(base?: I): Params;
287
+ fromPartial<I_1 extends {
288
+ model?: {
289
+ initialGasPrice?: string;
290
+ maxGasPriceMultiplier?: string;
291
+ maxDiscount?: string;
292
+ escalationStartFraction?: string;
293
+ maxBlockGas?: string | number | Long.Long;
294
+ shortEmaBlockLength?: number;
295
+ longEmaBlockLength?: number;
296
+ };
297
+ } & {
298
+ model?: {
299
+ initialGasPrice?: string;
300
+ maxGasPriceMultiplier?: string;
301
+ maxDiscount?: string;
302
+ escalationStartFraction?: string;
303
+ maxBlockGas?: string | number | Long.Long;
304
+ shortEmaBlockLength?: number;
305
+ longEmaBlockLength?: number;
306
+ } & {
307
+ initialGasPrice?: string;
308
+ maxGasPriceMultiplier?: string;
309
+ maxDiscount?: string;
310
+ escalationStartFraction?: string;
311
+ maxBlockGas?: string | number | (Long.Long & {
312
+ high: number;
313
+ low: number;
314
+ unsigned: boolean;
315
+ add: (addend: string | number | Long.Long) => Long.Long;
316
+ and: (other: string | number | Long.Long) => Long.Long;
317
+ compare: (other: string | number | Long.Long) => number;
318
+ comp: (other: string | number | Long.Long) => number;
319
+ divide: (divisor: string | number | Long.Long) => Long.Long;
320
+ div: (divisor: string | number | Long.Long) => Long.Long;
321
+ equals: (other: string | number | Long.Long) => boolean;
322
+ eq: (other: string | number | Long.Long) => boolean;
323
+ getHighBits: () => number;
324
+ getHighBitsUnsigned: () => number;
325
+ getLowBits: () => number;
326
+ getLowBitsUnsigned: () => number;
327
+ getNumBitsAbs: () => number;
328
+ greaterThan: (other: string | number | Long.Long) => boolean;
329
+ gt: (other: string | number | Long.Long) => boolean;
330
+ greaterThanOrEqual: (other: string | number | Long.Long) => boolean;
331
+ gte: (other: string | number | Long.Long) => boolean;
332
+ isEven: () => boolean;
333
+ isNegative: () => boolean;
334
+ isOdd: () => boolean;
335
+ isPositive: () => boolean;
336
+ isZero: () => boolean;
337
+ lessThan: (other: string | number | Long.Long) => boolean;
338
+ lt: (other: string | number | Long.Long) => boolean;
339
+ lessThanOrEqual: (other: string | number | Long.Long) => boolean;
340
+ lte: (other: string | number | Long.Long) => boolean;
341
+ modulo: (other: string | number | Long.Long) => Long.Long;
342
+ mod: (other: string | number | Long.Long) => Long.Long;
343
+ multiply: (multiplier: string | number | Long.Long) => Long.Long;
344
+ mul: (multiplier: string | number | Long.Long) => Long.Long;
345
+ negate: () => Long.Long;
346
+ neg: () => Long.Long;
347
+ not: () => Long.Long;
348
+ notEquals: (other: string | number | Long.Long) => boolean;
349
+ neq: (other: string | number | Long.Long) => boolean;
350
+ or: (other: string | number | Long.Long) => Long.Long;
351
+ shiftLeft: (numBits: number | Long.Long) => Long.Long;
352
+ shl: (numBits: number | Long.Long) => Long.Long;
353
+ shiftRight: (numBits: number | Long.Long) => Long.Long;
354
+ shr: (numBits: number | Long.Long) => Long.Long;
355
+ shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long;
356
+ shru: (numBits: number | Long.Long) => Long.Long;
357
+ subtract: (subtrahend: string | number | Long.Long) => Long.Long;
358
+ sub: (subtrahend: string | number | Long.Long) => Long.Long;
359
+ toInt: () => number;
360
+ toNumber: () => number;
361
+ toBytes: (le?: boolean) => number[];
362
+ toBytesLE: () => number[];
363
+ toBytesBE: () => number[];
364
+ toSigned: () => Long.Long;
365
+ toString: (radix?: number) => string;
366
+ toUnsigned: () => Long.Long;
367
+ xor: (other: string | number | Long.Long) => Long.Long;
368
+ } & { [K_3 in Exclude<keyof I_1["model"]["maxBlockGas"], keyof Long.Long>]: never; });
369
+ shortEmaBlockLength?: number;
370
+ longEmaBlockLength?: number;
371
+ } & { [K_4 in Exclude<keyof I_1["model"], keyof ModelParams>]: never; };
372
+ } & { [K_5 in Exclude<keyof I_1, "model">]: never; }>(object: I_1): Params;
373
+ };
374
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
375
+ export type DeepPartial<T> = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
376
+ [K in keyof T]?: DeepPartial<T[K]>;
377
+ } : Partial<T>;
378
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
379
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
380
+ [K in keyof P]: Exact<P[K], I[K]>;
381
+ } & {
382
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
383
+ };
384
+ export {};
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Params = exports.ModelParams = exports.protobufPackage = void 0;
7
+ /* eslint-disable */
8
+ const long_1 = __importDefault(require("long"));
9
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
10
+ exports.protobufPackage = "coreum.feemodel.v1";
11
+ function createBaseModelParams() {
12
+ return {
13
+ initialGasPrice: "",
14
+ maxGasPriceMultiplier: "",
15
+ maxDiscount: "",
16
+ escalationStartFraction: "",
17
+ maxBlockGas: long_1.default.ZERO,
18
+ shortEmaBlockLength: 0,
19
+ longEmaBlockLength: 0,
20
+ };
21
+ }
22
+ exports.ModelParams = {
23
+ encode(message, writer = minimal_1.default.Writer.create()) {
24
+ if (message.initialGasPrice !== "") {
25
+ writer.uint32(10).string(message.initialGasPrice);
26
+ }
27
+ if (message.maxGasPriceMultiplier !== "") {
28
+ writer.uint32(18).string(message.maxGasPriceMultiplier);
29
+ }
30
+ if (message.maxDiscount !== "") {
31
+ writer.uint32(26).string(message.maxDiscount);
32
+ }
33
+ if (message.escalationStartFraction !== "") {
34
+ writer.uint32(34).string(message.escalationStartFraction);
35
+ }
36
+ if (!message.maxBlockGas.isZero()) {
37
+ writer.uint32(40).int64(message.maxBlockGas);
38
+ }
39
+ if (message.shortEmaBlockLength !== 0) {
40
+ writer.uint32(48).uint32(message.shortEmaBlockLength);
41
+ }
42
+ if (message.longEmaBlockLength !== 0) {
43
+ writer.uint32(56).uint32(message.longEmaBlockLength);
44
+ }
45
+ return writer;
46
+ },
47
+ decode(input, length) {
48
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
49
+ let end = length === undefined ? reader.len : reader.pos + length;
50
+ const message = createBaseModelParams();
51
+ while (reader.pos < end) {
52
+ const tag = reader.uint32();
53
+ switch (tag >>> 3) {
54
+ case 1:
55
+ if (tag != 10) {
56
+ break;
57
+ }
58
+ message.initialGasPrice = reader.string();
59
+ continue;
60
+ case 2:
61
+ if (tag != 18) {
62
+ break;
63
+ }
64
+ message.maxGasPriceMultiplier = reader.string();
65
+ continue;
66
+ case 3:
67
+ if (tag != 26) {
68
+ break;
69
+ }
70
+ message.maxDiscount = reader.string();
71
+ continue;
72
+ case 4:
73
+ if (tag != 34) {
74
+ break;
75
+ }
76
+ message.escalationStartFraction = reader.string();
77
+ continue;
78
+ case 5:
79
+ if (tag != 40) {
80
+ break;
81
+ }
82
+ message.maxBlockGas = reader.int64();
83
+ continue;
84
+ case 6:
85
+ if (tag != 48) {
86
+ break;
87
+ }
88
+ message.shortEmaBlockLength = reader.uint32();
89
+ continue;
90
+ case 7:
91
+ if (tag != 56) {
92
+ break;
93
+ }
94
+ message.longEmaBlockLength = reader.uint32();
95
+ continue;
96
+ }
97
+ if ((tag & 7) == 4 || tag == 0) {
98
+ break;
99
+ }
100
+ reader.skipType(tag & 7);
101
+ }
102
+ return message;
103
+ },
104
+ fromJSON(object) {
105
+ return {
106
+ initialGasPrice: isSet(object.initialGasPrice) ? String(object.initialGasPrice) : "",
107
+ maxGasPriceMultiplier: isSet(object.maxGasPriceMultiplier) ? String(object.maxGasPriceMultiplier) : "",
108
+ maxDiscount: isSet(object.maxDiscount) ? String(object.maxDiscount) : "",
109
+ escalationStartFraction: isSet(object.escalationStartFraction) ? String(object.escalationStartFraction) : "",
110
+ maxBlockGas: isSet(object.maxBlockGas) ? long_1.default.fromValue(object.maxBlockGas) : long_1.default.ZERO,
111
+ shortEmaBlockLength: isSet(object.shortEmaBlockLength) ? Number(object.shortEmaBlockLength) : 0,
112
+ longEmaBlockLength: isSet(object.longEmaBlockLength) ? Number(object.longEmaBlockLength) : 0,
113
+ };
114
+ },
115
+ toJSON(message) {
116
+ const obj = {};
117
+ message.initialGasPrice !== undefined && (obj.initialGasPrice = message.initialGasPrice);
118
+ message.maxGasPriceMultiplier !== undefined && (obj.maxGasPriceMultiplier = message.maxGasPriceMultiplier);
119
+ message.maxDiscount !== undefined && (obj.maxDiscount = message.maxDiscount);
120
+ message.escalationStartFraction !== undefined && (obj.escalationStartFraction = message.escalationStartFraction);
121
+ message.maxBlockGas !== undefined && (obj.maxBlockGas = (message.maxBlockGas || long_1.default.ZERO).toString());
122
+ message.shortEmaBlockLength !== undefined && (obj.shortEmaBlockLength = Math.round(message.shortEmaBlockLength));
123
+ message.longEmaBlockLength !== undefined && (obj.longEmaBlockLength = Math.round(message.longEmaBlockLength));
124
+ return obj;
125
+ },
126
+ create(base) {
127
+ return exports.ModelParams.fromPartial(base !== null && base !== void 0 ? base : {});
128
+ },
129
+ fromPartial(object) {
130
+ var _a, _b, _c, _d, _e, _f;
131
+ const message = createBaseModelParams();
132
+ message.initialGasPrice = (_a = object.initialGasPrice) !== null && _a !== void 0 ? _a : "";
133
+ message.maxGasPriceMultiplier = (_b = object.maxGasPriceMultiplier) !== null && _b !== void 0 ? _b : "";
134
+ message.maxDiscount = (_c = object.maxDiscount) !== null && _c !== void 0 ? _c : "";
135
+ message.escalationStartFraction = (_d = object.escalationStartFraction) !== null && _d !== void 0 ? _d : "";
136
+ message.maxBlockGas = (object.maxBlockGas !== undefined && object.maxBlockGas !== null)
137
+ ? long_1.default.fromValue(object.maxBlockGas)
138
+ : long_1.default.ZERO;
139
+ message.shortEmaBlockLength = (_e = object.shortEmaBlockLength) !== null && _e !== void 0 ? _e : 0;
140
+ message.longEmaBlockLength = (_f = object.longEmaBlockLength) !== null && _f !== void 0 ? _f : 0;
141
+ return message;
142
+ },
143
+ };
144
+ function createBaseParams() {
145
+ return { model: undefined };
146
+ }
147
+ exports.Params = {
148
+ encode(message, writer = minimal_1.default.Writer.create()) {
149
+ if (message.model !== undefined) {
150
+ exports.ModelParams.encode(message.model, writer.uint32(10).fork()).ldelim();
151
+ }
152
+ return writer;
153
+ },
154
+ decode(input, length) {
155
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
156
+ let end = length === undefined ? reader.len : reader.pos + length;
157
+ const message = createBaseParams();
158
+ while (reader.pos < end) {
159
+ const tag = reader.uint32();
160
+ switch (tag >>> 3) {
161
+ case 1:
162
+ if (tag != 10) {
163
+ break;
164
+ }
165
+ message.model = exports.ModelParams.decode(reader, reader.uint32());
166
+ continue;
167
+ }
168
+ if ((tag & 7) == 4 || tag == 0) {
169
+ break;
170
+ }
171
+ reader.skipType(tag & 7);
172
+ }
173
+ return message;
174
+ },
175
+ fromJSON(object) {
176
+ return { model: isSet(object.model) ? exports.ModelParams.fromJSON(object.model) : undefined };
177
+ },
178
+ toJSON(message) {
179
+ const obj = {};
180
+ message.model !== undefined && (obj.model = message.model ? exports.ModelParams.toJSON(message.model) : undefined);
181
+ return obj;
182
+ },
183
+ create(base) {
184
+ return exports.Params.fromPartial(base !== null && base !== void 0 ? base : {});
185
+ },
186
+ fromPartial(object) {
187
+ const message = createBaseParams();
188
+ message.model = (object.model !== undefined && object.model !== null)
189
+ ? exports.ModelParams.fromPartial(object.model)
190
+ : undefined;
191
+ return message;
192
+ },
193
+ };
194
+ if (minimal_1.default.util.Long !== long_1.default) {
195
+ minimal_1.default.util.Long = long_1.default;
196
+ minimal_1.default.configure();
197
+ }
198
+ function isSet(value) {
199
+ return value !== null && value !== undefined;
200
+ }
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvcmV1bS9mZWVtb2RlbC92MS9wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixpRUFBcUM7QUFFeEIsUUFBQSxlQUFlLEdBQUcsb0JBQW9CLENBQUM7QUEwQ3BELFNBQVMscUJBQXFCO0lBQzVCLE9BQU87UUFDTCxlQUFlLEVBQUUsRUFBRTtRQUNuQixxQkFBcUIsRUFBRSxFQUFFO1FBQ3pCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsdUJBQXVCLEVBQUUsRUFBRTtRQUMzQixXQUFXLEVBQUUsY0FBSSxDQUFDLElBQUk7UUFDdEIsbUJBQW1CLEVBQUUsQ0FBQztRQUN0QixrQkFBa0IsRUFBRSxDQUFDO0tBQ3RCLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSxXQUFXLEdBQUc7SUFDekIsTUFBTSxDQUFDLE9BQW9CLEVBQUUsU0FBcUIsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ25FLElBQUksT0FBTyxDQUFDLGVBQWUsS0FBSyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxPQUFPLENBQUMscUJBQXFCLEtBQUssRUFBRSxFQUFFO1lBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLEVBQUUsRUFBRTtZQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDL0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyx1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