@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.
Files changed (87) hide show
  1. package/dist/resources/graphql.d.ts +177 -681
  2. package/dist/resources/graphql.d.ts.map +1 -1
  3. package/dist/resources/graphql.js +67 -79
  4. package/dist/resources/graphql.js.map +1 -1
  5. package/dist/sdk/Mutation.d.ts +2 -2
  6. package/dist/sdk/Mutation.d.ts.map +1 -1
  7. package/dist/sdk/Mutation.js +2 -2
  8. package/dist/sdk/Mutation.js.map +1 -1
  9. package/dist/sdk/Query.d.ts +57 -52
  10. package/dist/sdk/Query.d.ts.map +1 -1
  11. package/dist/sdk/Query.js +56 -51
  12. package/dist/sdk/Query.js.map +1 -1
  13. package/dist/sdk/Subscribe.d.ts +17 -18
  14. package/dist/sdk/Subscribe.d.ts.map +1 -1
  15. package/dist/sdk/Subscribe.js +126 -133
  16. package/dist/sdk/Subscribe.js.map +1 -1
  17. package/dist/sdk/generated/gql.d.ts +135 -104
  18. package/dist/sdk/generated/gql.d.ts.map +1 -1
  19. package/dist/sdk/generated/gql.js +44 -40
  20. package/dist/sdk/generated/gql.js.map +1 -1
  21. package/dist/sdk/generated/graphql.d.ts +1612 -1103
  22. package/dist/sdk/generated/graphql.d.ts.map +1 -1
  23. package/dist/sdk/generated/graphql.js +113 -121
  24. package/dist/sdk/generated/graphql.js.map +1 -1
  25. package/dist/sdk/index.d.ts +45 -0
  26. package/dist/sdk/index.d.ts.map +1 -1
  27. package/dist/sdk/index.js +83 -5
  28. package/dist/sdk/index.js.map +1 -1
  29. package/dist/sdk/index.test.js +232 -7
  30. package/dist/sdk/index.test.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/resources/generated_queries/Balances.graphql +15 -0
  33. package/src/resources/generated_queries/DetailedWalletStats.graphql +4 -0
  34. package/src/resources/generated_queries/FilterNetworkWallets.graphql +57 -0
  35. package/src/resources/generated_queries/FilterNftPoolCollections.graphql +8 -0
  36. package/src/resources/generated_queries/FilterNftPools.graphql +7 -0
  37. package/src/resources/generated_queries/FilterPairs.graphql +60 -0
  38. package/src/resources/generated_queries/FilterTokenWallets.graphql +16 -0
  39. package/src/resources/generated_queries/FilterTokens.graphql +47 -0
  40. package/src/resources/generated_queries/FilterWallets.graphql +1 -0
  41. package/src/resources/generated_queries/GetBars.graphql +31 -0
  42. package/src/resources/generated_queries/GetCommunityNotes.graphql +16 -0
  43. package/src/resources/generated_queries/GetDetailedPairStats.graphql +30 -0
  44. package/src/resources/generated_queries/GetDetailedPairsStats.graphql +30 -0
  45. package/src/resources/generated_queries/GetDetailedStats.graphql +338 -0
  46. package/src/resources/generated_queries/GetLatestPairs.graphql +57 -0
  47. package/src/resources/generated_queries/GetLatestTokens.graphql +39 -0
  48. package/src/resources/generated_queries/GetNftEvents.graphql +9 -0
  49. package/src/resources/generated_queries/GetNftPool.graphql +2 -0
  50. package/src/resources/generated_queries/GetNftPoolCollection.graphql +8 -0
  51. package/src/resources/generated_queries/GetNftPoolCollectionsByExchange.graphql +8 -0
  52. package/src/resources/generated_queries/GetNftPoolEvents.graphql +2 -0
  53. package/src/resources/generated_queries/GetNftPoolsByCollectionAndExchange.graphql +2 -0
  54. package/src/resources/generated_queries/GetNftPoolsByOwner.graphql +2 -0
  55. package/src/resources/generated_queries/Holders.graphql +15 -0
  56. package/src/resources/generated_queries/LiquidityLocks.graphql +1 -0
  57. package/src/resources/generated_queries/ListPairsForToken.graphql +30 -0
  58. package/src/resources/generated_queries/ListPairsWithMetadataForToken.graphql +60 -0
  59. package/src/resources/generated_queries/ListTopTokens.graphql +55 -0
  60. package/src/resources/generated_queries/PairMetadata.graphql +30 -0
  61. package/src/resources/generated_queries/PrimeHolders.graphql +15 -0
  62. package/src/resources/generated_queries/SearchTokens.graphql +67 -0
  63. package/src/resources/generated_queries/Token.graphql +15 -0
  64. package/src/resources/generated_queries/Tokens.graphql +15 -0
  65. package/src/resources/generated_queries/WalletChart.graphql +1 -0
  66. package/src/resources/generated_subscriptions/OnBalanceUpdated.graphql +15 -0
  67. package/src/resources/generated_subscriptions/OnBarsUpdated.graphql +2 -10
  68. package/src/resources/generated_subscriptions/OnDetailedStatsUpdated.graphql +1 -6
  69. package/src/resources/generated_subscriptions/OnEventsCreated.graphql +0 -2
  70. package/src/resources/generated_subscriptions/OnHoldersUpdated.graphql +15 -0
  71. package/src/resources/generated_subscriptions/OnLaunchpadTokenEvent.graphql +15 -0
  72. package/src/resources/generated_subscriptions/OnNftEventsCreated.graphql +9 -0
  73. package/src/resources/generated_subscriptions/OnNftPoolEventsCreated.graphql +2 -0
  74. package/src/resources/generated_subscriptions/OnPairMetadataUpdated.graphql +32 -10
  75. package/src/resources/generated_subscriptions/OnTokenBarsUpdated.graphql +2 -10
  76. package/src/resources/graphql.schema.json +457 -5137
  77. package/src/resources/graphql.ts +183 -743
  78. package/src/resources/schema.graphql +6752 -11058
  79. package/src/sdk/Mutation.ts +4 -4
  80. package/src/sdk/Query.ts +128 -109
  81. package/src/sdk/Subscribe.ts +208 -223
  82. package/src/sdk/generated/gql.ts +106 -86
  83. package/src/sdk/generated/graphql.ts +320 -842
  84. package/src/sdk/index.test.ts +361 -10
  85. package/src/sdk/index.ts +89 -6
  86. package/src/resources/generated_queries/GetSimulateTokenContractResults.graphql +0 -128
  87. package/src/resources/generated_subscriptions/OnSimulateTokenContract.graphql +0 -121
