@avalabs/glacier-sdk 2.5.0-alpha.1 → 2.5.0-alpha.10

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,50 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 2.5.0-alpha.10 (2022-08-04)
7
+
8
+ ### Features
9
+
10
+ - feature flag to not rely on posthog instance ([#166](https://github.com/ava-labs/avalanche-sdks/issues/166)) ([c9193aa](https://github.com/ava-labs/avalanche-sdks/commit/c9193aacb7fdb0bacb2440f1476b222bd76abe26))
11
+
12
+ # 2.5.0-alpha.9 (2022-08-04)
13
+
14
+ **Note:** Version bump only for package @avalabs/glacier-sdk
15
+
16
+ # 2.5.0-alpha.8 (2022-08-04)
17
+
18
+ **Note:** Version bump only for package @avalabs/glacier-sdk
19
+
20
+ # 2.5.0-alpha.7 (2022-08-03)
21
+
22
+ ### Bug Fixes
23
+
24
+ - make glacier sdk pass params to the http client correctly ([c7eb6f5](https://github.com/ava-labs/avalanche-sdks/commit/c7eb6f56a9f5769050c2d1f5db8012c5c0af0f11))
25
+
26
+ # 2.5.0-alpha.6 (2022-07-28)
27
+
28
+ **Note:** Version bump only for package @avalabs/glacier-sdk
29
+
30
+ # 2.5.0-alpha.5 (2022-07-22)
31
+
32
+ ### Bug Fixes
33
+
34
+ - use current version for utils dep for auto-update ([45b69a6](https://github.com/ava-labs/avalanche-sdks/commit/45b69a64d7eb120f44fe00c7598de468c08741a4))
35
+
36
+ # 2.5.0-alpha.4 (2022-07-21)
37
+
38
+ **Note:** Version bump only for package @avalabs/glacier-sdk
39
+
40
+ # 2.5.0-alpha.3 (2022-07-21)
41
+
42
+ **Note:** Version bump only for package @avalabs/glacier-sdk
43
+
44
+ # 2.5.0-alpha.2 (2022-07-21)
45
+
46
+ ### Bug Fixes
47
+
48
+ - **glacier:** missing dep fixed ([e51a99f](https://github.com/ava-labs/avalanche-sdks/commit/e51a99f29cc740e0e1bdcd1a437120dbdb25c696))
49
+
6
50
  # 2.5.0-alpha.1 (2022-07-21)
7
51
 
8
52
  ### Bug Fixes
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from './src/data-contracts';
2
- export * from './src/V1';
1
+ export * from './src/models';
2
+ export * from './src/glacierClient';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -2,251 +2,101 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- /*! *****************************************************************************
6
- Copyright (c) Microsoft Corporation.
7
-
8
- Permission to use, copy, modify, and/or distribute this software for any
9
- purpose with or without fee is hereby granted.
10
-
11
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
12
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
14
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
16
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17
- PERFORMANCE OF THIS SOFTWARE.
18
- ***************************************************************************** */
19
-
20
- function __rest(s, e) {
21
- var t = {};
22
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
23
- t[p] = s[p];
24
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
25
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
26
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
27
- t[p[i]] = s[p[i]];
28
- }
29
- return t;
30
- }
31
-
32
- function __awaiter(thisArg, _arguments, P, generator) {
33
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
- return new (P || (P = Promise))(function (resolve, reject) {
35
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
- step((generator = generator.apply(thisArg, _arguments || [])).next());
39
- });
40
- }
5
+ var utilsSdk = require('@avalabs/utils-sdk');
41
6
 
42
- /* eslint-disable */
43
- var ContentType;
44
- (function (ContentType) {
45
- ContentType["Json"] = "application/json";
46
- ContentType["FormData"] = "multipart/form-data";
47
- ContentType["UrlEncoded"] = "application/x-www-form-urlencoded";
48
- })(ContentType || (ContentType = {}));
49
- class HttpClient {
50
- constructor(apiConfig = {}) {
51
- this.baseUrl = '';
52
- this.securityData = null;
53
- this.abortControllers = new Map();
54
- this.customFetch = (...fetchParams) => fetch(...fetchParams);
55
- this.baseApiParams = {
56
- credentials: 'same-origin',
57
- headers: {},
58
- redirect: 'follow',
59
- referrerPolicy: 'no-referrer',
60
- };
61
- this.setSecurityData = (data) => {
62
- this.securityData = data;
63
- };
64
- this.contentFormatters = {
65
- [ContentType.Json]: (input) => input !== null && (typeof input === 'object' || typeof input === 'string')
66
- ? JSON.stringify(input)
67
- : input,
68
- [ContentType.FormData]: (input) => Object.keys(input || {}).reduce((formData, key) => {
69
- const property = input[key];
70
- formData.append(key, property instanceof Blob
71
- ? property
72
- : typeof property === 'object' && property !== null
73
- ? JSON.stringify(property)
74
- : `${property}`);
75
- return formData;
76
- }, new FormData()),
77
- [ContentType.UrlEncoded]: (input) => this.toQueryString(input),
78
- };
79
- this.createAbortSignal = (cancelToken) => {
80
- if (this.abortControllers.has(cancelToken)) {
81
- const abortController = this.abortControllers.get(cancelToken);
82
- if (abortController) {
83
- return abortController.signal;
84
- }
85
- return void 0;
86
- }
87
- const abortController = new AbortController();
88
- this.abortControllers.set(cancelToken, abortController);
89
- return abortController.signal;
90
- };
91
- this.abortRequest = (cancelToken) => {
92
- const abortController = this.abortControllers.get(cancelToken);
93
- if (abortController) {
94
- abortController.abort();
95
- this.abortControllers.delete(cancelToken);
96
- }
97
- };
98
- this.request = (_a) => __awaiter(this, void 0, void 0, function* () {
99
- var { body, secure, path, type, query, format, baseUrl, cancelToken } = _a, params = __rest(_a, ["body", "secure", "path", "type", "query", "format", "baseUrl", "cancelToken"]);
100
- const secureParams = ((typeof secure === 'boolean' ? secure : this.baseApiParams.secure) &&
101
- this.securityWorker &&
102
- (yield this.securityWorker(this.securityData))) ||
103
- {};
104
- const requestParams = this.mergeRequestParams(params, secureParams);
105
- const queryString = query && this.toQueryString(query);
106
- const payloadFormatter = this.contentFormatters[type || ContentType.Json];
107
- const responseFormat = format || requestParams.format;
108
- return this.customFetch(`${baseUrl || this.baseUrl || ''}${path}${queryString ? `?${queryString}` : ''}`, Object.assign(Object.assign({}, requestParams), { headers: Object.assign(Object.assign({}, (type && type !== ContentType.FormData
109
- ? { 'Content-Type': type }
110
- : {})), (requestParams.headers || {})), signal: cancelToken ? this.createAbortSignal(cancelToken) : void 0, body: typeof body === 'undefined' || body === null
111
- ? null
112
- : payloadFormatter(body) })).then((response) => __awaiter(this, void 0, void 0, function* () {
113
- const r = response;
114
- r.data = null;
115
- r.error = null;
116
- const data = !responseFormat
117
- ? r
118
- : yield response[responseFormat]()
119
- .then((data) => {
120
- if (r.ok) {
121
- r.data = data;
122
- }
123
- else {
124
- r.error = data;
125
- }
126
- return r;
127
- })
128
- .catch((e) => {
129
- r.error = e;
130
- return r;
131
- });
132
- if (cancelToken) {
133
- this.abortControllers.delete(cancelToken);
134
- }
135
- if (!response.ok)
136
- throw data;
137
- return data;
138
- }));
139
- });
140
- Object.assign(this, apiConfig);
7
+ class GlacierClient {
8
+ constructor(baseUrl, version = 'v1', httpOptions) {
9
+ this.baseUrl = baseUrl;
10
+ this.version = version;
11
+ this.httpOptions = httpOptions;
12
+ this.httpClient = new utilsSdk.HttpClient(`${this.baseUrl}/${this.version}`, this.httpOptions);
141
13
  }
142
- encodeQueryParam(key, value) {
143
- const encodedKey = encodeURIComponent(key);
144
- return `${encodedKey}=${encodeURIComponent(typeof value === 'number' ? value : `${value}`)}`;
14
+ /**
15
+ *
16
+ * @name HealthCheck
17
+ * @summary Get the health of the service.
18
+ * @request GET:/${version}/health-check
19
+ * @response `200` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is successful
20
+ * @response `503` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is not successful
21
+ */
22
+ healthCheck(params = {}, customOptions = {}) {
23
+ return this.httpClient.get(`/health-check`, params, customOptions);
145
24
  }
146
- addQueryParam(query, key) {
147
- return this.encodeQueryParam(key, query[key]);
25
+ /**
26
+ * No description
27
+ *
28
+ * @name GetNativeBalance
29
+ * @summary Get native token balance of a wallet address for a given chain.
30
+ * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:getNative
31
+ * @response `200` `NativeBalanceDto`
32
+ */
33
+ getNativeBalance(chainId, address, query, params = {}, customOptions = {}) {
34
+ return this.httpClient.get(`/chains/${chainId}/addresses/${address}/balances:getNative`, Object.assign(Object.assign({}, query), params), customOptions);
148
35
  }
149
- addArrayQueryParam(query, key) {
150
- const value = query[key];
151
- return value.map((v) => this.encodeQueryParam(key, v)).join('&');
36
+ /**
37
+ *
38
+ * @name ListErc20Balances
39
+ * @summary Get erc-20 token balances of a wallet address for a given chain.
40
+ * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc20
41
+ * @response `200` `Erc20BalancesDto`
42
+ */
43
+ listErc20Balances(chainId, address, query, params = {}, customOptions = {}) {
44
+ return this.httpClient.get(`/chains/${chainId}/addresses/${address}/balances:listErc20`, Object.assign(Object.assign({}, query), params), customOptions);
152
45
  }
153
- toQueryString(rawQuery) {
154
- const query = rawQuery || {};
155
- const keys = Object.keys(query).filter((key) => 'undefined' !== typeof query[key]);
156
- return keys
157
- .map((key) => Array.isArray(query[key])
158
- ? this.addArrayQueryParam(query, key)
159
- : this.addQueryParam(query, key))
160
- .join('&');
46
+ /**
47
+ * No description
48
+ *
49
+ * @name ListErc721Balances
50
+ * @summary Get erc-721 token balances of a wallet address for a given chain.
51
+ * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc721
52
+ * @response `200` `Erc721BalancesDto`
53
+ */
54
+ listErc721Balances(chainId, address, query, params = {}, customOptions = {}) {
55
+ return this.httpClient.get(`/chains/${chainId}/addresses/${address}/balances:listErc721`, Object.assign(Object.assign({}, query), params), customOptions);
161
56
  }
162
- addQueryParams(rawQuery) {
163
- const queryString = this.toQueryString(rawQuery);
164
- return queryString ? `?${queryString}` : '';
57
+ /**
58
+ * @description Gets a list of transactions where the given wallet address had an on-chain interaction for a given chain. The erc20 transfers, erc721 transfers, and internal transactions returned as part of the native transactions are only those where the address had an interaction. Therefore the transactions returned from this list may not be complete representations of the on-chain data. For a complete view of a transaction use the `/chains/:chainId/transactions/:txHash` endpoint.
59
+ *
60
+ * @name ListTransactions
61
+ * @summary Gets a list of transactions for a wallet address and chain.
62
+ * @request GET:/v1/chains/{chainId}/addresses/{address}/transactions
63
+ * @response `200` `ListTransactionDetailsDto`
64
+ */
65
+ listTransactions(chainId, address, query, params = {}, customOptions = {}) {
66
+ return this.httpClient.get(`/chains/${chainId}/addresses/${address}/transactions`, Object.assign(Object.assign({}, query), params), customOptions);
165
67
  }
166
- mergeRequestParams(params1, params2) {
167
- return Object.assign(Object.assign(Object.assign(Object.assign({}, this.baseApiParams), params1), (params2 || {})), { headers: Object.assign(Object.assign(Object.assign({}, (this.baseApiParams.headers || {})), (params1.headers || {})), ((params2 && params2.headers) || {})) });
68
+ /**
69
+ *
70
+ * @name GetTransaction
71
+ * @summary Gets the details of a single transaction.
72
+ * @request GET:/v1/chains/{chainId}/transactions/{txHash}
73
+ * @response `200` `TransactionDetailsDto`
74
+ */
75
+ getTransaction(chainId, txHash, params = {}, customOptions = {}) {
76
+ return this.httpClient.get(`/chains/${chainId}/transactions/${txHash}`, params, customOptions);
168
77
  }
169
- }
170
-
171
- /* eslint-disable */
172
- class V1 extends HttpClient {
173
- constructor() {
174
- super(...arguments);
175
- /**
176
- * No description
177
- *
178
- * @name HealthCheck
179
- * @summary Get the health of the service.
180
- * @request GET:/v1/health-check
181
- * @response `200` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is successful
182
- * @response `503` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is not successful
183
- */
184
- this.healthCheck = (params = {}) => this.request(Object.assign({ path: `/v1/health-check`, method: 'GET', format: 'json' }, params));
185
- /**
186
- * No description
187
- *
188
- * @name GetNativeBalance
189
- * @summary Get native token balance of a wallet address for a given chain.
190
- * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:getNative
191
- * @response `200` `NativeBalanceDto`
192
- */
193
- this.getNativeBalance = (chainId, address, query, params = {}) => this.request(Object.assign({ path: `/v1/chains/${chainId}/addresses/${address}/balances:getNative`, method: 'GET', query: query, format: 'json' }, params));
194
- /**
195
- * No description
196
- *
197
- * @name ListErc20Balances
198
- * @summary Get erc-20 token balances of a wallet address for a given chain.
199
- * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc20
200
- * @response `200` `Erc20BalancesDto`
201
- */
202
- this.listErc20Balances = (chainId, address, query, params = {}) => this.request(Object.assign({ path: `/v1/chains/${chainId}/addresses/${address}/balances:listErc20`, method: 'GET', query: query, format: 'json' }, params));
203
- /**
204
- * No description
205
- *
206
- * @name ListErc721Balances
207
- * @summary Get erc-721 token balances of a wallet address for a given chain.
208
- * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc721
209
- * @response `200` `Erc721BalancesDto`
210
- */
211
- this.listErc721Balances = (chainId, address, query, params = {}) => this.request(Object.assign({ path: `/v1/chains/${chainId}/addresses/${address}/balances:listErc721`, method: 'GET', query: query, format: 'json' }, params));
212
- /**
213
- * @description Gets a list of transactions where the given wallet address had an on-chain interaction for a given chain. The erc20 transfers, erc721 transfers, and internal transactions returned as part of the native transactions are only those where the address had an interaction. Therefore the transactions returned from this list may not be complete representations of the on-chain data. For a complete view of a transaction use the `/chains/:chainId/transactions/:txHash` endpoint.
214
- *
215
- * @name ListTransactions
216
- * @summary Gets a list of transactions for a wallet address and chain.
217
- * @request GET:/v1/chains/{chainId}/addresses/{address}/transactions
218
- * @response `200` `ListTransactionDetailsDto`
219
- */
220
- this.listTransactions = (chainId, address, query, params = {}) => this.request(Object.assign({ path: `/v1/chains/${chainId}/addresses/${address}/transactions`, method: 'GET', query: query, format: 'json' }, params));
221
- /**
222
- * No description
223
- *
224
- * @name GetTransaction
225
- * @summary Gets the details of a single transaction.
226
- * @request GET:/v1/chains/{chainId}/transactions/{txHash}
227
- * @response `200` `TransactionDetailsDto`
228
- */
229
- this.getTransaction = (chainId, txHash, params = {}) => this.request(Object.assign({ path: `/v1/chains/${chainId}/transactions/${txHash}`, method: 'GET', format: 'json' }, params));
230
- /**
231
- * No description
232
- *
233
- * @name SupportedChains
234
- * @summary Gets the list of chains supported by the api.
235
- * @request GET:/v1/chains
236
- * @response `200` `ChainsDto`
237
- */
238
- this.supportedChains = (params = {}) => this.request(Object.assign({ path: `/v1/chains`, method: 'GET', format: 'json' }, params));
239
- /**
240
- * No description
241
- *
242
- * @name GetChainInfo
243
- * @summary Gets chain information by chain id.
244
- * @request GET:/v1/chains/{chainId}
245
- * @response `200` `ChainInfoDto`
246
- */
247
- this.getChainInfo = (chainId, params = {}) => this.request(Object.assign({ path: `/v1/chains/${chainId}`, method: 'GET', format: 'json' }, params));
78
+ /**
79
+ *
80
+ * @name SupportedChains
81
+ * @summary Gets the list of chains supported by the api.
82
+ * @request GET:/v1/chains
83
+ * @response `200` `ChainsDto`
84
+ */
85
+ supportedChains(params = {}, customOptions = {}) {
86
+ return this.httpClient.get(`/chains`, params, customOptions);
87
+ }
88
+ /**
89
+ * No description
90
+ *
91
+ * @name GetChainInfo
92
+ * @summary Gets chain information by chain id.
93
+ * @request GET:/v1/chains/{chainId}
94
+ * @response `200` `ChainInfoDto`
95
+ */
96
+ getChainInfo(chainId, params = {}, customOptions = {}) {
97
+ return this.httpClient.get(`/chains/${chainId}`, params, customOptions);
248
98
  }
249
99
  }
250
100
 
251
- exports.V1 = V1;
101
+ exports.GlacierClient = GlacierClient;
252
102
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/http-client.ts","../src/V1.ts"],"sourcesContent":["/* eslint-disable */\n/* tslint:disable */\n/*\n * ---------------------------------------------------------------\n * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##\n * ## ##\n * ## AUTHOR: acacode ##\n * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##\n * ---------------------------------------------------------------\n */\n\nexport type QueryParamsType = Record<string | number, any>;\nexport type ResponseFormat = keyof Omit<Body, 'body' | 'bodyUsed'>;\n\nexport interface FullRequestParams extends Omit<RequestInit, 'body'> {\n /** set parameter to `true` for call `securityWorker` for this request */\n secure?: boolean;\n /** request path */\n path: string;\n /** content type of request body */\n type?: ContentType;\n /** query params */\n query?: QueryParamsType;\n /** format of response (i.e. response.json() -> format: \"json\") */\n format?: ResponseFormat;\n /** request body */\n body?: unknown;\n /** base url */\n baseUrl?: string;\n /** request cancellation token */\n cancelToken?: CancelToken;\n}\n\nexport type RequestParams = Omit<\n FullRequestParams,\n 'body' | 'method' | 'query' | 'path'\n>;\n\nexport interface ApiConfig<SecurityDataType = unknown> {\n baseUrl?: string;\n baseApiParams?: Omit<RequestParams, 'baseUrl' | 'cancelToken' | 'signal'>;\n securityWorker?: (\n securityData: SecurityDataType | null\n ) => Promise<RequestParams | void> | RequestParams | void;\n customFetch?: typeof fetch;\n}\n\nexport interface HttpResponse<D extends unknown, E extends unknown = unknown>\n extends Response {\n data: D;\n error: E;\n}\n\ntype CancelToken = Symbol | string | number;\n\nexport enum ContentType {\n Json = 'application/json',\n FormData = 'multipart/form-data',\n UrlEncoded = 'application/x-www-form-urlencoded',\n}\n\nexport class HttpClient<SecurityDataType = unknown> {\n public baseUrl: string = '';\n private securityData: SecurityDataType | null = null;\n private securityWorker?: ApiConfig<SecurityDataType>['securityWorker'];\n private abortControllers = new Map<CancelToken, AbortController>();\n private customFetch = (...fetchParams: Parameters<typeof fetch>) =>\n fetch(...fetchParams);\n\n private baseApiParams: RequestParams = {\n credentials: 'same-origin',\n headers: {},\n redirect: 'follow',\n referrerPolicy: 'no-referrer',\n };\n\n constructor(apiConfig: ApiConfig<SecurityDataType> = {}) {\n Object.assign(this, apiConfig);\n }\n\n public setSecurityData = (data: SecurityDataType | null) => {\n this.securityData = data;\n };\n\n private encodeQueryParam(key: string, value: any) {\n const encodedKey = encodeURIComponent(key);\n return `${encodedKey}=${encodeURIComponent(\n typeof value === 'number' ? value : `${value}`\n )}`;\n }\n\n private addQueryParam(query: QueryParamsType, key: string) {\n return this.encodeQueryParam(key, query[key]);\n }\n\n private addArrayQueryParam(query: QueryParamsType, key: string) {\n const value = query[key];\n return value.map((v: any) => this.encodeQueryParam(key, v)).join('&');\n }\n\n protected toQueryString(rawQuery?: QueryParamsType): string {\n const query = rawQuery || {};\n const keys = Object.keys(query).filter(\n (key) => 'undefined' !== typeof query[key]\n );\n return keys\n .map((key) =>\n Array.isArray(query[key])\n ? this.addArrayQueryParam(query, key)\n : this.addQueryParam(query, key)\n )\n .join('&');\n }\n\n protected addQueryParams(rawQuery?: QueryParamsType): string {\n const queryString = this.toQueryString(rawQuery);\n return queryString ? `?${queryString}` : '';\n }\n\n private contentFormatters: Record<ContentType, (input: any) => any> = {\n [ContentType.Json]: (input: any) =>\n input !== null && (typeof input === 'object' || typeof input === 'string')\n ? JSON.stringify(input)\n : input,\n [ContentType.FormData]: (input: any) =>\n Object.keys(input || {}).reduce((formData, key) => {\n const property = input[key];\n formData.append(\n key,\n property instanceof Blob\n ? property\n : typeof property === 'object' && property !== null\n ? JSON.stringify(property)\n : `${property}`\n );\n return formData;\n }, new FormData()),\n [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input),\n };\n\n private mergeRequestParams(\n params1: RequestParams,\n params2?: RequestParams\n ): RequestParams {\n return {\n ...this.baseApiParams,\n ...params1,\n ...(params2 || {}),\n headers: {\n ...(this.baseApiParams.headers || {}),\n ...(params1.headers || {}),\n ...((params2 && params2.headers) || {}),\n },\n };\n }\n\n private createAbortSignal = (\n cancelToken: CancelToken\n ): AbortSignal | undefined => {\n if (this.abortControllers.has(cancelToken)) {\n const abortController = this.abortControllers.get(cancelToken);\n if (abortController) {\n return abortController.signal;\n }\n return void 0;\n }\n\n const abortController = new AbortController();\n this.abortControllers.set(cancelToken, abortController);\n return abortController.signal;\n };\n\n public abortRequest = (cancelToken: CancelToken) => {\n const abortController = this.abortControllers.get(cancelToken);\n\n if (abortController) {\n abortController.abort();\n this.abortControllers.delete(cancelToken);\n }\n };\n\n public request = async <T = any, E = any>({\n body,\n secure,\n path,\n type,\n query,\n format,\n baseUrl,\n cancelToken,\n ...params\n }: FullRequestParams): Promise<HttpResponse<T, E>> => {\n const secureParams =\n ((typeof secure === 'boolean' ? secure : this.baseApiParams.secure) &&\n this.securityWorker &&\n (await this.securityWorker(this.securityData))) ||\n {};\n const requestParams = this.mergeRequestParams(params, secureParams);\n const queryString = query && this.toQueryString(query);\n const payloadFormatter = this.contentFormatters[type || ContentType.Json];\n const responseFormat = format || requestParams.format;\n\n return this.customFetch(\n `${baseUrl || this.baseUrl || ''}${path}${\n queryString ? `?${queryString}` : ''\n }`,\n {\n ...requestParams,\n headers: {\n ...(type && type !== ContentType.FormData\n ? { 'Content-Type': type }\n : {}),\n ...(requestParams.headers || {}),\n },\n signal: cancelToken ? this.createAbortSignal(cancelToken) : void 0,\n body:\n typeof body === 'undefined' || body === null\n ? null\n : payloadFormatter(body),\n }\n ).then(async (response) => {\n const r = response as HttpResponse<T, E>;\n r.data = null as unknown as T;\n r.error = null as unknown as E;\n\n const data = !responseFormat\n ? r\n : await response[responseFormat]()\n .then((data) => {\n if (r.ok) {\n r.data = data;\n } else {\n r.error = data;\n }\n return r;\n })\n .catch((e) => {\n r.error = e;\n return r;\n });\n\n if (cancelToken) {\n this.abortControllers.delete(cancelToken);\n }\n\n if (!response.ok) throw data;\n return data;\n });\n };\n}\n","/* eslint-disable */\n/* tslint:disable */\n/*\n * ---------------------------------------------------------------\n * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##\n * ## ##\n * ## AUTHOR: acacode ##\n * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##\n * ---------------------------------------------------------------\n */\n\nimport {\n ChainInfoDto,\n ChainsDto,\n Erc20BalancesDto,\n Erc721BalancesDto,\n ListTransactionDetailsDto,\n NativeBalanceDto,\n TransactionDetailsDto,\n} from './data-contracts';\nimport { HttpClient, RequestParams } from './http-client';\n\nexport class V1<\n SecurityDataType = unknown\n> extends HttpClient<SecurityDataType> {\n /**\n * No description\n *\n * @name HealthCheck\n * @summary Get the health of the service.\n * @request GET:/v1/health-check\n * @response `200` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is successful\n * @response `503` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is not successful\n */\n healthCheck = (params: RequestParams = {}) =>\n this.request<\n {\n status?: string;\n info?: Record<string, { status?: string }>;\n error?: Record<string, { status?: string }>;\n details?: Record<string, { status?: string }>;\n },\n {\n status?: string;\n info?: Record<string, { status?: string }>;\n error?: Record<string, { status?: string }>;\n details?: Record<string, { status?: string }>;\n }\n >({\n path: `/v1/health-check`,\n method: 'GET',\n format: 'json',\n ...params,\n });\n /**\n * No description\n *\n * @name GetNativeBalance\n * @summary Get native token balance of a wallet address for a given chain.\n * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:getNative\n * @response `200` `NativeBalanceDto`\n */\n getNativeBalance = (\n chainId: string,\n address: string,\n query?: {\n currency?:\n | 'usd'\n | 'eur'\n | 'aud'\n | 'cad'\n | 'chf'\n | 'clp'\n | 'czk'\n | 'dkk'\n | 'gbp'\n | 'hkd'\n | 'huf';\n },\n params: RequestParams = {}\n ) =>\n this.request<NativeBalanceDto, any>({\n path: `/v1/chains/${chainId}/addresses/${address}/balances:getNative`,\n method: 'GET',\n query: query,\n format: 'json',\n ...params,\n });\n /**\n * No description\n *\n * @name ListErc20Balances\n * @summary Get erc-20 token balances of a wallet address for a given chain.\n * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc20\n * @response `200` `Erc20BalancesDto`\n */\n listErc20Balances = (\n chainId: string,\n address: string,\n query?: {\n pageSize?: number;\n pageToken?: string;\n currency?:\n | 'usd'\n | 'eur'\n | 'aud'\n | 'cad'\n | 'chf'\n | 'clp'\n | 'czk'\n | 'dkk'\n | 'gbp'\n | 'hkd'\n | 'huf';\n },\n params: RequestParams = {}\n ) =>\n this.request<Erc20BalancesDto, any>({\n path: `/v1/chains/${chainId}/addresses/${address}/balances:listErc20`,\n method: 'GET',\n query: query,\n format: 'json',\n ...params,\n });\n /**\n * No description\n *\n * @name ListErc721Balances\n * @summary Get erc-721 token balances of a wallet address for a given chain.\n * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc721\n * @response `200` `Erc721BalancesDto`\n */\n listErc721Balances = (\n chainId: string,\n address: string,\n query?: {\n pageSize?: number;\n pageToken?: string;\n currency?:\n | 'usd'\n | 'eur'\n | 'aud'\n | 'cad'\n | 'chf'\n | 'clp'\n | 'czk'\n | 'dkk'\n | 'gbp'\n | 'hkd'\n | 'huf';\n },\n params: RequestParams = {}\n ) =>\n this.request<Erc721BalancesDto, any>({\n path: `/v1/chains/${chainId}/addresses/${address}/balances:listErc721`,\n method: 'GET',\n query: query,\n format: 'json',\n ...params,\n });\n /**\n * @description Gets a list of transactions where the given wallet address had an on-chain interaction for a given chain. The erc20 transfers, erc721 transfers, and internal transactions returned as part of the native transactions are only those where the address had an interaction. Therefore the transactions returned from this list may not be complete representations of the on-chain data. For a complete view of a transaction use the `/chains/:chainId/transactions/:txHash` endpoint.\n *\n * @name ListTransactions\n * @summary Gets a list of transactions for a wallet address and chain.\n * @request GET:/v1/chains/{chainId}/addresses/{address}/transactions\n * @response `200` `ListTransactionDetailsDto`\n */\n listTransactions = (\n chainId: string,\n address: string,\n query?: { pageSize?: number; pageToken?: string },\n params: RequestParams = {}\n ) =>\n this.request<ListTransactionDetailsDto, any>({\n path: `/v1/chains/${chainId}/addresses/${address}/transactions`,\n method: 'GET',\n query: query,\n format: 'json',\n ...params,\n });\n /**\n * No description\n *\n * @name GetTransaction\n * @summary Gets the details of a single transaction.\n * @request GET:/v1/chains/{chainId}/transactions/{txHash}\n * @response `200` `TransactionDetailsDto`\n */\n getTransaction = (\n chainId: string,\n txHash: string,\n params: RequestParams = {}\n ) =>\n this.request<TransactionDetailsDto, any>({\n path: `/v1/chains/${chainId}/transactions/${txHash}`,\n method: 'GET',\n format: 'json',\n ...params,\n });\n /**\n * No description\n *\n * @name SupportedChains\n * @summary Gets the list of chains supported by the api.\n * @request GET:/v1/chains\n * @response `200` `ChainsDto`\n */\n supportedChains = (params: RequestParams = {}) =>\n this.request<ChainsDto, any>({\n path: `/v1/chains`,\n method: 'GET',\n format: 'json',\n ...params,\n });\n /**\n * No description\n *\n * @name GetChainInfo\n * @summary Gets chain information by chain id.\n * @request GET:/v1/chains/{chainId}\n * @response `200` `ChainInfoDto`\n */\n getChainInfo = (chainId: string, params: RequestParams = {}) =>\n this.request<ChainInfoDto, any>({\n path: `/v1/chains/${chainId}`,\n method: 'GET',\n format: 'json',\n ...params,\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/glacierClient.ts"],"sourcesContent":["import { HttpClient, HttpOptions } from '@avalabs/utils-sdk';\nimport {\n ChainInfo,\n Chains,\n CurrencyCode,\n Erc20Balances,\n Erc721Balances,\n HealthStatusCheck,\n ListTransactionDetails,\n NativeBalance,\n TransactionDetails,\n} from './models';\n\nexport class GlacierClient {\n private httpClient: HttpClient;\n constructor(\n private baseUrl: string,\n private version = 'v1',\n private httpOptions?: HttpOptions\n ) {\n this.httpClient = new HttpClient(\n `${this.baseUrl}/${this.version}`,\n this.httpOptions\n );\n }\n /**\n *\n * @name HealthCheck\n * @summary Get the health of the service.\n * @request GET:/${version}/health-check\n * @response `200` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is successful\n * @response `503` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is not successful\n */\n healthCheck(\n params: Record<string, any> = {},\n customOptions: HttpOptions = {}\n ) {\n return this.httpClient.get<HealthStatusCheck>(\n `/health-check`,\n params,\n customOptions\n );\n }\n\n /**\n * No description\n *\n * @name GetNativeBalance\n * @summary Get native token balance of a wallet address for a given chain.\n * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:getNative\n * @response `200` `NativeBalanceDto`\n */\n getNativeBalance(\n chainId: string,\n address: string,\n query?: {\n currency?: CurrencyCode;\n },\n params: Record<string, any> = {},\n customOptions: HttpOptions = {}\n ) {\n return this.httpClient.get<NativeBalance>(\n `/chains/${chainId}/addresses/${address}/balances:getNative`,\n { ...query, ...params },\n customOptions\n );\n }\n /**\n *\n * @name ListErc20Balances\n * @summary Get erc-20 token balances of a wallet address for a given chain.\n * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc20\n * @response `200` `Erc20BalancesDto`\n */\n listErc20Balances(\n chainId: string,\n address: string,\n query?: {\n pageSize?: number;\n pageToken?: string;\n currency?: CurrencyCode;\n },\n params: Record<string, any> = {},\n customOptions: HttpOptions = {}\n ) {\n return this.httpClient.get<Erc20Balances>(\n `/chains/${chainId}/addresses/${address}/balances:listErc20`,\n { ...query, ...params },\n customOptions\n );\n }\n /**\n * No description\n *\n * @name ListErc721Balances\n * @summary Get erc-721 token balances of a wallet address for a given chain.\n * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc721\n * @response `200` `Erc721BalancesDto`\n */\n listErc721Balances(\n chainId: string,\n address: string,\n query?: {\n pageSize?: number;\n pageToken?: string;\n currency?: CurrencyCode;\n },\n params: Record<string, any> = {},\n customOptions: HttpOptions = {}\n ) {\n return this.httpClient.get<Erc721Balances>(\n `/chains/${chainId}/addresses/${address}/balances:listErc721`,\n { ...query, ...params },\n customOptions\n );\n }\n /**\n * @description Gets a list of transactions where the given wallet address had an on-chain interaction for a given chain. The erc20 transfers, erc721 transfers, and internal transactions returned as part of the native transactions are only those where the address had an interaction. Therefore the transactions returned from this list may not be complete representations of the on-chain data. For a complete view of a transaction use the `/chains/:chainId/transactions/:txHash` endpoint.\n *\n * @name ListTransactions\n * @summary Gets a list of transactions for a wallet address and chain.\n * @request GET:/v1/chains/{chainId}/addresses/{address}/transactions\n * @response `200` `ListTransactionDetailsDto`\n */\n listTransactions(\n chainId: string,\n address: string,\n query?: { pageSize?: number; pageToken?: string },\n params: Record<string, any> = {},\n customOptions: HttpOptions = {}\n ) {\n return this.httpClient.get<ListTransactionDetails>(\n `/chains/${chainId}/addresses/${address}/transactions`,\n { ...query, ...params },\n customOptions\n );\n }\n /**\n *\n * @name GetTransaction\n * @summary Gets the details of a single transaction.\n * @request GET:/v1/chains/{chainId}/transactions/{txHash}\n * @response `200` `TransactionDetailsDto`\n */\n getTransaction(\n chainId: string,\n txHash: string,\n params: Record<string, any> = {},\n customOptions: HttpOptions = {}\n ) {\n return this.httpClient.get<TransactionDetails>(\n `/chains/${chainId}/transactions/${txHash}`,\n params,\n customOptions\n );\n }\n /**\n *\n * @name SupportedChains\n * @summary Gets the list of chains supported by the api.\n * @request GET:/v1/chains\n * @response `200` `ChainsDto`\n */\n supportedChains(\n params: Record<string, any> = {},\n customOptions: HttpOptions = {}\n ) {\n return this.httpClient.get<Chains>(`/chains`, params, customOptions);\n }\n\n /**\n * No description\n *\n * @name GetChainInfo\n * @summary Gets chain information by chain id.\n * @request GET:/v1/chains/{chainId}\n * @response `200` `ChainInfoDto`\n */\n getChainInfo(\n chainId: string,\n params: Record<string, any> = {},\n customOptions: HttpOptions = {}\n ) {\n return this.httpClient.get<ChainInfo>(\n `/chains/${chainId}`,\n params,\n customOptions\n );\n }\n}\n"],"names":["HttpClient"],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { HttpOptions } from '@avalabs/utils-sdk';
2
+ import { ChainInfo, Chains, CurrencyCode, Erc20Balances, Erc721Balances, HealthStatusCheck, ListTransactionDetails, NativeBalance, TransactionDetails } from './models';
3
+ export declare class GlacierClient {
4
+ private baseUrl;
5
+ private version;
6
+ private httpOptions?;
7
+ private httpClient;
8
+ constructor(baseUrl: string, version?: string, httpOptions?: HttpOptions | undefined);
9
+ /**
10
+ *
11
+ * @name HealthCheck
12
+ * @summary Get the health of the service.
13
+ * @request GET:/${version}/health-check
14
+ * @response `200` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is successful
15
+ * @response `503` `{ status?: string, info?: Record<string, { status?: string }>, error?: Record<string, { status?: string }>, details?: Record<string, { status?: string }> }` The Health Check is not successful
16
+ */
17
+ healthCheck(params?: Record<string, any>, customOptions?: HttpOptions): Promise<HealthStatusCheck>;
18
+ /**
19
+ * No description
20
+ *
21
+ * @name GetNativeBalance
22
+ * @summary Get native token balance of a wallet address for a given chain.
23
+ * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:getNative
24
+ * @response `200` `NativeBalanceDto`
25
+ */
26
+ getNativeBalance(chainId: string, address: string, query?: {
27
+ currency?: CurrencyCode;
28
+ }, params?: Record<string, any>, customOptions?: HttpOptions): Promise<NativeBalance>;
29
+ /**
30
+ *
31
+ * @name ListErc20Balances
32
+ * @summary Get erc-20 token balances of a wallet address for a given chain.
33
+ * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc20
34
+ * @response `200` `Erc20BalancesDto`
35
+ */
36
+ listErc20Balances(chainId: string, address: string, query?: {
37
+ pageSize?: number;
38
+ pageToken?: string;
39
+ currency?: CurrencyCode;
40
+ }, params?: Record<string, any>, customOptions?: HttpOptions): Promise<Erc20Balances>;
41
+ /**
42
+ * No description
43
+ *
44
+ * @name ListErc721Balances
45
+ * @summary Get erc-721 token balances of a wallet address for a given chain.
46
+ * @request GET:/v1/chains/{chainId}/addresses/{address}/balances:listErc721
47
+ * @response `200` `Erc721BalancesDto`
48
+ */
49
+ listErc721Balances(chainId: string, address: string, query?: {
50
+ pageSize?: number;
51
+ pageToken?: string;
52
+ currency?: CurrencyCode;
53
+ }, params?: Record<string, any>, customOptions?: HttpOptions): Promise<Erc721Balances>;
54
+ /**
55
+ * @description Gets a list of transactions where the given wallet address had an on-chain interaction for a given chain. The erc20 transfers, erc721 transfers, and internal transactions returned as part of the native transactions are only those where the address had an interaction. Therefore the transactions returned from this list may not be complete representations of the on-chain data. For a complete view of a transaction use the `/chains/:chainId/transactions/:txHash` endpoint.
56
+ *
57
+ * @name ListTransactions
58
+ * @summary Gets a list of transactions for a wallet address and chain.
59
+ * @request GET:/v1/chains/{chainId}/addresses/{address}/transactions
60
+ * @response `200` `ListTransactionDetailsDto`
61
+ */
62
+ listTransactions(chainId: string, address: string, query?: {
63
+ pageSize?: number;
64
+ pageToken?: string;
65
+ }, params?: Record<string, any>, customOptions?: HttpOptions): Promise<ListTransactionDetails>;
66
+ /**
67
+ *
68
+ * @name GetTransaction
69
+ * @summary Gets the details of a single transaction.
70
+ * @request GET:/v1/chains/{chainId}/transactions/{txHash}
71
+ * @response `200` `TransactionDetailsDto`
72
+ */
73
+ getTransaction(chainId: string, txHash: string, params?: Record<string, any>, customOptions?: HttpOptions): Promise<TransactionDetails>;
74
+ /**
75
+ *
76
+ * @name SupportedChains
77
+ * @summary Gets the list of chains supported by the api.
78
+ * @request GET:/v1/chains
79
+ * @response `200` `ChainsDto`
80
+ */
81
+ supportedChains(params?: Record<string, any>, customOptions?: HttpOptions): Promise<Chains>;
82
+ /**
83
+ * No description
84
+ *
85
+ * @name GetChainInfo
86
+ * @summary Gets chain information by chain id.
87
+ * @request GET:/v1/chains/{chainId}
88
+ * @response `200` `ChainInfoDto`
89
+ */
90
+ getChainInfo(chainId: string, params?: Record<string, any>, customOptions?: HttpOptions): Promise<ChainInfo>;
91
+ }
92
+ //# sourceMappingURL=glacierClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glacierClient.d.ts","sourceRoot":"","sources":["../../src/glacierClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,SAAS,EACT,MAAM,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,qBAAa,aAAa;IAGtB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW,CAAC;IAJtB,OAAO,CAAC,UAAU,CAAa;gBAErB,OAAO,EAAE,MAAM,EACf,OAAO,SAAO,EACd,WAAW,CAAC,yBAAa;IAOnC;;;;;;;OAOG;IACH,WAAW,CACT,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,aAAa,GAAE,WAAgB;IASjC;;;;;;;OAOG;IACH,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,YAAY,CAAC;KACzB,EACD,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,aAAa,GAAE,WAAgB;IAQjC;;;;;;OAMG;IACH,iBAAiB,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;KACzB,EACD,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,aAAa,GAAE,WAAgB;IAQjC;;;;;;;OAOG;IACH,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;KACzB,EACD,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,aAAa,GAAE,WAAgB;IAQjC;;;;;;;OAOG;IACH,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EACjD,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,aAAa,GAAE,WAAgB;IAQjC;;;;;;OAMG;IACH,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,aAAa,GAAE,WAAgB;IAQjC;;;;;;OAMG;IACH,eAAe,CACb,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,aAAa,GAAE,WAAgB;IAKjC;;;;;;;OAOG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,aAAa,GAAE,WAAgB;CAQlC"}