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,194 @@
1
+ /* eslint-disable */
2
+ import Long from "long";
3
+ import _m0 from "protobufjs/minimal";
4
+ export const protobufPackage = "coreum.feemodel.v1";
5
+ function createBaseModelParams() {
6
+ return {
7
+ initialGasPrice: "",
8
+ maxGasPriceMultiplier: "",
9
+ maxDiscount: "",
10
+ escalationStartFraction: "",
11
+ maxBlockGas: Long.ZERO,
12
+ shortEmaBlockLength: 0,
13
+ longEmaBlockLength: 0,
14
+ };
15
+ }
16
+ export const ModelParams = {
17
+ encode(message, writer = _m0.Writer.create()) {
18
+ if (message.initialGasPrice !== "") {
19
+ writer.uint32(10).string(message.initialGasPrice);
20
+ }
21
+ if (message.maxGasPriceMultiplier !== "") {
22
+ writer.uint32(18).string(message.maxGasPriceMultiplier);
23
+ }
24
+ if (message.maxDiscount !== "") {
25
+ writer.uint32(26).string(message.maxDiscount);
26
+ }
27
+ if (message.escalationStartFraction !== "") {
28
+ writer.uint32(34).string(message.escalationStartFraction);
29
+ }
30
+ if (!message.maxBlockGas.isZero()) {
31
+ writer.uint32(40).int64(message.maxBlockGas);
32
+ }
33
+ if (message.shortEmaBlockLength !== 0) {
34
+ writer.uint32(48).uint32(message.shortEmaBlockLength);
35
+ }
36
+ if (message.longEmaBlockLength !== 0) {
37
+ writer.uint32(56).uint32(message.longEmaBlockLength);
38
+ }
39
+ return writer;
40
+ },
41
+ decode(input, length) {
42
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
43
+ let end = length === undefined ? reader.len : reader.pos + length;
44
+ const message = createBaseModelParams();
45
+ while (reader.pos < end) {
46
+ const tag = reader.uint32();
47
+ switch (tag >>> 3) {
48
+ case 1:
49
+ if (tag != 10) {
50
+ break;
51
+ }
52
+ message.initialGasPrice = reader.string();
53
+ continue;
54
+ case 2:
55
+ if (tag != 18) {
56
+ break;
57
+ }
58
+ message.maxGasPriceMultiplier = reader.string();
59
+ continue;
60
+ case 3:
61
+ if (tag != 26) {
62
+ break;
63
+ }
64
+ message.maxDiscount = reader.string();
65
+ continue;
66
+ case 4:
67
+ if (tag != 34) {
68
+ break;
69
+ }
70
+ message.escalationStartFraction = reader.string();
71
+ continue;
72
+ case 5:
73
+ if (tag != 40) {
74
+ break;
75
+ }
76
+ message.maxBlockGas = reader.int64();
77
+ continue;
78
+ case 6:
79
+ if (tag != 48) {
80
+ break;
81
+ }
82
+ message.shortEmaBlockLength = reader.uint32();
83
+ continue;
84
+ case 7:
85
+ if (tag != 56) {
86
+ break;
87
+ }
88
+ message.longEmaBlockLength = reader.uint32();
89
+ continue;
90
+ }
91
+ if ((tag & 7) == 4 || tag == 0) {
92
+ break;
93
+ }
94
+ reader.skipType(tag & 7);
95
+ }
96
+ return message;
97
+ },
98
+ fromJSON(object) {
99
+ return {
100
+ initialGasPrice: isSet(object.initialGasPrice) ? String(object.initialGasPrice) : "",
101
+ maxGasPriceMultiplier: isSet(object.maxGasPriceMultiplier) ? String(object.maxGasPriceMultiplier) : "",
102
+ maxDiscount: isSet(object.maxDiscount) ? String(object.maxDiscount) : "",
103
+ escalationStartFraction: isSet(object.escalationStartFraction) ? String(object.escalationStartFraction) : "",
104
+ maxBlockGas: isSet(object.maxBlockGas) ? Long.fromValue(object.maxBlockGas) : Long.ZERO,
105
+ shortEmaBlockLength: isSet(object.shortEmaBlockLength) ? Number(object.shortEmaBlockLength) : 0,
106
+ longEmaBlockLength: isSet(object.longEmaBlockLength) ? Number(object.longEmaBlockLength) : 0,
107
+ };
108
+ },
109
+ toJSON(message) {
110
+ const obj = {};
111
+ message.initialGasPrice !== undefined && (obj.initialGasPrice = message.initialGasPrice);
112
+ message.maxGasPriceMultiplier !== undefined && (obj.maxGasPriceMultiplier = message.maxGasPriceMultiplier);
113
+ message.maxDiscount !== undefined && (obj.maxDiscount = message.maxDiscount);
114
+ message.escalationStartFraction !== undefined && (obj.escalationStartFraction = message.escalationStartFraction);
115
+ message.maxBlockGas !== undefined && (obj.maxBlockGas = (message.maxBlockGas || Long.ZERO).toString());
116
+ message.shortEmaBlockLength !== undefined && (obj.shortEmaBlockLength = Math.round(message.shortEmaBlockLength));
117
+ message.longEmaBlockLength !== undefined && (obj.longEmaBlockLength = Math.round(message.longEmaBlockLength));
118
+ return obj;
119
+ },
120
+ create(base) {
121
+ return ModelParams.fromPartial(base ?? {});
122
+ },
123
+ fromPartial(object) {
124
+ const message = createBaseModelParams();
125
+ message.initialGasPrice = object.initialGasPrice ?? "";
126
+ message.maxGasPriceMultiplier = object.maxGasPriceMultiplier ?? "";
127
+ message.maxDiscount = object.maxDiscount ?? "";
128
+ message.escalationStartFraction = object.escalationStartFraction ?? "";
129
+ message.maxBlockGas = (object.maxBlockGas !== undefined && object.maxBlockGas !== null)
130
+ ? Long.fromValue(object.maxBlockGas)
131
+ : Long.ZERO;
132
+ message.shortEmaBlockLength = object.shortEmaBlockLength ?? 0;
133
+ message.longEmaBlockLength = object.longEmaBlockLength ?? 0;
134
+ return message;
135
+ },
136
+ };
137
+ function createBaseParams() {
138
+ return { model: undefined };
139
+ }
140
+ export const Params = {
141
+ encode(message, writer = _m0.Writer.create()) {
142
+ if (message.model !== undefined) {
143
+ ModelParams.encode(message.model, writer.uint32(10).fork()).ldelim();
144
+ }
145
+ return writer;
146
+ },
147
+ decode(input, length) {
148
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
149
+ let end = length === undefined ? reader.len : reader.pos + length;
150
+ const message = createBaseParams();
151
+ while (reader.pos < end) {
152
+ const tag = reader.uint32();
153
+ switch (tag >>> 3) {
154
+ case 1:
155
+ if (tag != 10) {
156
+ break;
157
+ }
158
+ message.model = ModelParams.decode(reader, reader.uint32());
159
+ continue;
160
+ }
161
+ if ((tag & 7) == 4 || tag == 0) {
162
+ break;
163
+ }
164
+ reader.skipType(tag & 7);
165
+ }
166
+ return message;
167
+ },
168
+ fromJSON(object) {
169
+ return { model: isSet(object.model) ? ModelParams.fromJSON(object.model) : undefined };
170
+ },
171
+ toJSON(message) {
172
+ const obj = {};
173
+ message.model !== undefined && (obj.model = message.model ? ModelParams.toJSON(message.model) : undefined);
174
+ return obj;
175
+ },
176
+ create(base) {
177
+ return Params.fromPartial(base ?? {});
178
+ },
179
+ fromPartial(object) {
180
+ const message = createBaseParams();
181
+ message.model = (object.model !== undefined && object.model !== null)
182
+ ? ModelParams.fromPartial(object.model)
183
+ : undefined;
184
+ return message;
185
+ },
186
+ };
187
+ if (_m0.util.Long !== Long) {
188
+ _m0.util.Long = Long;
189
+ _m0.configure();
190
+ }
191
+ function isSet(value) {
192
+ return value !== null && value !== undefined;
193
+ }
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvcmV1bS9mZWVtb2RlbC92MS9wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsb0JBQW9CLENBQUM7QUEwQ3BELFNBQVMscUJBQXFCO0lBQzVCLE9BQU87UUFDTCxlQUFlLEVBQUUsRUFBRTtRQUNuQixxQkFBcUIsRUFBRSxFQUFFO1FBQ3pCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsdUJBQXVCLEVBQUUsRUFBRTtRQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDdEIsbUJBQW1CLEVBQUUsQ0FBQztRQUN0QixrQkFBa0IsRUFBRSxDQUFDO0tBQ3RCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLE1BQU0sQ0FBQyxPQUFvQixFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ25FLElBQUksT0FBTyxDQUFDLGVBQWUsS0FBSyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxPQUFPLENBQUMscUJBQXFCLEtBQUssRUFBRSxFQUFFO1lBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLEVBQUUsRUFBRTtZQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxP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