@@ -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
@@ -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;IAQd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS,CAAC;IARpB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAA8B;IACvC,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,QAAQ,CAAC;IACpB,aAAa,EAAE,SAAS,CAAC;gBAGtB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,gCAAoB;YA8B1B,iBAAiB;IAWlB,KAAK,CAAC,QAAQ,EAAE,KAAK,SAAS,SAAS,EAClD,GAAG,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,EACvC,IAAI,GAAE,KAAmB;IAUd,QAAQ,CAAC,QAAQ,EAAE,KAAK,SAAS,SAAS,EACrD,GAAG,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,EACvC,IAAI,GAAE,KAAmB;IAWd,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACzD,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,CAAW;IAUZ,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"}
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
- (0, invariant_1.invariant)(this.apiKey, "apiKey must be defined");
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 = new graphql_request_1.GraphQLClient(config.apiUrl, {
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
- this.wsClient = config.ws
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
- // Very simple network based fetch implementation, no compilation required
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");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"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"}
@@ -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(), error = jest.fn(), complete = jest.fn();
67
- const sink = {
68
- next,
69
- error,
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":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/sdk/index.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codex-data/sdk",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "engines": {
5
5
  "node": ">=17.5.0"
6
6
  },
@@ -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
@@ -99,6 +99,10 @@ query DetailedWalletStats($input: DetailedWalletStatsInput!) {
99
99
  walletAddress
100
100
  }
101
101
  }
102
+ networkSpecificStats {
103
+ nativeTokenBalance
104
+ networkId
105
+ }
102
106
  scammerScore
103
107
  statsDay1 {
104
108
  end
@@ -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
+ }