@codex-data/sdk 1.0.9 → 1.0.11
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/dist/resources/graphql.d.ts +177 -681
- package/dist/resources/graphql.d.ts.map +1 -1
- package/dist/resources/graphql.js +67 -79
- package/dist/resources/graphql.js.map +1 -1
- package/dist/sdk/Mutation.d.ts +2 -2
- package/dist/sdk/Mutation.d.ts.map +1 -1
- package/dist/sdk/Mutation.js +2 -2
- package/dist/sdk/Mutation.js.map +1 -1
- package/dist/sdk/Query.d.ts +57 -52
- package/dist/sdk/Query.d.ts.map +1 -1
- package/dist/sdk/Query.js +56 -51
- package/dist/sdk/Query.js.map +1 -1
- package/dist/sdk/Subscribe.d.ts +17 -18
- package/dist/sdk/Subscribe.d.ts.map +1 -1
- package/dist/sdk/Subscribe.js +126 -133
- package/dist/sdk/Subscribe.js.map +1 -1
- package/dist/sdk/generated/gql.d.ts +135 -104
- package/dist/sdk/generated/gql.d.ts.map +1 -1
- package/dist/sdk/generated/gql.js +44 -40
- package/dist/sdk/generated/gql.js.map +1 -1
- package/dist/sdk/generated/graphql.d.ts +1612 -1103
- package/dist/sdk/generated/graphql.d.ts.map +1 -1
- package/dist/sdk/generated/graphql.js +113 -121
- package/dist/sdk/generated/graphql.js.map +1 -1
- package/dist/sdk/index.d.ts +45 -0
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +83 -5
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/index.test.js +232 -7
- package/dist/sdk/index.test.js.map +1 -1
- package/package.json +1 -1
- package/src/resources/generated_queries/Balances.graphql +15 -0
- package/src/resources/generated_queries/DetailedWalletStats.graphql +4 -0
- package/src/resources/generated_queries/FilterNetworkWallets.graphql +57 -0
- package/src/resources/generated_queries/FilterNftPoolCollections.graphql +8 -0
- package/src/resources/generated_queries/FilterNftPools.graphql +7 -0
- package/src/resources/generated_queries/FilterPairs.graphql +60 -0
- package/src/resources/generated_queries/FilterTokenWallets.graphql +16 -0
- package/src/resources/generated_queries/FilterTokens.graphql +47 -0
- package/src/resources/generated_queries/FilterWallets.graphql +1 -0
- package/src/resources/generated_queries/GetBars.graphql +31 -0
- package/src/resources/generated_queries/GetCommunityNotes.graphql +16 -0
- package/src/resources/generated_queries/GetDetailedPairStats.graphql +30 -0
- package/src/resources/generated_queries/GetDetailedPairsStats.graphql +30 -0
- package/src/resources/generated_queries/GetDetailedStats.graphql +338 -0
- package/src/resources/generated_queries/GetLatestPairs.graphql +57 -0
- package/src/resources/generated_queries/GetLatestTokens.graphql +39 -0
- package/src/resources/generated_queries/GetNftEvents.graphql +9 -0
- package/src/resources/generated_queries/GetNftPool.graphql +2 -0
- package/src/resources/generated_queries/GetNftPoolCollection.graphql +8 -0
- package/src/resources/generated_queries/GetNftPoolCollectionsByExchange.graphql +8 -0
- package/src/resources/generated_queries/GetNftPoolEvents.graphql +2 -0
- package/src/resources/generated_queries/GetNftPoolsByCollectionAndExchange.graphql +2 -0
- package/src/resources/generated_queries/GetNftPoolsByOwner.graphql +2 -0
- package/src/resources/generated_queries/Holders.graphql +15 -0
- package/src/resources/generated_queries/LiquidityLocks.graphql +1 -0
- package/src/resources/generated_queries/ListPairsForToken.graphql +30 -0
- package/src/resources/generated_queries/ListPairsWithMetadataForToken.graphql +60 -0
- package/src/resources/generated_queries/ListTopTokens.graphql +55 -0
- package/src/resources/generated_queries/PairMetadata.graphql +30 -0
- package/src/resources/generated_queries/PrimeHolders.graphql +15 -0
- package/src/resources/generated_queries/SearchTokens.graphql +67 -0
- package/src/resources/generated_queries/Token.graphql +15 -0
- package/src/resources/generated_queries/Tokens.graphql +15 -0
- package/src/resources/generated_queries/WalletChart.graphql +1 -0
- package/src/resources/generated_subscriptions/OnBalanceUpdated.graphql +15 -0
- package/src/resources/generated_subscriptions/OnBarsUpdated.graphql +2 -10
- package/src/resources/generated_subscriptions/OnDetailedStatsUpdated.graphql +1 -6
- package/src/resources/generated_subscriptions/OnEventsCreated.graphql +0 -2
- package/src/resources/generated_subscriptions/OnHoldersUpdated.graphql +15 -0
- package/src/resources/generated_subscriptions/OnLaunchpadTokenEvent.graphql +15 -0
- package/src/resources/generated_subscriptions/OnNftEventsCreated.graphql +9 -0
- package/src/resources/generated_subscriptions/OnNftPoolEventsCreated.graphql +2 -0
- package/src/resources/generated_subscriptions/OnPairMetadataUpdated.graphql +32 -10
- package/src/resources/generated_subscriptions/OnTokenBarsUpdated.graphql +2 -10
- package/src/resources/graphql.schema.json +457 -5137
- package/src/resources/graphql.ts +183 -743
- package/src/resources/schema.graphql +6752 -11058
- package/src/sdk/Mutation.ts +4 -4
- package/src/sdk/Query.ts +128 -109
- package/src/sdk/Subscribe.ts +208 -223
- package/src/sdk/generated/gql.ts +106 -86
- package/src/sdk/generated/graphql.ts +320 -842
- package/src/sdk/index.test.ts +361 -10
- package/src/sdk/index.ts +89 -6
- package/src/resources/generated_queries/GetSimulateTokenContractResults.graphql +0 -128
- package/src/resources/generated_subscriptions/OnSimulateTokenContract.graphql +0 -121
package/dist/sdk/index.d.ts
CHANGED
|
@@ -21,11 +21,56 @@ export declare class Codex {
|
|
|
21
21
|
queries: Query;
|
|
22
22
|
mutations: Mutation;
|
|
23
23
|
subscriptions: Subscribe;
|
|
24
|
+
/**
|
|
25
|
+
* @param apiKey - The api key to use for the requests.
|
|
26
|
+
* @param apiConfig - The configuration to use for the requests.
|
|
27
|
+
*/
|
|
24
28
|
constructor(apiKey: string, apiConfig?: Partial<ApiConfig> | undefined);
|
|
29
|
+
private parseConfig;
|
|
30
|
+
private createGraphQLClient;
|
|
31
|
+
private createWebsocketClient;
|
|
25
32
|
private getRequestHeaders;
|
|
33
|
+
/**
|
|
34
|
+
* Need to update the headers on the websocket connection.
|
|
35
|
+
* This is useful if the api key changes, or you need to modify the connection init params at all.
|
|
36
|
+
* NOTE: it will dispose of the old connection, so all existing subscriptions will be closed.
|
|
37
|
+
*/
|
|
38
|
+
updateConfig(incomingConfig: Partial<ApiConfig>): void;
|
|
39
|
+
/**
|
|
40
|
+
* Call this to dispose of the websocket connection, and make this class ready for garbage collection.
|
|
41
|
+
* This will also close any open subscriptions.
|
|
42
|
+
*
|
|
43
|
+
* It's useful for when you need to modify some of the configuration, or when you're done with the class.
|
|
44
|
+
*/
|
|
45
|
+
dispose(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* This is the preferred way to execute queries.
|
|
48
|
+
* @param doc - The graphql document node to execute.
|
|
49
|
+
* @param args - The variables to pass to the document.
|
|
50
|
+
* @returns The result of the query.
|
|
51
|
+
*/
|
|
26
52
|
query<TResults, TVars extends Variables>(doc: TypedDocumentNode<TResults, TVars>, args?: TVars): Promise<TResults>;
|
|
53
|
+
/**
|
|
54
|
+
* This is functionally the same thing as the `query` method, but it's more expressive.
|
|
55
|
+
* @param doc - The graphql document node to execute.
|
|
56
|
+
* @param args - The variables to pass to the document.
|
|
57
|
+
* @returns The result of the mutation.
|
|
58
|
+
*/
|
|
27
59
|
mutation<TResults, TVars extends Variables>(doc: TypedDocumentNode<TResults, TVars>, args?: TVars): Promise<TResults>;
|
|
60
|
+
/**
|
|
61
|
+
* This should be used when you don't want to use graphql libaries to create a document node,
|
|
62
|
+
* and would rather just pass in a string.
|
|
63
|
+
* @param gqlString - The graphql document string to execute.
|
|
64
|
+
* @param args - The variables to pass to the document.
|
|
65
|
+
* @returns The result of the mutation.
|
|
66
|
+
*/
|
|
28
67
|
send<TResults, V extends Variables = Variables>(gqlString: string, args?: V): Promise<TResults>;
|
|
68
|
+
/**
|
|
69
|
+
* @param doc - The graphql document string to execute.
|
|
70
|
+
* @param args - The variables to pass to the document.
|
|
71
|
+
* @param sink - The sink to receive the results.
|
|
72
|
+
* @returns A cleanup function to unsubscribe from the subscription.
|
|
73
|
+
*/
|
|
29
74
|
subscribe<TResults, TVars extends Record<string, unknown> = Record<string, never>>(doc: string, args: TVars, sink: Sink<ExecutionResult<TResults>>): CleanupFunction;
|
|
30
75
|
}
|
|
31
76
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/sdk/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAGL,eAAe,EACf,IAAI,EACL,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG;IAEtB,MAAM,EAAE,MAAM,CAAC;IAGf,cAAc,EAAE,MAAM,CAAC;IAGvB,EAAE,CAAC,EAAE,OAAO,CAAC;IAGb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGnC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD,CAAC;AAQF,qBAAa,KAAK;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAGL,eAAe,EACf,IAAI,EACL,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG;IAEtB,MAAM,EAAE,MAAM,CAAC;IAGf,cAAc,EAAE,MAAM,CAAC;IAGvB,EAAE,CAAC,EAAE,OAAO,CAAC;IAGb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGnC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD,CAAC;AAQF,qBAAa,KAAK;IAYd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS,CAAC;IAZpB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAA8B;IACvC,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,QAAQ,CAAC;IACpB,aAAa,EAAE,SAAS,CAAC;IAEhC;;;OAGG;gBAEO,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,gCAAoB;IAexC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,qBAAqB;YAcf,iBAAiB;IAW/B;;;;OAIG;IACI,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC;IAwBtD;;;;;OAKG;IACU,OAAO;IAIpB;;;;;OAKG;IACU,KAAK,CAAC,QAAQ,EAAE,KAAK,SAAS,SAAS,EAClD,GAAG,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,EACvC,IAAI,GAAE,KAAmB;IAU3B;;;;;OAKG;IACU,QAAQ,CAAC,QAAQ,EAAE,KAAK,SAAS,SAAS,EACrD,GAAG,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,EACvC,IAAI,GAAE,KAAmB;IAU3B;;;;;;OAMG;IACU,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACzD,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,CAAW;IAUnB;;;;;OAKG;IACI,SAAS,CACd,QAAQ,EACR,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAE7D,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,GACpC,eAAe;CAcnB"}
|
package/dist/sdk/index.js
CHANGED
|
@@ -26,19 +26,36 @@ const defaultConfig = {
|
|
|
26
26
|
ws: true,
|
|
27
27
|
};
|
|
28
28
|
class Codex {
|
|
29
|
+
/**
|
|
30
|
+
* @param apiKey - The api key to use for the requests.
|
|
31
|
+
* @param apiConfig - The configuration to use for the requests.
|
|
32
|
+
*/
|
|
29
33
|
constructor(apiKey, apiConfig) {
|
|
34
|
+
var _a, _b;
|
|
30
35
|
this.apiKey = apiKey;
|
|
31
36
|
this.apiConfig = apiConfig;
|
|
32
|
-
|
|
33
|
-
const config = Object.assign({}, defaultConfig, apiConfig);
|
|
37
|
+
const config = this.parseConfig((_a = this.apiConfig) !== null && _a !== void 0 ? _a : {});
|
|
34
38
|
this.queries = new Query_1.Query(this);
|
|
35
39
|
this.mutations = new Mutation_1.Mutation(this);
|
|
36
40
|
this.subscriptions = new Subscribe_1.Subscribe(this);
|
|
37
|
-
this.client =
|
|
41
|
+
this.client = this.createGraphQLClient(config);
|
|
42
|
+
this.wsClient = this.createWebsocketClient(config);
|
|
43
|
+
(_b = this.wsClient) === null || _b === void 0 ? void 0 : _b.on("error", (error) => {
|
|
44
|
+
console.error("Websocket error: ", error);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
parseConfig(config) {
|
|
48
|
+
(0, invariant_1.invariant)(this.apiKey, "apiKey must be defined");
|
|
49
|
+
return Object.assign({}, defaultConfig, config);
|
|
50
|
+
}
|
|
51
|
+
createGraphQLClient(config) {
|
|
52
|
+
return new graphql_request_1.GraphQLClient(config.apiUrl, {
|
|
38
53
|
method: "POST",
|
|
39
54
|
headers: new Headers(Object.assign({ "Content-Type": "application/json", Authorization: this.apiKey, "X-Apollo-Operation-Name": "query" }, config.headers)),
|
|
40
55
|
});
|
|
41
|
-
|
|
56
|
+
}
|
|
57
|
+
createWebsocketClient(config) {
|
|
58
|
+
return config.ws
|
|
42
59
|
? (0, graphql_ws_1.createClient)({
|
|
43
60
|
webSocketImpl: isomorphic_ws_1.default,
|
|
44
61
|
keepAlive: 10000,
|
|
@@ -57,25 +74,86 @@ class Codex {
|
|
|
57
74
|
return headers;
|
|
58
75
|
});
|
|
59
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Need to update the headers on the websocket connection.
|
|
79
|
+
* This is useful if the api key changes, or you need to modify the connection init params at all.
|
|
80
|
+
* NOTE: it will dispose of the old connection, so all existing subscriptions will be closed.
|
|
81
|
+
*/
|
|
82
|
+
updateConfig(incomingConfig) {
|
|
83
|
+
var _a, _b, _c;
|
|
84
|
+
// If we have an existing websocket connection, dispose of it.
|
|
85
|
+
if (this.wsClient)
|
|
86
|
+
this.dispose();
|
|
87
|
+
// Merge the incoming config with the existing config.
|
|
88
|
+
const config = this.parseConfig(Object.assign({}, this.apiConfig, incomingConfig));
|
|
89
|
+
// Create a new websocket connection with the new headers.
|
|
90
|
+
this.wsClient = this.createWebsocketClient(config);
|
|
91
|
+
this.client = this.createGraphQLClient(config);
|
|
92
|
+
(_a = this.wsClient) === null || _a === void 0 ? void 0 : _a.on("error", (error) => {
|
|
93
|
+
console.error("Websocket error: ", error);
|
|
94
|
+
});
|
|
95
|
+
(_b = this.wsClient) === null || _b === void 0 ? void 0 : _b.on("closed", (er) => {
|
|
96
|
+
console.log("Websocket closed", er);
|
|
97
|
+
});
|
|
98
|
+
(_c = this.wsClient) === null || _c === void 0 ? void 0 : _c.on("connecting", () => {
|
|
99
|
+
console.log("Websocket connecting");
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Call this to dispose of the websocket connection, and make this class ready for garbage collection.
|
|
104
|
+
* This will also close any open subscriptions.
|
|
105
|
+
*
|
|
106
|
+
* It's useful for when you need to modify some of the configuration, or when you're done with the class.
|
|
107
|
+
*/
|
|
108
|
+
dispose() {
|
|
109
|
+
var _a;
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
(_a = this.wsClient) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* This is the preferred way to execute queries.
|
|
116
|
+
* @param doc - The graphql document node to execute.
|
|
117
|
+
* @param args - The variables to pass to the document.
|
|
118
|
+
* @returns The result of the query.
|
|
119
|
+
*/
|
|
60
120
|
query(doc, args = {}) {
|
|
61
121
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
122
|
const res = yield this.client.request(doc, args, yield this.getRequestHeaders());
|
|
63
123
|
return res;
|
|
64
124
|
});
|
|
65
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* This is functionally the same thing as the `query` method, but it's more expressive.
|
|
128
|
+
* @param doc - The graphql document node to execute.
|
|
129
|
+
* @param args - The variables to pass to the document.
|
|
130
|
+
* @returns The result of the mutation.
|
|
131
|
+
*/
|
|
66
132
|
mutation(doc, args = {}) {
|
|
67
133
|
return __awaiter(this, void 0, void 0, function* () {
|
|
68
134
|
const res = yield this.client.request(doc, args, yield this.getRequestHeaders());
|
|
69
135
|
return res;
|
|
70
136
|
});
|
|
71
137
|
}
|
|
72
|
-
|
|
138
|
+
/**
|
|
139
|
+
* This should be used when you don't want to use graphql libaries to create a document node,
|
|
140
|
+
* and would rather just pass in a string.
|
|
141
|
+
* @param gqlString - The graphql document string to execute.
|
|
142
|
+
* @param args - The variables to pass to the document.
|
|
143
|
+
* @returns The result of the mutation.
|
|
144
|
+
*/
|
|
73
145
|
send(gqlString, args = {}) {
|
|
74
146
|
return __awaiter(this, void 0, void 0, function* () {
|
|
75
147
|
const res = yield this.client.request(gqlString, args, yield this.getRequestHeaders());
|
|
76
148
|
return res;
|
|
77
149
|
});
|
|
78
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* @param doc - The graphql document string to execute.
|
|
153
|
+
* @param args - The variables to pass to the document.
|
|
154
|
+
* @param sink - The sink to receive the results.
|
|
155
|
+
* @returns A cleanup function to unsubscribe from the subscription.
|
|
156
|
+
*/
|
|
79
157
|
subscribe(doc, args, sink) {
|
|
80
158
|
if (!this.wsClient) {
|
|
81
159
|
throw new Error("Websocket is not enabled in the config");
|
package/dist/sdk/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,qDAA2D;AAC3D,2CAKoB;AACpB,kEAAsC;AAEtC,2CAAwC;AACxC,yCAAsC;AACtC,mCAAgC;AAChC,2CAAwC;AAwBxC,MAAM,aAAa,GAAc;IAC/B,MAAM,EAAE,gCAAgC;IACxC,cAAc,EAAE,8BAA8B;IAC9C,EAAE,EAAE,IAAI;CACT,CAAC;AAEF,MAAa,KAAK;IAOhB,YACU,MAAc,EACd,SAA8B
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/index.test.js
CHANGED
|
@@ -43,14 +43,213 @@ describe("Codex", () => {
|
|
|
43
43
|
beforeEach(() => {
|
|
44
44
|
sdk = new index_1.Codex("dummy-key");
|
|
45
45
|
});
|
|
46
|
+
describe("constructor", () => {
|
|
47
|
+
it("should initialize with default config when no apiConfig provided", () => {
|
|
48
|
+
const sdkInstance = new index_1.Codex("test-key");
|
|
49
|
+
expect(sdkInstance).toBeInstanceOf(index_1.Codex);
|
|
50
|
+
expect(sdkInstance.queries).toBeDefined();
|
|
51
|
+
expect(sdkInstance.mutations).toBeDefined();
|
|
52
|
+
expect(sdkInstance.subscriptions).toBeDefined();
|
|
53
|
+
});
|
|
54
|
+
it("should throw error when apiKey is not provided", () => {
|
|
55
|
+
expect(() => new index_1.Codex("")).toThrow("apiKey must be defined");
|
|
56
|
+
expect(() => new index_1.Codex(null)).toThrow("apiKey must be defined");
|
|
57
|
+
expect(() => new index_1.Codex(undefined)).toThrow("apiKey must be defined");
|
|
58
|
+
});
|
|
59
|
+
it("should initialize with custom apiConfig", () => {
|
|
60
|
+
const customConfig = {
|
|
61
|
+
apiUrl: "https://custom.api.com/graphql",
|
|
62
|
+
apiRealtimeUrl: "wss://custom.api.com/graphql",
|
|
63
|
+
headers: { "Custom-Header": "value" },
|
|
64
|
+
wsHeaders: { "WS-Header": "ws-value" },
|
|
65
|
+
ws: false,
|
|
66
|
+
};
|
|
67
|
+
const sdkInstance = new index_1.Codex("test-key", customConfig);
|
|
68
|
+
expect(sdkInstance).toBeInstanceOf(index_1.Codex);
|
|
69
|
+
});
|
|
70
|
+
it("should merge custom config with default config", () => {
|
|
71
|
+
const customConfig = {
|
|
72
|
+
headers: { "Custom-Header": "value" },
|
|
73
|
+
ws: false,
|
|
74
|
+
};
|
|
75
|
+
// Mock the createGraphQLClient and createWebsocketClient to verify they're called with merged config
|
|
76
|
+
const createGraphQLClientSpy = jest.spyOn(index_1.Codex.prototype, "createGraphQLClient");
|
|
77
|
+
const createWebsocketClientSpy = jest.spyOn(index_1.Codex.prototype, "createWebsocketClient");
|
|
78
|
+
new index_1.Codex("test-key", customConfig);
|
|
79
|
+
// Verify the merged config was used
|
|
80
|
+
expect(createGraphQLClientSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
81
|
+
apiUrl: "https://graph.codex.io/graphql",
|
|
82
|
+
apiRealtimeUrl: "wss://graph.codex.io/graphql",
|
|
83
|
+
headers: { "Custom-Header": "value" },
|
|
84
|
+
ws: false, // custom
|
|
85
|
+
}));
|
|
86
|
+
createGraphQLClientSpy.mockRestore();
|
|
87
|
+
createWebsocketClientSpy.mockRestore();
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
describe("updateConfig", () => {
|
|
91
|
+
it("should update configuration and recreate clients", () => {
|
|
92
|
+
const disposeSpy = jest.spyOn(sdk, "dispose");
|
|
93
|
+
const createGraphQLClientSpy = jest.spyOn(sdk, "createGraphQLClient");
|
|
94
|
+
const createWebsocketClientSpy = jest.spyOn(sdk, "createWebsocketClient");
|
|
95
|
+
const newConfig = {
|
|
96
|
+
apiUrl: "https://new-api.com/graphql",
|
|
97
|
+
headers: { "New-Header": "new-value" },
|
|
98
|
+
};
|
|
99
|
+
sdk.updateConfig(newConfig);
|
|
100
|
+
expect(disposeSpy).toHaveBeenCalled();
|
|
101
|
+
expect(createGraphQLClientSpy).toHaveBeenCalled();
|
|
102
|
+
expect(createWebsocketClientSpy).toHaveBeenCalled();
|
|
103
|
+
disposeSpy.mockRestore();
|
|
104
|
+
createGraphQLClientSpy.mockRestore();
|
|
105
|
+
createWebsocketClientSpy.mockRestore();
|
|
106
|
+
});
|
|
107
|
+
it("should merge new config with existing config", () => {
|
|
108
|
+
const initialConfig = {
|
|
109
|
+
headers: { "Initial-Header": "initial-value" },
|
|
110
|
+
ws: true,
|
|
111
|
+
};
|
|
112
|
+
const sdkWithConfig = new index_1.Codex("test-key", initialConfig);
|
|
113
|
+
const parseConfigSpy = jest.spyOn(sdkWithConfig, "parseConfig");
|
|
114
|
+
const updateConfig = {
|
|
115
|
+
headers: { "Updated-Header": "updated-value" },
|
|
116
|
+
apiUrl: "https://updated-api.com/graphql",
|
|
117
|
+
};
|
|
118
|
+
sdkWithConfig.updateConfig(updateConfig);
|
|
119
|
+
// Verify parseConfig was called with merged configuration
|
|
120
|
+
expect(parseConfigSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
121
|
+
headers: { "Updated-Header": "updated-value" },
|
|
122
|
+
apiUrl: "https://updated-api.com/graphql",
|
|
123
|
+
ws: true, // from initial config
|
|
124
|
+
}));
|
|
125
|
+
parseConfigSpy.mockRestore();
|
|
126
|
+
});
|
|
127
|
+
it("should dispose existing websocket connection before creating new one", () => {
|
|
128
|
+
// Mock wsClient
|
|
129
|
+
const mockDispose = jest.fn();
|
|
130
|
+
sdk.wsClient = { dispose: mockDispose };
|
|
131
|
+
const disposeSpy = jest.spyOn(sdk, "dispose");
|
|
132
|
+
sdk.updateConfig({ headers: { "New-Header": "value" } });
|
|
133
|
+
expect(disposeSpy).toHaveBeenCalled();
|
|
134
|
+
disposeSpy.mockRestore();
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
describe("getRequestHeaders", () => {
|
|
138
|
+
it("should return static headers when no dynamic headers are configured", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
139
|
+
const staticHeaders = { "Static-Header": "static-value" };
|
|
140
|
+
const sdkWithHeaders = new index_1.Codex("test-key", { headers: staticHeaders });
|
|
141
|
+
const headers = yield sdkWithHeaders.getRequestHeaders();
|
|
142
|
+
expect(headers).toEqual(staticHeaders);
|
|
143
|
+
}));
|
|
144
|
+
it("should return dynamic headers when applyHeaders is configured", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
145
|
+
const dynamicHeaders = { "Dynamic-Header": "dynamic-value" };
|
|
146
|
+
const applyHeaders = jest.fn().mockResolvedValue(dynamicHeaders);
|
|
147
|
+
const sdkWithDynamicHeaders = new index_1.Codex("test-key", { applyHeaders });
|
|
148
|
+
const headers = yield sdkWithDynamicHeaders.getRequestHeaders();
|
|
149
|
+
expect(applyHeaders).toHaveBeenCalled();
|
|
150
|
+
expect(headers).toEqual(dynamicHeaders);
|
|
151
|
+
}));
|
|
152
|
+
it("should merge static and dynamic headers with dynamic taking precedence", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
153
|
+
const staticHeaders = { "Header-1": "static", "Header-2": "static" };
|
|
154
|
+
const dynamicHeaders = { "Header-2": "dynamic", "Header-3": "dynamic" };
|
|
155
|
+
const applyHeaders = jest.fn().mockResolvedValue(dynamicHeaders);
|
|
156
|
+
const sdkWithBothHeaders = new index_1.Codex("test-key", {
|
|
157
|
+
headers: staticHeaders,
|
|
158
|
+
applyHeaders,
|
|
159
|
+
});
|
|
160
|
+
const headers = yield sdkWithBothHeaders.getRequestHeaders();
|
|
161
|
+
expect(headers).toEqual({
|
|
162
|
+
"Header-1": "static",
|
|
163
|
+
"Header-2": "dynamic",
|
|
164
|
+
"Header-3": "dynamic",
|
|
165
|
+
});
|
|
166
|
+
}));
|
|
167
|
+
it("should handle applyHeaders returning undefined", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
168
|
+
const staticHeaders = { "Static-Header": "static-value" };
|
|
169
|
+
const applyHeaders = jest.fn().mockResolvedValue(undefined);
|
|
170
|
+
const sdkWithUndefinedDynamic = new index_1.Codex("test-key", {
|
|
171
|
+
headers: staticHeaders,
|
|
172
|
+
applyHeaders,
|
|
173
|
+
});
|
|
174
|
+
const headers = yield sdkWithUndefinedDynamic.getRequestHeaders();
|
|
175
|
+
expect(headers).toEqual(staticHeaders);
|
|
176
|
+
}));
|
|
177
|
+
});
|
|
178
|
+
describe("dispose", () => {
|
|
179
|
+
it("should dispose websocket client when it exists", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
180
|
+
const mockDispose = jest.fn();
|
|
181
|
+
sdk.wsClient = { dispose: mockDispose };
|
|
182
|
+
yield sdk.dispose();
|
|
183
|
+
expect(mockDispose).toHaveBeenCalled();
|
|
184
|
+
}));
|
|
185
|
+
it("should not throw error when websocket client is undefined", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
186
|
+
sdk.wsClient = undefined;
|
|
187
|
+
yield expect(sdk.dispose()).resolves.not.toThrow();
|
|
188
|
+
}));
|
|
189
|
+
});
|
|
190
|
+
describe("websocket configuration", () => {
|
|
191
|
+
it("should create websocket client when ws is true (default)", () => {
|
|
192
|
+
const createWebsocketClientSpy = jest.spyOn(index_1.Codex.prototype, "createWebsocketClient");
|
|
193
|
+
new index_1.Codex("test-key");
|
|
194
|
+
expect(createWebsocketClientSpy).toHaveBeenCalledWith(expect.objectContaining({ ws: true }));
|
|
195
|
+
createWebsocketClientSpy.mockRestore();
|
|
196
|
+
});
|
|
197
|
+
it("should not create websocket client when ws is false", () => {
|
|
198
|
+
const createWebsocketClientSpy = jest.spyOn(index_1.Codex.prototype, "createWebsocketClient");
|
|
199
|
+
new index_1.Codex("test-key", { ws: false });
|
|
200
|
+
expect(createWebsocketClientSpy).toHaveBeenCalledWith(expect.objectContaining({ ws: false }));
|
|
201
|
+
createWebsocketClientSpy.mockRestore();
|
|
202
|
+
});
|
|
203
|
+
it("should throw error when trying to subscribe without websocket enabled", () => {
|
|
204
|
+
const sdkWithoutWs = new index_1.Codex("test-key", { ws: false });
|
|
205
|
+
expect(() => {
|
|
206
|
+
sdkWithoutWs.subscribe(subscribePriceUpdatedString, { address: "0xtoken", networkId: 1 }, { next: jest.fn(), error: jest.fn(), complete: jest.fn() });
|
|
207
|
+
}).toThrow("Websocket is not enabled in the config");
|
|
208
|
+
});
|
|
209
|
+
});
|
|
46
210
|
describe("query", () => {
|
|
47
|
-
it("send a fetch request with the correct params", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
211
|
+
it("should send a fetch request with the correct params", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
212
|
+
const fetchSpy = jest
|
|
213
|
+
.spyOn(sdk["client"], "request")
|
|
214
|
+
.mockResolvedValue({});
|
|
215
|
+
yield sdk.query(getNetworksDocument, {});
|
|
216
|
+
expect(fetchSpy).toHaveBeenCalledWith(getNetworksDocument, {}, {});
|
|
217
|
+
}));
|
|
218
|
+
it("should include request headers in the request", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
219
|
+
const mockHeaders = { "Test-Header": "test-value" };
|
|
220
|
+
const getRequestHeadersSpy = jest
|
|
221
|
+
.spyOn(sdk, "getRequestHeaders")
|
|
222
|
+
.mockResolvedValue(mockHeaders);
|
|
48
223
|
const fetchSpy = jest
|
|
49
224
|
.spyOn(sdk["client"], "request")
|
|
50
225
|
.mockResolvedValue({});
|
|
51
226
|
yield sdk.query(getNetworksDocument, {});
|
|
227
|
+
expect(getRequestHeadersSpy).toHaveBeenCalled();
|
|
228
|
+
expect(fetchSpy).toHaveBeenCalledWith(getNetworksDocument, {}, mockHeaders);
|
|
229
|
+
getRequestHeadersSpy.mockRestore();
|
|
230
|
+
}));
|
|
231
|
+
});
|
|
232
|
+
describe("mutation", () => {
|
|
233
|
+
it("should send a request with the correct params", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
234
|
+
const fetchSpy = jest
|
|
235
|
+
.spyOn(sdk["client"], "request")
|
|
236
|
+
.mockResolvedValue({});
|
|
237
|
+
yield sdk.mutation(getNetworksDocument, {});
|
|
52
238
|
expect(fetchSpy).toHaveBeenCalledWith(getNetworksDocument, {}, {});
|
|
53
239
|
}));
|
|
240
|
+
it("should include request headers in the request", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
241
|
+
const mockHeaders = { "Test-Header": "test-value" };
|
|
242
|
+
const getRequestHeadersSpy = jest
|
|
243
|
+
.spyOn(sdk, "getRequestHeaders")
|
|
244
|
+
.mockResolvedValue(mockHeaders);
|
|
245
|
+
const fetchSpy = jest
|
|
246
|
+
.spyOn(sdk["client"], "request")
|
|
247
|
+
.mockResolvedValue({});
|
|
248
|
+
yield sdk.mutation(getNetworksDocument, {});
|
|
249
|
+
expect(getRequestHeadersSpy).toHaveBeenCalled();
|
|
250
|
+
expect(fetchSpy).toHaveBeenCalledWith(getNetworksDocument, {}, mockHeaders);
|
|
251
|
+
getRequestHeadersSpy.mockRestore();
|
|
252
|
+
}));
|
|
54
253
|
});
|
|
55
254
|
describe("send", () => {
|
|
56
255
|
it("should return the results of the query", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -60,19 +259,45 @@ describe("Codex", () => {
|
|
|
60
259
|
yield sdk.send(getNetworksString, {});
|
|
61
260
|
expect(fetchSpy).toHaveBeenCalledWith(getNetworksString, {}, {});
|
|
62
261
|
}));
|
|
262
|
+
it("should include request headers in the request", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
263
|
+
const mockHeaders = { "Test-Header": "test-value" };
|
|
264
|
+
const getRequestHeadersSpy = jest
|
|
265
|
+
.spyOn(sdk, "getRequestHeaders")
|
|
266
|
+
.mockResolvedValue(mockHeaders);
|
|
267
|
+
const fetchSpy = jest
|
|
268
|
+
.spyOn(sdk["client"], "request")
|
|
269
|
+
.mockResolvedValue({});
|
|
270
|
+
yield sdk.send(getNetworksString, {});
|
|
271
|
+
expect(getRequestHeadersSpy).toHaveBeenCalled();
|
|
272
|
+
expect(fetchSpy).toHaveBeenCalledWith(getNetworksString, {}, mockHeaders);
|
|
273
|
+
getRequestHeadersSpy.mockRestore();
|
|
274
|
+
}));
|
|
63
275
|
});
|
|
64
276
|
describe("subscribe", () => {
|
|
65
277
|
it("should return a cleanup function", () => {
|
|
66
|
-
const next = jest.fn()
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
complete,
|
|
71
|
-
};
|
|
278
|
+
const next = jest.fn();
|
|
279
|
+
const error = jest.fn();
|
|
280
|
+
const complete = jest.fn();
|
|
281
|
+
const sink = { next, error, complete };
|
|
72
282
|
jest.spyOn(sdk["wsClient"], "subscribe").mockReturnValue(() => { });
|
|
73
283
|
const cleanup = sdk.subscribe(subscribePriceUpdatedString, { address: "0xtoken", networkId: 1 }, sink);
|
|
74
284
|
expect(typeof cleanup).toBe("function");
|
|
75
285
|
});
|
|
286
|
+
it("should call wsClient.subscribe with correct parameters", () => {
|
|
287
|
+
const next = jest.fn();
|
|
288
|
+
const error = jest.fn();
|
|
289
|
+
const complete = jest.fn();
|
|
290
|
+
const sink = { next, error, complete };
|
|
291
|
+
const variables = { address: "0xtoken", networkId: 1 };
|
|
292
|
+
const subscribeSpy = jest
|
|
293
|
+
.spyOn(sdk["wsClient"], "subscribe")
|
|
294
|
+
.mockReturnValue(() => { });
|
|
295
|
+
sdk.subscribe(subscribePriceUpdatedString, variables, sink);
|
|
296
|
+
expect(subscribeSpy).toHaveBeenCalledWith({
|
|
297
|
+
query: subscribePriceUpdatedString,
|
|
298
|
+
variables,
|
|
299
|
+
}, sink);
|
|
300
|
+
});
|
|
76
301
|
});
|
|
77
302
|
});
|
|
78
303
|
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/sdk/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,mCAAgC;AAEhC,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE;QACX;YACE,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;YACzC,YAAY,EAAE;gBACZ,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;wBAC5C,YAAY,EAAE;4BACZ,IAAI,EAAE,cAAc;4BACpB,UAAU,EAAE;gCACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gCACtD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;6BACzD;yBACF;qBACF;iBACF;aACF;SACF;KACF;CACyB,CAAC;AAE7B,MAAM,iBAAiB,GAAG,0CAA0C,CAAC;AACrE,MAAM,2BAA2B,GAAG,wKAAwK,CAAC;AAE7M,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAI,GAAU,CAAC;IACf,UAAU,CAAC,GAAG,EAAE;QACd,GAAG,GAAG,IAAI,aAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,MAAM,QAAQ,GAAG,IAAI;iBAClB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;iBAC/B,iBAAiB,CAAC,EAAa,CAAC,CAAC;YACpC,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;YACtD,MAAM,QAAQ,GAAG,IAAI;iBAClB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;iBAC/B,iBAAiB,CAAC,EAAa,CAAC,CAAC;YACpC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,EACpB,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,EACjB,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG;gBACX,IAAI;gBACJ,KAAK;gBACL,QAAQ;aACT,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAQ,EAAE,WAAW,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAC3B,2BAA2B,EAC3B,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,EACpC,IAAI,CACL,CAAC;YACF,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/sdk/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,mCAA2C;AAE3C,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE;QACX;YACE,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;YACzC,YAAY,EAAE;gBACZ,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;wBAC5C,YAAY,EAAE;4BACZ,IAAI,EAAE,cAAc;4BACpB,UAAU,EAAE;gCACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gCACtD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;6BACzD;yBACF;qBACF;iBACF;aACF;SACF;KACF;CACyB,CAAC;AAE7B,MAAM,iBAAiB,GAAG,0CAA0C,CAAC;AACrE,MAAM,2BAA2B,GAAG,wKAAwK,CAAC;AAE7M,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAI,GAAU,CAAC;IAEf,UAAU,CAAC,GAAG,EAAE;QACd,GAAG,GAAG,IAAI,aAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,WAAW,GAAG,IAAI,aAAK,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,aAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAK,CAAC,IAAW,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACvE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAK,CAAC,SAAgB,CAAC,CAAC,CAAC,OAAO,CAC/C,wBAAwB,CACzB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,YAAY,GAAuB;gBACvC,MAAM,EAAE,gCAAgC;gBACxC,cAAc,EAAE,8BAA8B;gBAC9C,OAAO,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;gBACrC,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;gBACtC,EAAE,EAAE,KAAK;aACV,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,aAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,aAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,YAAY,GAAuB;gBACvC,OAAO,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;gBACrC,EAAE,EAAE,KAAK;aACV,CAAC;YAEF,qGAAqG;YACrG,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CACvC,aAAK,CAAC,SAAgB,EACtB,qBAAqB,CACtB,CAAC;YACF,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CACzC,aAAK,CAAC,SAAgB,EACtB,uBAAuB,CACxB,CAAC;YAEF,IAAI,aAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAEpC,oCAAoC;YACpC,MAAM,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CACjD,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,gCAAgC;gBACxC,cAAc,EAAE,8BAA8B;gBAC9C,OAAO,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;gBACrC,EAAE,EAAE,KAAK,EAAE,SAAS;aACrB,CAAC,CACH,CAAC;YAEF,sBAAsB,CAAC,WAAW,EAAE,CAAC;YACrC,wBAAwB,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC9C,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CACvC,GAAU,EACV,qBAAqB,CACtB,CAAC;YACF,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CACzC,GAAU,EACV,uBAAuB,CACxB,CAAC;YAEF,MAAM,SAAS,GAAuB;gBACpC,MAAM,EAAE,6BAA6B;gBACrC,OAAO,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE;aACvC,CAAC;YAEF,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAE5B,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,CAAC,sBAAsB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,CAAC,wBAAwB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAEpD,UAAU,CAAC,WAAW,EAAE,CAAC;YACzB,sBAAsB,CAAC,WAAW,EAAE,CAAC;YACrC,wBAAwB,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,aAAa,GAAuB;gBACxC,OAAO,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE;gBAC9C,EAAE,EAAE,IAAI;aACT,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,aAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAoB,EAAE,aAAa,CAAC,CAAC;YAEvE,MAAM,YAAY,GAAuB;gBACvC,OAAO,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE;gBAC9C,MAAM,EAAE,iCAAiC;aAC1C,CAAC;YAEF,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAEzC,0DAA0D;YAC1D,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CACzC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE;gBAC9C,MAAM,EAAE,iCAAiC;gBACzC,EAAE,EAAE,IAAI,EAAE,sBAAsB;aACjC,CAAC,CACH,CAAC;YAEF,cAAc,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,gBAAgB;YAChB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7B,GAAW,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAE9C,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACtC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,qEAAqE,EAAE,GAAS,EAAE;YACnF,MAAM,aAAa,GAAG,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;YAC1D,MAAM,cAAc,GAAG,IAAI,aAAK,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YAEzE,MAAM,OAAO,GAAG,MAAO,cAAsB,CAAC,iBAAiB,EAAE,CAAC;YAElE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAS,EAAE;YAC7E,MAAM,cAAc,GAAG,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAEjE,MAAM,qBAAqB,GAAG,IAAI,aAAK,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YAEtE,MAAM,OAAO,GAAG,MAAO,qBAA6B,CAAC,iBAAiB,EAAE,CAAC;YAEzE,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,GAAS,EAAE;YACtF,MAAM,aAAa,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YACrE,MAAM,cAAc,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YACxE,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAEjE,MAAM,kBAAkB,GAAG,IAAI,aAAK,CAAC,UAAU,EAAE;gBAC/C,OAAO,EAAE,aAAa;gBACtB,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAO,kBAA0B,CAAC,iBAAiB,EAAE,CAAC;YAEtE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;gBACtB,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;YAC9D,MAAM,aAAa,GAAG,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAE5D,MAAM,uBAAuB,GAAG,IAAI,aAAK,CAAC,UAAU,EAAE;gBACpD,OAAO,EAAE,aAAa;gBACtB,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MACd,uBACD,CAAC,iBAAiB,EAAE,CAAC;YAEtB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7B,GAAW,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAEjD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YAEpB,MAAM,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACzC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAS,EAAE;YACxE,GAAW,CAAC,QAAQ,GAAG,SAAS,CAAC;YAElC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CACzC,aAAK,CAAC,SAAgB,EACtB,uBAAuB,CACxB,CAAC;YAEF,IAAI,aAAK,CAAC,UAAU,CAAC,CAAC;YAEtB,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CACnD,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YAEF,wBAAwB,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CACzC,aAAK,CAAC,SAAgB,EACtB,uBAAuB,CACxB,CAAC;YAEF,IAAI,aAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAErC,MAAM,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CACnD,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CACvC,CAAC;YAEF,wBAAwB,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,YAAY,GAAG,IAAI,aAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1D,MAAM,CAAC,GAAG,EAAE;gBACV,YAAY,CAAC,SAAS,CACpB,2BAA2B,EAC3B,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,EACpC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAC3D,CAAC;YACJ,CAAC,CAAC,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,qDAAqD,EAAE,GAAS,EAAE;YACnE,MAAM,QAAQ,GAAG,IAAI;iBAClB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;iBAC/B,iBAAiB,CAAC,EAAa,CAAC,CAAC;YAEpC,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAEzC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC7D,MAAM,WAAW,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YACpD,MAAM,oBAAoB,GAAG,IAAI;iBAC9B,KAAK,CAAC,GAAU,EAAE,mBAAmB,CAAC;iBACtC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI;iBAClB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;iBAC/B,iBAAiB,CAAC,EAAa,CAAC,CAAC;YAEpC,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAEzC,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,mBAAmB,EACnB,EAAE,EACF,WAAW,CACZ,CAAC;YAEF,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC7D,MAAM,QAAQ,GAAG,IAAI;iBAClB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;iBAC/B,iBAAiB,CAAC,EAAa,CAAC,CAAC;YAEpC,MAAM,GAAG,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAE5C,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC7D,MAAM,WAAW,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YACpD,MAAM,oBAAoB,GAAG,IAAI;iBAC9B,KAAK,CAAC,GAAU,EAAE,mBAAmB,CAAC;iBACtC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI;iBAClB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;iBAC/B,iBAAiB,CAAC,EAAa,CAAC,CAAC;YAEpC,MAAM,GAAG,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAE5C,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,mBAAmB,EACnB,EAAE,EACF,WAAW,CACZ,CAAC;YAEF,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;YACtD,MAAM,QAAQ,GAAG,IAAI;iBAClB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;iBAC/B,iBAAiB,CAAC,EAAa,CAAC,CAAC;YAEpC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YAEtC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC7D,MAAM,WAAW,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YACpD,MAAM,oBAAoB,GAAG,IAAI;iBAC9B,KAAK,CAAC,GAAU,EAAE,mBAAmB,CAAC;iBACtC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI;iBAClB,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;iBAC/B,iBAAiB,CAAC,EAAa,CAAC,CAAC;YAEpC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YAEtC,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YAE1E,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAEvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAQ,EAAE,WAAW,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAE1E,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAC3B,2BAA2B,EAC3B,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,EACpC,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAEvD,MAAM,YAAY,GAAG,IAAI;iBACtB,KAAK,CAAC,GAAG,CAAC,UAAU,CAAQ,EAAE,WAAW,CAAC;iBAC1C,eAAe,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAE7B,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE5D,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACvC;gBACE,KAAK,EAAE,2BAA2B;gBAClC,SAAS;aACV,EACD,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -10,6 +10,7 @@ query Balances($input: BalancesInput!) {
|
|
|
10
10
|
shiftedBalance
|
|
11
11
|
token {
|
|
12
12
|
address
|
|
13
|
+
circulatingSupply
|
|
13
14
|
cmcId
|
|
14
15
|
createBlockNumber
|
|
15
16
|
createTransactionHash
|
|
@@ -26,8 +27,19 @@ query Balances($input: BalancesInput!) {
|
|
|
26
27
|
networkId
|
|
27
28
|
tradeUrl
|
|
28
29
|
}
|
|
30
|
+
explorerData {
|
|
31
|
+
blueCheckmark
|
|
32
|
+
description
|
|
33
|
+
divisor
|
|
34
|
+
id
|
|
35
|
+
tokenPriceUSD
|
|
36
|
+
tokenType
|
|
37
|
+
}
|
|
29
38
|
freezable
|
|
30
39
|
id
|
|
40
|
+
imageLargeUrl
|
|
41
|
+
imageSmallUrl
|
|
42
|
+
imageThumbUrl
|
|
31
43
|
info {
|
|
32
44
|
address
|
|
33
45
|
circulatingSupply
|
|
@@ -56,11 +68,13 @@ query Balances($input: BalancesInput!) {
|
|
|
56
68
|
migratedAt
|
|
57
69
|
migratedPoolAddress
|
|
58
70
|
migratedSlot
|
|
71
|
+
name
|
|
59
72
|
poolAddress
|
|
60
73
|
}
|
|
61
74
|
mintable
|
|
62
75
|
name
|
|
63
76
|
networkId
|
|
77
|
+
pooled
|
|
64
78
|
socialLinks {
|
|
65
79
|
bitcointalk
|
|
66
80
|
blog
|
|
@@ -83,6 +97,7 @@ query Balances($input: BalancesInput!) {
|
|
|
83
97
|
youtube
|
|
84
98
|
}
|
|
85
99
|
symbol
|
|
100
|
+
totalSupply
|
|
86
101
|
}
|
|
87
102
|
tokenAddress
|
|
88
103
|
tokenId
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
query FilterNetworkWallets($input: FilterNetworkWalletsInput!) {
|
|
2
|
+
filterNetworkWallets(input: $input) {
|
|
3
|
+
count
|
|
4
|
+
offset
|
|
5
|
+
results {
|
|
6
|
+
address
|
|
7
|
+
averageProfitUsdPerTrade1d
|
|
8
|
+
averageProfitUsdPerTrade1w
|
|
9
|
+
averageProfitUsdPerTrade1y
|
|
10
|
+
averageProfitUsdPerTrade30d
|
|
11
|
+
averageSwapAmountUsd1d
|
|
12
|
+
averageSwapAmountUsd1w
|
|
13
|
+
averageSwapAmountUsd1y
|
|
14
|
+
averageSwapAmountUsd30d
|
|
15
|
+
backfillState
|
|
16
|
+
botScore
|
|
17
|
+
firstTransactionAt
|
|
18
|
+
labels
|
|
19
|
+
lastTransactionAt
|
|
20
|
+
nativeTokenBalance
|
|
21
|
+
networkId
|
|
22
|
+
realizedProfitPercentage1d
|
|
23
|
+
realizedProfitPercentage1w
|
|
24
|
+
realizedProfitPercentage1y
|
|
25
|
+
realizedProfitPercentage30d
|
|
26
|
+
realizedProfitUsd1d
|
|
27
|
+
realizedProfitUsd1w
|
|
28
|
+
realizedProfitUsd1y
|
|
29
|
+
realizedProfitUsd30d
|
|
30
|
+
scammerScore
|
|
31
|
+
swaps1d
|
|
32
|
+
swaps1w
|
|
33
|
+
swaps1y
|
|
34
|
+
swaps30d
|
|
35
|
+
swapsAll1d
|
|
36
|
+
swapsAll1w
|
|
37
|
+
swapsAll1y
|
|
38
|
+
swapsAll30d
|
|
39
|
+
uniqueTokens1d
|
|
40
|
+
uniqueTokens1w
|
|
41
|
+
uniqueTokens1y
|
|
42
|
+
uniqueTokens30d
|
|
43
|
+
volumeUsd1d
|
|
44
|
+
volumeUsd1w
|
|
45
|
+
volumeUsd1y
|
|
46
|
+
volumeUsd30d
|
|
47
|
+
volumeUsdAll1d
|
|
48
|
+
volumeUsdAll1w
|
|
49
|
+
volumeUsdAll1y
|
|
50
|
+
volumeUsdAll30d
|
|
51
|
+
winRate1d
|
|
52
|
+
winRate1w
|
|
53
|
+
winRate1y
|
|
54
|
+
winRate30d
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|