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,615 @@
1
+ /* eslint-disable */
2
+ import Long from "long";
3
+ import _m0 from "protobufjs/minimal";
4
+ import { PageRequest, PageResponse } from "../../../../cosmos/base/query/v1beta1/pagination";
5
+ import { Class } from "./nft";
6
+ import { Params } from "./params";
7
+ export const protobufPackage = "coreum.asset.nft.v1";
8
+ function createBaseQueryParamsRequest() {
9
+ return {};
10
+ }
11
+ export const QueryParamsRequest = {
12
+ encode(_, writer = _m0.Writer.create()) {
13
+ return writer;
14
+ },
15
+ decode(input, length) {
16
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
17
+ let end = length === undefined ? reader.len : reader.pos + length;
18
+ const message = createBaseQueryParamsRequest();
19
+ while (reader.pos < end) {
20
+ const tag = reader.uint32();
21
+ switch (tag >>> 3) {
22
+ }
23
+ if ((tag & 7) == 4 || tag == 0) {
24
+ break;
25
+ }
26
+ reader.skipType(tag & 7);
27
+ }
28
+ return message;
29
+ },
30
+ fromJSON(_) {
31
+ return {};
32
+ },
33
+ toJSON(_) {
34
+ const obj = {};
35
+ return obj;
36
+ },
37
+ create(base) {
38
+ return QueryParamsRequest.fromPartial(base ?? {});
39
+ },
40
+ fromPartial(_) {
41
+ const message = createBaseQueryParamsRequest();
42
+ return message;
43
+ },
44
+ };
45
+ function createBaseQueryParamsResponse() {
46
+ return { params: undefined };
47
+ }
48
+ export const QueryParamsResponse = {
49
+ encode(message, writer = _m0.Writer.create()) {
50
+ if (message.params !== undefined) {
51
+ Params.encode(message.params, writer.uint32(10).fork()).ldelim();
52
+ }
53
+ return writer;
54
+ },
55
+ decode(input, length) {
56
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
57
+ let end = length === undefined ? reader.len : reader.pos + length;
58
+ const message = createBaseQueryParamsResponse();
59
+ while (reader.pos < end) {
60
+ const tag = reader.uint32();
61
+ switch (tag >>> 3) {
62
+ case 1:
63
+ if (tag != 10) {
64
+ break;
65
+ }
66
+ message.params = Params.decode(reader, reader.uint32());
67
+ continue;
68
+ }
69
+ if ((tag & 7) == 4 || tag == 0) {
70
+ break;
71
+ }
72
+ reader.skipType(tag & 7);
73
+ }
74
+ return message;
75
+ },
76
+ fromJSON(object) {
77
+ return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };
78
+ },
79
+ toJSON(message) {
80
+ const obj = {};
81
+ message.params !== undefined && (obj.params = message.params ? Params.toJSON(message.params) : undefined);
82
+ return obj;
83
+ },
84
+ create(base) {
85
+ return QueryParamsResponse.fromPartial(base ?? {});
86
+ },
87
+ fromPartial(object) {
88
+ const message = createBaseQueryParamsResponse();
89
+ message.params = (object.params !== undefined && object.params !== null)
90
+ ? Params.fromPartial(object.params)
91
+ : undefined;
92
+ return message;
93
+ },
94
+ };
95
+ function createBaseQueryClassRequest() {
96
+ return { id: "" };
97
+ }
98
+ export const QueryClassRequest = {
99
+ encode(message, writer = _m0.Writer.create()) {
100
+ if (message.id !== "") {
101
+ writer.uint32(10).string(message.id);
102
+ }
103
+ return writer;
104
+ },
105
+ decode(input, length) {
106
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
107
+ let end = length === undefined ? reader.len : reader.pos + length;
108
+ const message = createBaseQueryClassRequest();
109
+ while (reader.pos < end) {
110
+ const tag = reader.uint32();
111
+ switch (tag >>> 3) {
112
+ case 1:
113
+ if (tag != 10) {
114
+ break;
115
+ }
116
+ message.id = reader.string();
117
+ continue;
118
+ }
119
+ if ((tag & 7) == 4 || tag == 0) {
120
+ break;
121
+ }
122
+ reader.skipType(tag & 7);
123
+ }
124
+ return message;
125
+ },
126
+ fromJSON(object) {
127
+ return { id: isSet(object.id) ? String(object.id) : "" };
128
+ },
129
+ toJSON(message) {
130
+ const obj = {};
131
+ message.id !== undefined && (obj.id = message.id);
132
+ return obj;
133
+ },
134
+ create(base) {
135
+ return QueryClassRequest.fromPartial(base ?? {});
136
+ },
137
+ fromPartial(object) {
138
+ const message = createBaseQueryClassRequest();
139
+ message.id = object.id ?? "";
140
+ return message;
141
+ },
142
+ };
143
+ function createBaseQueryClassResponse() {
144
+ return { class: undefined };
145
+ }
146
+ export const QueryClassResponse = {
147
+ encode(message, writer = _m0.Writer.create()) {
148
+ if (message.class !== undefined) {
149
+ Class.encode(message.class, writer.uint32(10).fork()).ldelim();
150
+ }
151
+ return writer;
152
+ },
153
+ decode(input, length) {
154
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
155
+ let end = length === undefined ? reader.len : reader.pos + length;
156
+ const message = createBaseQueryClassResponse();
157
+ while (reader.pos < end) {
158
+ const tag = reader.uint32();
159
+ switch (tag >>> 3) {
160
+ case 1:
161
+ if (tag != 10) {
162
+ break;
163
+ }
164
+ message.class = Class.decode(reader, reader.uint32());
165
+ continue;
166
+ }
167
+ if ((tag & 7) == 4 || tag == 0) {
168
+ break;
169
+ }
170
+ reader.skipType(tag & 7);
171
+ }
172
+ return message;
173
+ },
174
+ fromJSON(object) {
175
+ return { class: isSet(object.class) ? Class.fromJSON(object.class) : undefined };
176
+ },
177
+ toJSON(message) {
178
+ const obj = {};
179
+ message.class !== undefined && (obj.class = message.class ? Class.toJSON(message.class) : undefined);
180
+ return obj;
181
+ },
182
+ create(base) {
183
+ return QueryClassResponse.fromPartial(base ?? {});
184
+ },
185
+ fromPartial(object) {
186
+ const message = createBaseQueryClassResponse();
187
+ message.class = (object.class !== undefined && object.class !== null) ? Class.fromPartial(object.class) : undefined;
188
+ return message;
189
+ },
190
+ };
191
+ function createBaseQueryFrozenRequest() {
192
+ return { id: "", classId: "" };
193
+ }
194
+ export const QueryFrozenRequest = {
195
+ encode(message, writer = _m0.Writer.create()) {
196
+ if (message.id !== "") {
197
+ writer.uint32(10).string(message.id);
198
+ }
199
+ if (message.classId !== "") {
200
+ writer.uint32(18).string(message.classId);
201
+ }
202
+ return writer;
203
+ },
204
+ decode(input, length) {
205
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
206
+ let end = length === undefined ? reader.len : reader.pos + length;
207
+ const message = createBaseQueryFrozenRequest();
208
+ while (reader.pos < end) {
209
+ const tag = reader.uint32();
210
+ switch (tag >>> 3) {
211
+ case 1:
212
+ if (tag != 10) {
213
+ break;
214
+ }
215
+ message.id = reader.string();
216
+ continue;
217
+ case 2:
218
+ if (tag != 18) {
219
+ break;
220
+ }
221
+ message.classId = reader.string();
222
+ continue;
223
+ }
224
+ if ((tag & 7) == 4 || tag == 0) {
225
+ break;
226
+ }
227
+ reader.skipType(tag & 7);
228
+ }
229
+ return message;
230
+ },
231
+ fromJSON(object) {
232
+ return {
233
+ id: isSet(object.id) ? String(object.id) : "",
234
+ classId: isSet(object.classId) ? String(object.classId) : "",
235
+ };
236
+ },
237
+ toJSON(message) {
238
+ const obj = {};
239
+ message.id !== undefined && (obj.id = message.id);
240
+ message.classId !== undefined && (obj.classId = message.classId);
241
+ return obj;
242
+ },
243
+ create(base) {
244
+ return QueryFrozenRequest.fromPartial(base ?? {});
245
+ },
246
+ fromPartial(object) {
247
+ const message = createBaseQueryFrozenRequest();
248
+ message.id = object.id ?? "";
249
+ message.classId = object.classId ?? "";
250
+ return message;
251
+ },
252
+ };
253
+ function createBaseQueryFrozenResponse() {
254
+ return { frozen: false };
255
+ }
256
+ export const QueryFrozenResponse = {
257
+ encode(message, writer = _m0.Writer.create()) {
258
+ if (message.frozen === true) {
259
+ writer.uint32(8).bool(message.frozen);
260
+ }
261
+ return writer;
262
+ },
263
+ decode(input, length) {
264
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
265
+ let end = length === undefined ? reader.len : reader.pos + length;
266
+ const message = createBaseQueryFrozenResponse();
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.frozen = reader.bool();
275
+ continue;
276
+ }
277
+ if ((tag & 7) == 4 || tag == 0) {
278
+ break;
279
+ }
280
+ reader.skipType(tag & 7);
281
+ }
282
+ return message;
283
+ },
284
+ fromJSON(object) {
285
+ return { frozen: isSet(object.frozen) ? Boolean(object.frozen) : false };
286
+ },
287
+ toJSON(message) {
288
+ const obj = {};
289
+ message.frozen !== undefined && (obj.frozen = message.frozen);
290
+ return obj;
291
+ },
292
+ create(base) {
293
+ return QueryFrozenResponse.fromPartial(base ?? {});
294
+ },
295
+ fromPartial(object) {
296
+ const message = createBaseQueryFrozenResponse();
297
+ message.frozen = object.frozen ?? false;
298
+ return message;
299
+ },
300
+ };
301
+ function createBaseQueryWhitelistedRequest() {
302
+ return { id: "", classId: "", account: "" };
303
+ }
304
+ export const QueryWhitelistedRequest = {
305
+ encode(message, writer = _m0.Writer.create()) {
306
+ if (message.id !== "") {
307
+ writer.uint32(10).string(message.id);
308
+ }
309
+ if (message.classId !== "") {
310
+ writer.uint32(18).string(message.classId);
311
+ }
312
+ if (message.account !== "") {
313
+ writer.uint32(26).string(message.account);
314
+ }
315
+ return writer;
316
+ },
317
+ decode(input, length) {
318
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
319
+ let end = length === undefined ? reader.len : reader.pos + length;
320
+ const message = createBaseQueryWhitelistedRequest();
321
+ while (reader.pos < end) {
322
+ const tag = reader.uint32();
323
+ switch (tag >>> 3) {
324
+ case 1:
325
+ if (tag != 10) {
326
+ break;
327
+ }
328
+ message.id = reader.string();
329
+ continue;
330
+ case 2:
331
+ if (tag != 18) {
332
+ break;
333
+ }
334
+ message.classId = reader.string();
335
+ continue;
336
+ case 3:
337
+ if (tag != 26) {
338
+ break;
339
+ }
340
+ message.account = reader.string();
341
+ continue;
342
+ }
343
+ if ((tag & 7) == 4 || tag == 0) {
344
+ break;
345
+ }
346
+ reader.skipType(tag & 7);
347
+ }
348
+ return message;
349
+ },
350
+ fromJSON(object) {
351
+ return {
352
+ id: isSet(object.id) ? String(object.id) : "",
353
+ classId: isSet(object.classId) ? String(object.classId) : "",
354
+ account: isSet(object.account) ? String(object.account) : "",
355
+ };
356
+ },
357
+ toJSON(message) {
358
+ const obj = {};
359
+ message.id !== undefined && (obj.id = message.id);
360
+ message.classId !== undefined && (obj.classId = message.classId);
361
+ message.account !== undefined && (obj.account = message.account);
362
+ return obj;
363
+ },
364
+ create(base) {
365
+ return QueryWhitelistedRequest.fromPartial(base ?? {});
366
+ },
367
+ fromPartial(object) {
368
+ const message = createBaseQueryWhitelistedRequest();
369
+ message.id = object.id ?? "";
370
+ message.classId = object.classId ?? "";
371
+ message.account = object.account ?? "";
372
+ return message;
373
+ },
374
+ };
375
+ function createBaseQueryWhitelistedResponse() {
376
+ return { whitelisted: false };
377
+ }
378
+ export const QueryWhitelistedResponse = {
379
+ encode(message, writer = _m0.Writer.create()) {
380
+ if (message.whitelisted === true) {
381
+ writer.uint32(8).bool(message.whitelisted);
382
+ }
383
+ return writer;
384
+ },
385
+ decode(input, length) {
386
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
387
+ let end = length === undefined ? reader.len : reader.pos + length;
388
+ const message = createBaseQueryWhitelistedResponse();
389
+ while (reader.pos < end) {
390
+ const tag = reader.uint32();
391
+ switch (tag >>> 3) {
392
+ case 1:
393
+ if (tag != 8) {
394
+ break;
395
+ }
396
+ message.whitelisted = reader.bool();
397
+ continue;
398
+ }
399
+ if ((tag & 7) == 4 || tag == 0) {
400
+ break;
401
+ }
402
+ reader.skipType(tag & 7);
403
+ }
404
+ return message;
405
+ },
406
+ fromJSON(object) {
407
+ return { whitelisted: isSet(object.whitelisted) ? Boolean(object.whitelisted) : false };
408
+ },
409
+ toJSON(message) {
410
+ const obj = {};
411
+ message.whitelisted !== undefined && (obj.whitelisted = message.whitelisted);
412
+ return obj;
413
+ },
414
+ create(base) {
415
+ return QueryWhitelistedResponse.fromPartial(base ?? {});
416
+ },
417
+ fromPartial(object) {
418
+ const message = createBaseQueryWhitelistedResponse();
419
+ message.whitelisted = object.whitelisted ?? false;
420
+ return message;
421
+ },
422
+ };
423
+ function createBaseQueryWhitelistedAccountsForNFTRequest() {
424
+ return { pagination: undefined, id: "", classId: "" };
425
+ }
426
+ export const QueryWhitelistedAccountsForNFTRequest = {
427
+ encode(message, writer = _m0.Writer.create()) {
428
+ if (message.pagination !== undefined) {
429
+ PageRequest.encode(message.pagination, writer.uint32(10).fork()).ldelim();
430
+ }
431
+ if (message.id !== "") {
432
+ writer.uint32(18).string(message.id);
433
+ }
434
+ if (message.classId !== "") {
435
+ writer.uint32(26).string(message.classId);
436
+ }
437
+ return writer;
438
+ },
439
+ decode(input, length) {
440
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
441
+ let end = length === undefined ? reader.len : reader.pos + length;
442
+ const message = createBaseQueryWhitelistedAccountsForNFTRequest();
443
+ while (reader.pos < end) {
444
+ const tag = reader.uint32();
445
+ switch (tag >>> 3) {
446
+ case 1:
447
+ if (tag != 10) {
448
+ break;
449
+ }
450
+ message.pagination = PageRequest.decode(reader, reader.uint32());
451
+ continue;
452
+ case 2:
453
+ if (tag != 18) {
454
+ break;
455
+ }
456
+ message.id = reader.string();
457
+ continue;
458
+ case 3:
459
+ if (tag != 26) {
460
+ break;
461
+ }
462
+ message.classId = reader.string();
463
+ continue;
464
+ }
465
+ if ((tag & 7) == 4 || tag == 0) {
466
+ break;
467
+ }
468
+ reader.skipType(tag & 7);
469
+ }
470
+ return message;
471
+ },
472
+ fromJSON(object) {
473
+ return {
474
+ pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,
475
+ id: isSet(object.id) ? String(object.id) : "",
476
+ classId: isSet(object.classId) ? String(object.classId) : "",
477
+ };
478
+ },
479
+ toJSON(message) {
480
+ const obj = {};
481
+ message.pagination !== undefined &&
482
+ (obj.pagination = message.pagination ? PageRequest.toJSON(message.pagination) : undefined);
483
+ message.id !== undefined && (obj.id = message.id);
484
+ message.classId !== undefined && (obj.classId = message.classId);
485
+ return obj;
486
+ },
487
+ create(base) {
488
+ return QueryWhitelistedAccountsForNFTRequest.fromPartial(base ?? {});
489
+ },
490
+ fromPartial(object) {
491
+ const message = createBaseQueryWhitelistedAccountsForNFTRequest();
492
+ message.pagination = (object.pagination !== undefined && object.pagination !== null)
493
+ ? PageRequest.fromPartial(object.pagination)
494
+ : undefined;
495
+ message.id = object.id ?? "";
496
+ message.classId = object.classId ?? "";
497
+ return message;
498
+ },
499
+ };
500
+ function createBaseQueryWhitelistedAccountsForNFTResponse() {
501
+ return { pagination: undefined, accounts: [] };
502
+ }
503
+ export const QueryWhitelistedAccountsForNFTResponse = {
504
+ encode(message, writer = _m0.Writer.create()) {
505
+ if (message.pagination !== undefined) {
506
+ PageResponse.encode(message.pagination, writer.uint32(10).fork()).ldelim();
507
+ }
508
+ for (const v of message.accounts) {
509
+ writer.uint32(18).string(v);
510
+ }
511
+ return writer;
512
+ },
513
+ decode(input, length) {
514
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
515
+ let end = length === undefined ? reader.len : reader.pos + length;
516
+ const message = createBaseQueryWhitelistedAccountsForNFTResponse();
517
+ while (reader.pos < end) {
518
+ const tag = reader.uint32();
519
+ switch (tag >>> 3) {
520
+ case 1:
521
+ if (tag != 10) {
522
+ break;
523
+ }
524
+ message.pagination = PageResponse.decode(reader, reader.uint32());
525
+ continue;
526
+ case 2:
527
+ if (tag != 18) {
528
+ break;
529
+ }
530
+ message.accounts.push(reader.string());
531
+ continue;
532
+ }
533
+ if ((tag & 7) == 4 || tag == 0) {
534
+ break;
535
+ }
536
+ reader.skipType(tag & 7);
537
+ }
538
+ return message;
539
+ },
540
+ fromJSON(object) {
541
+ return {
542
+ pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,
543
+ accounts: Array.isArray(object?.accounts) ? object.accounts.map((e) => String(e)) : [],
544
+ };
545
+ },
546
+ toJSON(message) {
547
+ const obj = {};
548
+ message.pagination !== undefined &&
549
+ (obj.pagination = message.pagination ? PageResponse.toJSON(message.pagination) : undefined);
550
+ if (message.accounts) {
551
+ obj.accounts = message.accounts.map((e) => e);
552
+ }
553
+ else {
554
+ obj.accounts = [];
555
+ }
556
+ return obj;
557
+ },
558
+ create(base) {
559
+ return QueryWhitelistedAccountsForNFTResponse.fromPartial(base ?? {});
560
+ },
561
+ fromPartial(object) {
562
+ const message = createBaseQueryWhitelistedAccountsForNFTResponse();
563
+ message.pagination = (object.pagination !== undefined && object.pagination !== null)
564
+ ? PageResponse.fromPartial(object.pagination)
565
+ : undefined;
566
+ message.accounts = object.accounts?.map((e) => e) || [];
567
+ return message;
568
+ },
569
+ };
570
+ export class QueryClientImpl {
571
+ rpc;
572
+ service;
573
+ constructor(rpc, opts) {
574
+ this.service = opts?.service || "coreum.asset.nft.v1.Query";
575
+ this.rpc = rpc;
576
+ this.Params = this.Params.bind(this);
577
+ this.Class = this.Class.bind(this);
578
+ this.Frozen = this.Frozen.bind(this);
579
+ this.Whitelisted = this.Whitelisted.bind(this);
580
+ this.WhitelistedAccountsForNFT = this.WhitelistedAccountsForNFT.bind(this);
581
+ }
582
+ Params(request) {
583
+ const data = QueryParamsRequest.encode(request).finish();
584
+ const promise = this.rpc.request(this.service, "Params", data);
585
+ return promise.then((data) => QueryParamsResponse.decode(_m0.Reader.create(data)));
586
+ }
587
+ Class(request) {
588
+ const data = QueryClassRequest.encode(request).finish();
589
+ const promise = this.rpc.request(this.service, "Class", data);
590
+ return promise.then((data) => QueryClassResponse.decode(_m0.Reader.create(data)));
591
+ }
592
+ Frozen(request) {
593
+ const data = QueryFrozenRequest.encode(request).finish();
594
+ const promise = this.rpc.request(this.service, "Frozen", data);
595
+ return promise.then((data) => QueryFrozenResponse.decode(_m0.Reader.create(data)));
596
+ }
597
+ Whitelisted(request) {
598
+ const data = QueryWhitelistedRequest.encode(request).finish();
599
+ const promise = this.rpc.request(this.service, "Whitelisted", data);
600
+ return promise.then((data) => QueryWhitelistedResponse.decode(_m0.Reader.create(data)));
601
+ }
602
+ WhitelistedAccountsForNFT(request) {
603
+ const data = QueryWhitelistedAccountsForNFTRequest.encode(request).finish();
604
+ const promise = this.rpc.request(this.service, "WhitelistedAccountsForNFT", data);
605
+ return promise.then((data) => QueryWhitelistedAccountsForNFTResponse.decode(_m0.Reader.create(data)));
606
+ }
607
+ }
608
+ if (_m0.util.Long !== Long) {
609
+ _m0.util.Long = Long;
610
+ _m0.configure();
611
+ }
612
+ function isSet(value) {
613
+ return value !== null && value !== undefined;
614
+ }
615
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29yZXVtL2Fzc2V0L25mdC92MS9xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sR0FBRyxNQUFNLG9CQUFvQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQztBQXNEckQsU0FBUyw0QkFBNEI7SUFDbkMsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsTUFBTSxDQUFDLENBQXFCLEVBQUUsU0FBcUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDcEUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdB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