@trufnetwork/sdk-js 0.3.8 → 0.4.2

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 (78) hide show
  1. package/dist/cjs/client/client.cjs +44 -0
  2. package/dist/cjs/client/client.cjs.map +2 -2
  3. package/dist/cjs/contracts-api/action.cjs +301 -77
  4. package/dist/cjs/contracts-api/action.cjs.map +3 -3
  5. package/dist/cjs/contracts-api/cache.integration.test.cjs +265 -0
  6. package/dist/cjs/contracts-api/cache.integration.test.cjs.map +7 -0
  7. package/dist/cjs/contracts-api/composedAction.cjs +86 -0
  8. package/dist/cjs/contracts-api/composedAction.cjs.map +2 -2
  9. package/dist/cjs/contracts-api/composedAction.test.cjs +301 -0
  10. package/dist/cjs/contracts-api/composedAction.test.cjs.map +7 -0
  11. package/dist/cjs/index.common.cjs.map +1 -1
  12. package/dist/cjs/types/cache.cjs +34 -0
  13. package/dist/cjs/types/cache.cjs.map +7 -0
  14. package/dist/cjs/types/cache.test.cjs +205 -0
  15. package/dist/cjs/types/cache.test.cjs.map +7 -0
  16. package/dist/cjs/util/cacheMetadataParser.cjs +174 -0
  17. package/dist/cjs/util/cacheMetadataParser.cjs.map +7 -0
  18. package/dist/cjs/util/cacheMetadataParser.test.cjs +329 -0
  19. package/dist/cjs/util/cacheMetadataParser.test.cjs.map +7 -0
  20. package/dist/cjs/util/cacheValidation.cjs +88 -0
  21. package/dist/cjs/util/cacheValidation.cjs.map +7 -0
  22. package/dist/cjs/util/cacheValidation.test.cjs +108 -0
  23. package/dist/cjs/util/cacheValidation.test.cjs.map +7 -0
  24. package/dist/esm/client/client.mjs +44 -0
  25. package/dist/esm/client/client.mjs.map +2 -2
  26. package/dist/esm/contracts-api/action.mjs +302 -77
  27. package/dist/esm/contracts-api/action.mjs.map +3 -3
  28. package/dist/esm/contracts-api/cache.integration.test.mjs +263 -0
  29. package/dist/esm/contracts-api/cache.integration.test.mjs.map +7 -0
  30. package/dist/esm/contracts-api/composedAction.mjs +86 -0
  31. package/dist/esm/contracts-api/composedAction.mjs.map +2 -2
  32. package/dist/esm/contracts-api/composedAction.test.mjs +299 -0
  33. package/dist/esm/contracts-api/composedAction.test.mjs.map +7 -0
  34. package/dist/esm/index.common.mjs.map +1 -1
  35. package/dist/esm/types/cache.mjs +13 -0
  36. package/dist/esm/types/cache.mjs.map +7 -0
  37. package/dist/esm/types/cache.test.mjs +203 -0
  38. package/dist/esm/types/cache.test.mjs.map +7 -0
  39. package/dist/esm/util/cacheMetadataParser.mjs +153 -0
  40. package/dist/esm/util/cacheMetadataParser.mjs.map +7 -0
  41. package/dist/esm/util/cacheMetadataParser.test.mjs +327 -0
  42. package/dist/esm/util/cacheMetadataParser.test.mjs.map +7 -0
  43. package/dist/esm/util/cacheValidation.mjs +67 -0
  44. package/dist/esm/util/cacheValidation.mjs.map +7 -0
  45. package/dist/esm/util/cacheValidation.test.mjs +106 -0
  46. package/dist/esm/util/cacheValidation.test.mjs.map +7 -0
  47. package/dist/tsconfig.build.tsbuildinfo +1 -1
  48. package/dist/types/client/client.d.ts +39 -1
  49. package/dist/types/client/client.d.ts.map +1 -1
  50. package/dist/types/contracts-api/action.d.ts +11 -1
  51. package/dist/types/contracts-api/action.d.ts.map +1 -1
  52. package/dist/types/contracts-api/cache.integration.test.d.ts +2 -0
  53. package/dist/types/contracts-api/cache.integration.test.d.ts.map +1 -0
  54. package/dist/types/contracts-api/composedAction.d.ts +75 -0
  55. package/dist/types/contracts-api/composedAction.d.ts.map +1 -1
  56. package/dist/types/contracts-api/composedAction.test.d.ts +2 -0
  57. package/dist/types/contracts-api/composedAction.test.d.ts.map +1 -0
  58. package/dist/types/index.common.d.ts +1 -1
  59. package/dist/types/index.common.d.ts.map +1 -1
  60. package/dist/types/types/cache.d.ts +129 -0
  61. package/dist/types/types/cache.d.ts.map +1 -0
  62. package/dist/types/types/cache.test.d.ts +2 -0
  63. package/dist/types/types/cache.test.d.ts.map +1 -0
  64. package/dist/types/util/cacheMetadataParser.d.ts +38 -0
  65. package/dist/types/util/cacheMetadataParser.d.ts.map +1 -0
  66. package/dist/types/util/cacheMetadataParser.test.d.ts +2 -0
  67. package/dist/types/util/cacheMetadataParser.test.d.ts.map +1 -0
  68. package/dist/types/util/cacheValidation.d.ts +27 -0
  69. package/dist/types/util/cacheValidation.d.ts.map +1 -0
  70. package/dist/types/util/cacheValidation.test.d.ts +2 -0
  71. package/dist/types/util/cacheValidation.test.d.ts.map +1 -0
  72. package/package.json +5 -3
  73. package/dist/cjs/client/client.test.cjs +0 -32
  74. package/dist/cjs/client/client.test.cjs.map +0 -7
  75. package/dist/esm/client/client.test.mjs +0 -30
  76. package/dist/esm/client/client.test.mjs.map +0 -7
  77. package/dist/types/client/client.test.d.ts +0 -2
  78. package/dist/types/client/client.test.d.ts.map +0 -1
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+
3
+ // src/contracts-api/composedAction.test.ts
4
+ var import_vitest = require("vitest");
5
+ var import_composedAction = require("./composedAction.cjs");
6
+ var import_EthereumAddress = require("../util/EthereumAddress.cjs");
7
+ var import_StreamId = require("../util/StreamId.cjs");
8
+ (0, import_vitest.describe)("ComposedAction Taxonomy Query Methods", () => {
9
+ const createMockClient = (mockResponse) => ({
10
+ call: import_vitest.vi.fn().mockResolvedValue({
11
+ status: 200,
12
+ data: {
13
+ result: mockResponse
14
+ }
15
+ })
16
+ });
17
+ const mockSigner = {};
18
+ (0, import_vitest.test)("listTaxonomiesByHeight calls correct action with parameters", async () => {
19
+ const mockResponse = [
20
+ {
21
+ data_provider: "0x1234567890abcdef1234567890abcdef12345678",
22
+ stream_id: "test-stream",
23
+ child_data_provider: "0xabcdef1234567890abcdef1234567890abcdef12",
24
+ child_stream_id: "child-stream",
25
+ weight: "100.5",
26
+ created_at: 1e3,
27
+ group_sequence: 1,
28
+ start_time: 1625097600
29
+ }
30
+ ];
31
+ const mockClient = createMockClient(mockResponse);
32
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
33
+ const result = await composedAction.listTaxonomiesByHeight({
34
+ fromHeight: 1e3,
35
+ toHeight: 2e3,
36
+ limit: 100,
37
+ offset: 10,
38
+ latestOnly: true
39
+ });
40
+ (0, import_vitest.expect)(mockClient.call).toHaveBeenCalledWith(
41
+ {
42
+ namespace: "main",
43
+ name: "list_taxonomies_by_height",
44
+ inputs: {
45
+ $from_height: 1e3,
46
+ $to_height: 2e3,
47
+ $limit: 100,
48
+ $offset: 10,
49
+ $latest_only: true
50
+ }
51
+ },
52
+ {}
53
+ );
54
+ (0, import_vitest.expect)(result).toHaveLength(1);
55
+ (0, import_vitest.expect)(result[0].dataProvider.getAddress()).toBe("0x1234567890abcdef1234567890abcdef12345678");
56
+ (0, import_vitest.expect)(result[0].streamId.getId()).toBe("test-stream");
57
+ (0, import_vitest.expect)(result[0].childDataProvider.getAddress()).toBe("0xabcdef1234567890abcdef1234567890abcdef12");
58
+ (0, import_vitest.expect)(result[0].childStreamId.getId()).toBe("child-stream");
59
+ (0, import_vitest.expect)(result[0].weight).toBe("100.5");
60
+ (0, import_vitest.expect)(result[0].createdAt).toBe(1e3);
61
+ (0, import_vitest.expect)(result[0].groupSequence).toBe(1);
62
+ (0, import_vitest.expect)(result[0].startTime).toBe(1625097600);
63
+ });
64
+ (0, import_vitest.test)("listTaxonomiesByHeight handles default parameters", async () => {
65
+ const mockClient = createMockClient([]);
66
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
67
+ await composedAction.listTaxonomiesByHeight({});
68
+ (0, import_vitest.expect)(mockClient.call).toHaveBeenCalledWith(
69
+ {
70
+ namespace: "main",
71
+ name: "list_taxonomies_by_height",
72
+ inputs: {
73
+ $from_height: null,
74
+ $to_height: null,
75
+ $limit: null,
76
+ $offset: null,
77
+ $latest_only: null
78
+ }
79
+ },
80
+ {}
81
+ );
82
+ });
83
+ (0, import_vitest.test)("listTaxonomiesByHeight handles empty parameters", async () => {
84
+ const mockClient = createMockClient([]);
85
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
86
+ await composedAction.listTaxonomiesByHeight();
87
+ (0, import_vitest.expect)(mockClient.call).toHaveBeenCalledWith(
88
+ {
89
+ namespace: "main",
90
+ name: "list_taxonomies_by_height",
91
+ inputs: {
92
+ $from_height: null,
93
+ $to_height: null,
94
+ $limit: null,
95
+ $offset: null,
96
+ $latest_only: null
97
+ }
98
+ },
99
+ {}
100
+ );
101
+ });
102
+ (0, import_vitest.test)("getTaxonomiesForStreams calls correct action with stream arrays", async () => {
103
+ const mockResponse = [
104
+ {
105
+ data_provider: "0x1111111111111111111111111111111111111111",
106
+ stream_id: "stream-1",
107
+ child_data_provider: "0x2222222222222222222222222222222222222222",
108
+ child_stream_id: "child-1",
109
+ weight: "50.0",
110
+ created_at: 2e3,
111
+ group_sequence: 2,
112
+ start_time: 1625097700
113
+ }
114
+ ];
115
+ const mockClient = createMockClient(mockResponse);
116
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
117
+ const testStreams = [
118
+ {
119
+ dataProvider: import_EthereumAddress.EthereumAddress.fromString("0x1111111111111111111111111111111111111111").throw(),
120
+ streamId: import_StreamId.StreamId.fromString("stream-1").throw()
121
+ },
122
+ {
123
+ dataProvider: import_EthereumAddress.EthereumAddress.fromString("0x3333333333333333333333333333333333333333").throw(),
124
+ streamId: import_StreamId.StreamId.fromString("stream-2").throw()
125
+ }
126
+ ];
127
+ const result = await composedAction.getTaxonomiesForStreams({
128
+ streams: testStreams,
129
+ latestOnly: false
130
+ });
131
+ (0, import_vitest.expect)(mockClient.call).toHaveBeenCalledWith(
132
+ {
133
+ namespace: "main",
134
+ name: "get_taxonomies_for_streams",
135
+ inputs: {
136
+ $data_providers: [
137
+ "0x1111111111111111111111111111111111111111",
138
+ "0x3333333333333333333333333333333333333333"
139
+ ],
140
+ $stream_ids: ["stream-1", "stream-2"],
141
+ $latest_only: false
142
+ }
143
+ },
144
+ {}
145
+ );
146
+ (0, import_vitest.expect)(result).toHaveLength(1);
147
+ (0, import_vitest.expect)(result[0].dataProvider.getAddress()).toBe("0x1111111111111111111111111111111111111111");
148
+ (0, import_vitest.expect)(result[0].streamId.getId()).toBe("stream-1");
149
+ (0, import_vitest.expect)(result[0].weight).toBe("50.0");
150
+ });
151
+ (0, import_vitest.test)("getTaxonomiesForStreams handles empty stream array", async () => {
152
+ const mockClient = createMockClient([]);
153
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
154
+ const result = await composedAction.getTaxonomiesForStreams({
155
+ streams: [],
156
+ latestOnly: true
157
+ });
158
+ (0, import_vitest.expect)(mockClient.call).not.toHaveBeenCalled();
159
+ (0, import_vitest.expect)(result).toEqual([]);
160
+ });
161
+ (0, import_vitest.test)("getTaxonomiesForStreams handles latestOnly parameter", async () => {
162
+ const mockClient = createMockClient([]);
163
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
164
+ const testStreams = [
165
+ {
166
+ dataProvider: import_EthereumAddress.EthereumAddress.fromString("0x1111111111111111111111111111111111111111").throw(),
167
+ streamId: import_StreamId.StreamId.fromString("stream-1").throw()
168
+ }
169
+ ];
170
+ await composedAction.getTaxonomiesForStreams({
171
+ streams: testStreams,
172
+ latestOnly: true
173
+ });
174
+ (0, import_vitest.expect)(mockClient.call).toHaveBeenCalledWith(
175
+ {
176
+ namespace: "main",
177
+ name: "get_taxonomies_for_streams",
178
+ inputs: import_vitest.expect.objectContaining({
179
+ $latest_only: true
180
+ })
181
+ },
182
+ {}
183
+ );
184
+ });
185
+ (0, import_vitest.test)("getTaxonomiesForStreams handles default latestOnly parameter", async () => {
186
+ const mockClient = createMockClient([]);
187
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
188
+ const testStreams = [
189
+ {
190
+ dataProvider: import_EthereumAddress.EthereumAddress.fromString("0x1111111111111111111111111111111111111111").throw(),
191
+ streamId: import_StreamId.StreamId.fromString("stream-1").throw()
192
+ }
193
+ ];
194
+ await composedAction.getTaxonomiesForStreams({
195
+ streams: testStreams
196
+ });
197
+ (0, import_vitest.expect)(mockClient.call).toHaveBeenCalledWith(
198
+ {
199
+ namespace: "main",
200
+ name: "get_taxonomies_for_streams",
201
+ inputs: import_vitest.expect.objectContaining({
202
+ $latest_only: null
203
+ })
204
+ },
205
+ {}
206
+ );
207
+ });
208
+ (0, import_vitest.test)("listTaxonomiesByHeight handles network error", async () => {
209
+ const mockClient = {
210
+ call: import_vitest.vi.fn().mockResolvedValue({
211
+ status: 500,
212
+ data: null
213
+ })
214
+ };
215
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
216
+ await (0, import_vitest.expect)(
217
+ composedAction.listTaxonomiesByHeight({
218
+ fromHeight: 1e3,
219
+ toHeight: 2e3
220
+ })
221
+ ).rejects.toThrow();
222
+ });
223
+ (0, import_vitest.test)("getTaxonomiesForStreams handles network error", async () => {
224
+ const mockClient = {
225
+ call: import_vitest.vi.fn().mockResolvedValue({
226
+ status: 404,
227
+ data: null
228
+ })
229
+ };
230
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
231
+ const testStreams = [
232
+ {
233
+ dataProvider: import_EthereumAddress.EthereumAddress.fromString("0x1111111111111111111111111111111111111111").throw(),
234
+ streamId: import_StreamId.StreamId.fromString("stream-1").throw()
235
+ }
236
+ ];
237
+ await (0, import_vitest.expect)(
238
+ composedAction.getTaxonomiesForStreams({
239
+ streams: testStreams
240
+ })
241
+ ).rejects.toThrow();
242
+ });
243
+ (0, import_vitest.test)("methods handle multiple results correctly", async () => {
244
+ const mockResponse = [
245
+ {
246
+ data_provider: "0x1111111111111111111111111111111111111111",
247
+ stream_id: "stream-1",
248
+ child_data_provider: "0x2222222222222222222222222222222222222222",
249
+ child_stream_id: "child-1",
250
+ weight: "50.0",
251
+ created_at: 2e3,
252
+ group_sequence: 1,
253
+ start_time: 1625097600
254
+ },
255
+ {
256
+ data_provider: "0x1111111111111111111111111111111111111111",
257
+ stream_id: "stream-1",
258
+ child_data_provider: "0x3333333333333333333333333333333333333333",
259
+ child_stream_id: "child-2",
260
+ weight: "25.5",
261
+ created_at: 2e3,
262
+ group_sequence: 1,
263
+ start_time: 1625097600
264
+ }
265
+ ];
266
+ const mockClient = createMockClient(mockResponse);
267
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
268
+ const result = await composedAction.listTaxonomiesByHeight({ limit: 10 });
269
+ (0, import_vitest.expect)(result).toHaveLength(2);
270
+ (0, import_vitest.expect)(result[0].childStreamId.getId()).toBe("child-1");
271
+ (0, import_vitest.expect)(result[1].childStreamId.getId()).toBe("child-2");
272
+ (0, import_vitest.expect)(result[0].weight).toBe("50.0");
273
+ (0, import_vitest.expect)(result[1].weight).toBe("25.5");
274
+ });
275
+ (0, import_vitest.test)("methods handle address parsing correctly", async () => {
276
+ const mockResponse = [
277
+ {
278
+ data_provider: "0x1234567890abcdef1234567890abcdef12345678",
279
+ stream_id: "test-stream",
280
+ child_data_provider: "0xabcdef1234567890abcdef1234567890abcdef12",
281
+ child_stream_id: "child-stream",
282
+ weight: "100.0",
283
+ created_at: 1e3,
284
+ group_sequence: 1,
285
+ start_time: 1625097600
286
+ }
287
+ ];
288
+ const mockClient = createMockClient(mockResponse);
289
+ const composedAction = new import_composedAction.ComposedAction(mockClient, mockSigner);
290
+ const result = await composedAction.listTaxonomiesByHeight();
291
+ (0, import_vitest.expect)(result[0].dataProvider).toBeInstanceOf(import_EthereumAddress.EthereumAddress);
292
+ (0, import_vitest.expect)(result[0].streamId).toBeInstanceOf(import_StreamId.StreamId);
293
+ (0, import_vitest.expect)(result[0].childDataProvider).toBeInstanceOf(import_EthereumAddress.EthereumAddress);
294
+ (0, import_vitest.expect)(result[0].childStreamId).toBeInstanceOf(import_StreamId.StreamId);
295
+ (0, import_vitest.expect)(result[0].dataProvider.getAddress()).toBe("0x1234567890abcdef1234567890abcdef12345678");
296
+ (0, import_vitest.expect)(result[0].streamId.getId()).toBe("test-stream");
297
+ (0, import_vitest.expect)(result[0].childDataProvider.getAddress()).toBe("0xabcdef1234567890abcdef1234567890abcdef12");
298
+ (0, import_vitest.expect)(result[0].childStreamId.getId()).toBe("child-stream");
299
+ });
300
+ });
301
+ //# sourceMappingURL=composedAction.test.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/contracts-api/composedAction.test.ts"],
4
+ "sourcesContent": ["import { describe, test, expect, vi } from 'vitest'\r\nimport { ComposedAction } from './composedAction'\r\nimport { EthereumAddress } from '../util/EthereumAddress'\r\nimport { StreamId } from '../util/StreamId'\r\n\r\ndescribe('ComposedAction Taxonomy Query Methods', () => {\r\n const createMockClient = (mockResponse: any) => ({\r\n call: vi.fn().mockResolvedValue({\r\n status: 200,\r\n data: {\r\n result: mockResponse\r\n }\r\n })\r\n });\r\n\r\n const mockSigner = {};\r\n\r\n test('listTaxonomiesByHeight calls correct action with parameters', async () => {\r\n const mockResponse = [\r\n {\r\n data_provider: '0x1234567890abcdef1234567890abcdef12345678',\r\n stream_id: 'test-stream',\r\n child_data_provider: '0xabcdef1234567890abcdef1234567890abcdef12',\r\n child_stream_id: 'child-stream',\r\n weight: '100.5',\r\n created_at: 1000,\r\n group_sequence: 1,\r\n start_time: 1625097600\r\n }\r\n ];\r\n\r\n const mockClient = createMockClient(mockResponse);\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n const result = await composedAction.listTaxonomiesByHeight({\r\n fromHeight: 1000,\r\n toHeight: 2000,\r\n limit: 100,\r\n offset: 10,\r\n latestOnly: true\r\n });\r\n\r\n // Verify the call was made correctly\r\n expect(mockClient.call).toHaveBeenCalledWith(\r\n {\r\n namespace: \"main\",\r\n name: 'list_taxonomies_by_height',\r\n inputs: {\r\n $from_height: 1000,\r\n $to_height: 2000,\r\n $limit: 100,\r\n $offset: 10,\r\n $latest_only: true,\r\n }\r\n },\r\n {}\r\n );\r\n\r\n // Verify response mapping\r\n expect(result).toHaveLength(1);\r\n expect(result[0].dataProvider.getAddress()).toBe('0x1234567890abcdef1234567890abcdef12345678');\r\n expect(result[0].streamId.getId()).toBe('test-stream');\r\n expect(result[0].childDataProvider.getAddress()).toBe('0xabcdef1234567890abcdef1234567890abcdef12');\r\n expect(result[0].childStreamId.getId()).toBe('child-stream');\r\n expect(result[0].weight).toBe('100.5');\r\n expect(result[0].createdAt).toBe(1000);\r\n expect(result[0].groupSequence).toBe(1);\r\n expect(result[0].startTime).toBe(1625097600);\r\n });\r\n\r\n test('listTaxonomiesByHeight handles default parameters', async () => {\r\n const mockClient = createMockClient([]);\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n await composedAction.listTaxonomiesByHeight({});\r\n\r\n expect(mockClient.call).toHaveBeenCalledWith(\r\n {\r\n namespace: \"main\",\r\n name: 'list_taxonomies_by_height',\r\n inputs: {\r\n $from_height: null,\r\n $to_height: null,\r\n $limit: null,\r\n $offset: null,\r\n $latest_only: null,\r\n }\r\n },\r\n {}\r\n );\r\n });\r\n\r\n test('listTaxonomiesByHeight handles empty parameters', async () => {\r\n const mockClient = createMockClient([]);\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n await composedAction.listTaxonomiesByHeight();\r\n\r\n expect(mockClient.call).toHaveBeenCalledWith(\r\n {\r\n namespace: \"main\",\r\n name: 'list_taxonomies_by_height',\r\n inputs: {\r\n $from_height: null,\r\n $to_height: null,\r\n $limit: null,\r\n $offset: null,\r\n $latest_only: null,\r\n }\r\n },\r\n {}\r\n );\r\n });\r\n\r\n test('getTaxonomiesForStreams calls correct action with stream arrays', async () => {\r\n const mockResponse = [\r\n {\r\n data_provider: '0x1111111111111111111111111111111111111111',\r\n stream_id: 'stream-1',\r\n child_data_provider: '0x2222222222222222222222222222222222222222',\r\n child_stream_id: 'child-1',\r\n weight: '50.0',\r\n created_at: 2000,\r\n group_sequence: 2,\r\n start_time: 1625097700\r\n }\r\n ];\r\n\r\n const mockClient = createMockClient(mockResponse);\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n const testStreams = [\r\n {\r\n dataProvider: EthereumAddress.fromString('0x1111111111111111111111111111111111111111').throw(),\r\n streamId: StreamId.fromString('stream-1').throw()\r\n },\r\n {\r\n dataProvider: EthereumAddress.fromString('0x3333333333333333333333333333333333333333').throw(),\r\n streamId: StreamId.fromString('stream-2').throw()\r\n }\r\n ];\r\n\r\n const result = await composedAction.getTaxonomiesForStreams({\r\n streams: testStreams,\r\n latestOnly: false\r\n });\r\n\r\n // Verify the call was made correctly\r\n expect(mockClient.call).toHaveBeenCalledWith(\r\n {\r\n namespace: \"main\",\r\n name: 'get_taxonomies_for_streams',\r\n inputs: {\r\n $data_providers: [\r\n '0x1111111111111111111111111111111111111111',\r\n '0x3333333333333333333333333333333333333333'\r\n ],\r\n $stream_ids: ['stream-1', 'stream-2'],\r\n $latest_only: false,\r\n }\r\n },\r\n {}\r\n );\r\n\r\n // Verify response mapping\r\n expect(result).toHaveLength(1);\r\n expect(result[0].dataProvider.getAddress()).toBe('0x1111111111111111111111111111111111111111');\r\n expect(result[0].streamId.getId()).toBe('stream-1');\r\n expect(result[0].weight).toBe('50.0');\r\n });\r\n\r\n test('getTaxonomiesForStreams handles empty stream array', async () => {\r\n const mockClient = createMockClient([]);\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n const result = await composedAction.getTaxonomiesForStreams({\r\n streams: [],\r\n latestOnly: true\r\n });\r\n\r\n // Should return empty array without making network call\r\n expect(mockClient.call).not.toHaveBeenCalled();\r\n expect(result).toEqual([]);\r\n });\r\n\r\n test('getTaxonomiesForStreams handles latestOnly parameter', async () => {\r\n const mockClient = createMockClient([]);\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n const testStreams = [\r\n {\r\n dataProvider: EthereumAddress.fromString('0x1111111111111111111111111111111111111111').throw(),\r\n streamId: StreamId.fromString('stream-1').throw()\r\n }\r\n ];\r\n\r\n await composedAction.getTaxonomiesForStreams({\r\n streams: testStreams,\r\n latestOnly: true\r\n });\r\n\r\n expect(mockClient.call).toHaveBeenCalledWith(\r\n {\r\n namespace: \"main\",\r\n name: 'get_taxonomies_for_streams',\r\n inputs: expect.objectContaining({\r\n $latest_only: true,\r\n })\r\n },\r\n {}\r\n );\r\n });\r\n\r\n test('getTaxonomiesForStreams handles default latestOnly parameter', async () => {\r\n const mockClient = createMockClient([]);\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n const testStreams = [\r\n {\r\n dataProvider: EthereumAddress.fromString('0x1111111111111111111111111111111111111111').throw(),\r\n streamId: StreamId.fromString('stream-1').throw()\r\n }\r\n ];\r\n\r\n await composedAction.getTaxonomiesForStreams({\r\n streams: testStreams\r\n });\r\n\r\n expect(mockClient.call).toHaveBeenCalledWith(\r\n {\r\n namespace: \"main\",\r\n name: 'get_taxonomies_for_streams',\r\n inputs: expect.objectContaining({\r\n $latest_only: null,\r\n })\r\n },\r\n {}\r\n );\r\n });\r\n\r\n test('listTaxonomiesByHeight handles network error', async () => {\r\n const mockClient = {\r\n call: vi.fn().mockResolvedValue({\r\n status: 500,\r\n data: null\r\n })\r\n };\r\n\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n await expect(\r\n composedAction.listTaxonomiesByHeight({\r\n fromHeight: 1000,\r\n toHeight: 2000\r\n })\r\n ).rejects.toThrow();\r\n });\r\n\r\n test('getTaxonomiesForStreams handles network error', async () => {\r\n const mockClient = {\r\n call: vi.fn().mockResolvedValue({\r\n status: 404,\r\n data: null\r\n })\r\n };\r\n\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n const testStreams = [\r\n {\r\n dataProvider: EthereumAddress.fromString('0x1111111111111111111111111111111111111111').throw(),\r\n streamId: StreamId.fromString('stream-1').throw()\r\n }\r\n ];\r\n\r\n await expect(\r\n composedAction.getTaxonomiesForStreams({\r\n streams: testStreams\r\n })\r\n ).rejects.toThrow();\r\n });\r\n\r\n test('methods handle multiple results correctly', async () => {\r\n const mockResponse = [\r\n {\r\n data_provider: '0x1111111111111111111111111111111111111111',\r\n stream_id: 'stream-1',\r\n child_data_provider: '0x2222222222222222222222222222222222222222',\r\n child_stream_id: 'child-1',\r\n weight: '50.0',\r\n created_at: 2000,\r\n group_sequence: 1,\r\n start_time: 1625097600\r\n },\r\n {\r\n data_provider: '0x1111111111111111111111111111111111111111',\r\n stream_id: 'stream-1',\r\n child_data_provider: '0x3333333333333333333333333333333333333333',\r\n child_stream_id: 'child-2',\r\n weight: '25.5',\r\n created_at: 2000,\r\n group_sequence: 1,\r\n start_time: 1625097600\r\n }\r\n ];\r\n\r\n const mockClient = createMockClient(mockResponse);\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n const result = await composedAction.listTaxonomiesByHeight({ limit: 10 });\r\n\r\n expect(result).toHaveLength(2);\r\n expect(result[0].childStreamId.getId()).toBe('child-1');\r\n expect(result[1].childStreamId.getId()).toBe('child-2');\r\n expect(result[0].weight).toBe('50.0');\r\n expect(result[1].weight).toBe('25.5');\r\n });\r\n\r\n test('methods handle address parsing correctly', async () => {\r\n const mockResponse = [\r\n {\r\n data_provider: '0x1234567890abcdef1234567890abcdef12345678',\r\n stream_id: 'test-stream',\r\n child_data_provider: '0xabcdef1234567890abcdef1234567890abcdef12',\r\n child_stream_id: 'child-stream',\r\n weight: '100.0',\r\n created_at: 1000,\r\n group_sequence: 1,\r\n start_time: 1625097600\r\n }\r\n ];\r\n\r\n const mockClient = createMockClient(mockResponse);\r\n const composedAction = new ComposedAction(mockClient as any, mockSigner as any);\r\n\r\n const result = await composedAction.listTaxonomiesByHeight();\r\n\r\n expect(result[0].dataProvider).toBeInstanceOf(EthereumAddress);\r\n expect(result[0].streamId).toBeInstanceOf(StreamId);\r\n expect(result[0].childDataProvider).toBeInstanceOf(EthereumAddress);\r\n expect(result[0].childStreamId).toBeInstanceOf(StreamId);\r\n \r\n expect(result[0].dataProvider.getAddress()).toBe('0x1234567890abcdef1234567890abcdef12345678');\r\n expect(result[0].streamId.getId()).toBe('test-stream');\r\n expect(result[0].childDataProvider.getAddress()).toBe('0xabcdef1234567890abcdef1234567890abcdef12');\r\n expect(result[0].childStreamId.getId()).toBe('child-stream');\r\n });\r\n});"],
5
+ "mappings": ";;;AAAA,oBAA2C;AAC3C,4BAA+B;AAC/B,6BAAgC;AAChC,sBAAyB;AAAA,IAEzB,wBAAS,yCAAyC,MAAM;AACtD,QAAM,mBAAmB,CAAC,kBAAuB;AAAA,IAC/C,MAAM,iBAAG,GAAG,EAAE,kBAAkB;AAAA,MAC9B,QAAQ;AAAA,MACR,MAAM;AAAA,QACJ,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,aAAa,CAAC;AAEpB,0BAAK,+DAA+D,YAAY;AAC9E,UAAM,eAAe;AAAA,MACnB;AAAA,QACE,eAAe;AAAA,QACf,WAAW;AAAA,QACX,qBAAqB;AAAA,QACrB,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACd;AAAA,IACF;AAEA,UAAM,aAAa,iBAAiB,YAAY;AAChD,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,SAAS,MAAM,eAAe,uBAAuB;AAAA,MACzD,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY;AAAA,IACd,CAAC;AAGD,8BAAO,WAAW,IAAI,EAAE;AAAA,MACtB;AAAA,QACE,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,QAChB;AAAA,MACF;AAAA,MACA,CAAC;AAAA,IACH;AAGA,8BAAO,MAAM,EAAE,aAAa,CAAC;AAC7B,8BAAO,OAAO,CAAC,EAAE,aAAa,WAAW,CAAC,EAAE,KAAK,4CAA4C;AAC7F,8BAAO,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,EAAE,KAAK,aAAa;AACrD,8BAAO,OAAO,CAAC,EAAE,kBAAkB,WAAW,CAAC,EAAE,KAAK,4CAA4C;AAClG,8BAAO,OAAO,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,KAAK,cAAc;AAC3D,8BAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO;AACrC,8BAAO,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,GAAI;AACrC,8BAAO,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC;AACtC,8BAAO,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,UAAU;AAAA,EAC7C,CAAC;AAED,0BAAK,qDAAqD,YAAY;AACpE,UAAM,aAAa,iBAAiB,CAAC,CAAC;AACtC,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,eAAe,uBAAuB,CAAC,CAAC;AAE9C,8BAAO,WAAW,IAAI,EAAE;AAAA,MACtB;AAAA,QACE,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,QAChB;AAAA,MACF;AAAA,MACA,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAED,0BAAK,mDAAmD,YAAY;AAClE,UAAM,aAAa,iBAAiB,CAAC,CAAC;AACtC,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,eAAe,uBAAuB;AAE5C,8BAAO,WAAW,IAAI,EAAE;AAAA,MACtB;AAAA,QACE,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,QAChB;AAAA,MACF;AAAA,MACA,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAED,0BAAK,mEAAmE,YAAY;AAClF,UAAM,eAAe;AAAA,MACnB;AAAA,QACE,eAAe;AAAA,QACf,WAAW;AAAA,QACX,qBAAqB;AAAA,QACrB,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACd;AAAA,IACF;AAEA,UAAM,aAAa,iBAAiB,YAAY;AAChD,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,cAAc;AAAA,MAClB;AAAA,QACE,cAAc,uCAAgB,WAAW,4CAA4C,EAAE,MAAM;AAAA,QAC7F,UAAU,yBAAS,WAAW,UAAU,EAAE,MAAM;AAAA,MAClD;AAAA,MACA;AAAA,QACE,cAAc,uCAAgB,WAAW,4CAA4C,EAAE,MAAM;AAAA,QAC7F,UAAU,yBAAS,WAAW,UAAU,EAAE,MAAM;AAAA,MAClD;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,eAAe,wBAAwB;AAAA,MAC1D,SAAS;AAAA,MACT,YAAY;AAAA,IACd,CAAC;AAGD,8BAAO,WAAW,IAAI,EAAE;AAAA,MACtB;AAAA,QACE,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,iBAAiB;AAAA,YACf;AAAA,YACA;AAAA,UACF;AAAA,UACA,aAAa,CAAC,YAAY,UAAU;AAAA,UACpC,cAAc;AAAA,QAChB;AAAA,MACF;AAAA,MACA,CAAC;AAAA,IACH;AAGA,8BAAO,MAAM,EAAE,aAAa,CAAC;AAC7B,8BAAO,OAAO,CAAC,EAAE,aAAa,WAAW,CAAC,EAAE,KAAK,4CAA4C;AAC7F,8BAAO,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,EAAE,KAAK,UAAU;AAClD,8BAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM;AAAA,EACtC,CAAC;AAED,0BAAK,sDAAsD,YAAY;AACrE,UAAM,aAAa,iBAAiB,CAAC,CAAC;AACtC,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,SAAS,MAAM,eAAe,wBAAwB;AAAA,MAC1D,SAAS,CAAC;AAAA,MACV,YAAY;AAAA,IACd,CAAC;AAGD,8BAAO,WAAW,IAAI,EAAE,IAAI,iBAAiB;AAC7C,8BAAO,MAAM,EAAE,QAAQ,CAAC,CAAC;AAAA,EAC3B,CAAC;AAED,0BAAK,wDAAwD,YAAY;AACvE,UAAM,aAAa,iBAAiB,CAAC,CAAC;AACtC,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,cAAc;AAAA,MAClB;AAAA,QACE,cAAc,uCAAgB,WAAW,4CAA4C,EAAE,MAAM;AAAA,QAC7F,UAAU,yBAAS,WAAW,UAAU,EAAE,MAAM;AAAA,MAClD;AAAA,IACF;AAEA,UAAM,eAAe,wBAAwB;AAAA,MAC3C,SAAS;AAAA,MACT,YAAY;AAAA,IACd,CAAC;AAED,8BAAO,WAAW,IAAI,EAAE;AAAA,MACtB;AAAA,QACE,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ,qBAAO,iBAAiB;AAAA,UAC9B,cAAc;AAAA,QAChB,CAAC;AAAA,MACH;AAAA,MACA,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAED,0BAAK,gEAAgE,YAAY;AAC/E,UAAM,aAAa,iBAAiB,CAAC,CAAC;AACtC,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,cAAc;AAAA,MAClB;AAAA,QACE,cAAc,uCAAgB,WAAW,4CAA4C,EAAE,MAAM;AAAA,QAC7F,UAAU,yBAAS,WAAW,UAAU,EAAE,MAAM;AAAA,MAClD;AAAA,IACF;AAEA,UAAM,eAAe,wBAAwB;AAAA,MAC3C,SAAS;AAAA,IACX,CAAC;AAED,8BAAO,WAAW,IAAI,EAAE;AAAA,MACtB;AAAA,QACE,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ,qBAAO,iBAAiB;AAAA,UAC9B,cAAc;AAAA,QAChB,CAAC;AAAA,MACH;AAAA,MACA,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAED,0BAAK,gDAAgD,YAAY;AAC/D,UAAM,aAAa;AAAA,MACjB,MAAM,iBAAG,GAAG,EAAE,kBAAkB;AAAA,QAC9B,QAAQ;AAAA,QACR,MAAM;AAAA,MACR,CAAC;AAAA,IACH;AAEA,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,cAAM;AAAA,MACJ,eAAe,uBAAuB;AAAA,QACpC,YAAY;AAAA,QACZ,UAAU;AAAA,MACZ,CAAC;AAAA,IACH,EAAE,QAAQ,QAAQ;AAAA,EACpB,CAAC;AAED,0BAAK,iDAAiD,YAAY;AAChE,UAAM,aAAa;AAAA,MACjB,MAAM,iBAAG,GAAG,EAAE,kBAAkB;AAAA,QAC9B,QAAQ;AAAA,QACR,MAAM;AAAA,MACR,CAAC;AAAA,IACH;AAEA,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,cAAc;AAAA,MAClB;AAAA,QACE,cAAc,uCAAgB,WAAW,4CAA4C,EAAE,MAAM;AAAA,QAC7F,UAAU,yBAAS,WAAW,UAAU,EAAE,MAAM;AAAA,MAClD;AAAA,IACF;AAEA,cAAM;AAAA,MACJ,eAAe,wBAAwB;AAAA,QACrC,SAAS;AAAA,MACX,CAAC;AAAA,IACH,EAAE,QAAQ,QAAQ;AAAA,EACpB,CAAC;AAED,0BAAK,6CAA6C,YAAY;AAC5D,UAAM,eAAe;AAAA,MACnB;AAAA,QACE,eAAe;AAAA,QACf,WAAW;AAAA,QACX,qBAAqB;AAAA,QACrB,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACd;AAAA,MACA;AAAA,QACE,eAAe;AAAA,QACf,WAAW;AAAA,QACX,qBAAqB;AAAA,QACrB,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACd;AAAA,IACF;AAEA,UAAM,aAAa,iBAAiB,YAAY;AAChD,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,SAAS,MAAM,eAAe,uBAAuB,EAAE,OAAO,GAAG,CAAC;AAExE,8BAAO,MAAM,EAAE,aAAa,CAAC;AAC7B,8BAAO,OAAO,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,KAAK,SAAS;AACtD,8BAAO,OAAO,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,KAAK,SAAS;AACtD,8BAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM;AACpC,8BAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM;AAAA,EACtC,CAAC;AAED,0BAAK,4CAA4C,YAAY;AAC3D,UAAM,eAAe;AAAA,MACnB;AAAA,QACE,eAAe;AAAA,QACf,WAAW;AAAA,QACX,qBAAqB;AAAA,QACrB,iBAAiB;AAAA,QACjB,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACd;AAAA,IACF;AAEA,UAAM,aAAa,iBAAiB,YAAY;AAChD,UAAM,iBAAiB,IAAI,qCAAe,YAAmB,UAAiB;AAE9E,UAAM,SAAS,MAAM,eAAe,uBAAuB;AAE3D,8BAAO,OAAO,CAAC,EAAE,YAAY,EAAE,eAAe,sCAAe;AAC7D,8BAAO,OAAO,CAAC,EAAE,QAAQ,EAAE,eAAe,wBAAQ;AAClD,8BAAO,OAAO,CAAC,EAAE,iBAAiB,EAAE,eAAe,sCAAe;AAClE,8BAAO,OAAO,CAAC,EAAE,aAAa,EAAE,eAAe,wBAAQ;AAEvD,8BAAO,OAAO,CAAC,EAAE,aAAa,WAAW,CAAC,EAAE,KAAK,4CAA4C;AAC7F,8BAAO,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,EAAE,KAAK,aAAa;AACrD,8BAAO,OAAO,CAAC,EAAE,kBAAkB,WAAW,CAAC,EAAE,KAAK,4CAA4C;AAClG,8BAAO,OAAO,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,KAAK,cAAc;AAAA,EAC7D,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.common.ts"],
4
- "sourcesContent": ["// Core client types\nexport type { TNClientOptions } from \"./client/client\";\nexport type { SignerInfo as EthProvider } from \"./client/client\";\n\n// Stream types and interfaces\nexport type { StreamLocator } from \"./types/stream\";\nexport type { StreamRecord } from \"./contracts-api/action\";\nexport type { GetRecordInput, GetFirstRecordInput } from \"./contracts-api/action\";\nexport type { InsertRecordInput } from \"./contracts-api/primitiveAction\";\nexport type { TaxonomySet, TaxonomyItem } from \"./contracts-api/composedAction\";\n\n// Utility types and classes\nexport { StreamId } from \"./util/StreamId\";\nexport { EthereumAddress } from \"./util/EthereumAddress\";\nexport { visibility } from \"./util/visibility\";\nexport type { VisibilityEnum } from \"./util/visibility\";\n\n// Stream type constants\nexport { StreamType } from \"./contracts-api/contractValues\";\n\n// Base classes\nexport { Action } from \"./contracts-api/action\";\nexport { PrimitiveAction } from \"./contracts-api/primitiveAction\";\nexport { ComposedAction } from \"./contracts-api/composedAction\";\n\n// Role management exports\nexport { RoleManagement } from \"./contracts-api/roleManagement\";\nexport type { GrantRoleInput, RevokeRoleInput, AreMembersOfInput, WalletMembership } from \"./types/role\";\n\n"],
4
+ "sourcesContent": ["// Core client types\nexport type { TNClientOptions } from \"./client/client\";\nexport type { SignerInfo as EthProvider } from \"./client/client\";\n\n// Stream types and interfaces\nexport type { StreamLocator } from \"./types/stream\";\nexport type { StreamRecord } from \"./contracts-api/action\";\nexport type { GetRecordInput, GetFirstRecordInput } from \"./contracts-api/action\";\nexport type { InsertRecordInput } from \"./contracts-api/primitiveAction\";\nexport type { TaxonomySet, TaxonomyItem, ListTaxonomiesByHeightParams, GetTaxonomiesForStreamsParams, TaxonomyQueryResult } from \"./contracts-api/composedAction\";\n\n// Utility types and classes\nexport { StreamId } from \"./util/StreamId\";\nexport { EthereumAddress } from \"./util/EthereumAddress\";\nexport { visibility } from \"./util/visibility\";\nexport type { VisibilityEnum } from \"./util/visibility\";\n\n// Stream type constants\nexport { StreamType } from \"./contracts-api/contractValues\";\n\n// Base classes\nexport { Action } from \"./contracts-api/action\";\nexport { PrimitiveAction } from \"./contracts-api/primitiveAction\";\nexport { ComposedAction } from \"./contracts-api/composedAction\";\n\n// Role management exports\nexport { RoleManagement } from \"./contracts-api/roleManagement\";\nexport type { GrantRoleInput, RevokeRoleInput, AreMembersOfInput, WalletMembership } from \"./types/role\";\n\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,sBAAyB;AACzB,6BAAgC;AAChC,wBAA2B;AAI3B,4BAA2B;AAG3B,oBAAuB;AACvB,6BAAgC;AAChC,4BAA+B;AAG/B,4BAA+B;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/types/cache.ts
21
+ var cache_exports = {};
22
+ __export(cache_exports, {
23
+ CacheError: () => CacheError
24
+ });
25
+ module.exports = __toCommonJS(cache_exports);
26
+ var CacheError = class _CacheError extends Error {
27
+ constructor(message, cause) {
28
+ super(message);
29
+ this.cause = cause;
30
+ this.name = "CacheError";
31
+ Object.setPrototypeOf(this, _CacheError.prototype);
32
+ }
33
+ };
34
+ //# sourceMappingURL=cache.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/cache.ts"],
4
+ "sourcesContent": ["/**\n * Cache-related type definitions for the Truf Network SDK\n * These types enable cache-aware operations with proper TypeScript support\n */\n\n/**\n * Metadata about cache operations\n * Matches the Go SDK implementation structure\n */\nexport interface CacheMetadata {\n /** Whether the data came from cache */\n hit: boolean;\n /** Whether cache was disabled for this query */\n cacheDisabled?: boolean;\n /** Block height when data was cached (optional) */\n height?: number;\n \n // SDK-provided context (optional)\n /** Stream ID used in the query */\n streamId?: string;\n /** Data provider address */\n dataProvider?: string;\n /** Start time of the query range */\n from?: number;\n /** End time of the query range */\n to?: number;\n /** Frozen time for historical queries */\n frozenAt?: number;\n /** Number of rows returned */\n rowsServed?: number;\n}\n\n/**\n * Enhanced options for getRecord method with cache support\n */\nexport interface GetRecordOptions {\n /** Start time for the query range */\n from?: number;\n /** End time for the query range */\n to?: number;\n /** Frozen time for historical queries */\n frozenAt?: number;\n /** Base time for index calculations */\n baseTime?: string | number;\n /** Procedure name prefix */\n prefix?: string;\n /** Enable cache usage for this query */\n useCache?: boolean;\n}\n\n/**\n * Enhanced options for getIndex method with cache support\n */\nexport interface GetIndexOptions {\n /** Start time for the query range */\n from?: number;\n /** End time for the query range */\n to?: number;\n /** Frozen time for historical queries */\n frozenAt?: number;\n /** Base time for index calculations */\n baseTime?: string | number;\n /** Procedure name prefix */\n prefix?: string;\n /** Enable cache usage for this query */\n useCache?: boolean;\n}\n\n/**\n * Enhanced options for getIndexChange method with cache support\n */\nexport interface GetIndexChangeOptions {\n /** Start time for the query range */\n from?: number;\n /** End time for the query range */\n to?: number;\n /** Frozen time for historical queries */\n frozenAt?: number;\n /** Base time for index calculations */\n baseTime?: string | number;\n /** Time interval for change calculations */\n timeInterval: number;\n /** Procedure name prefix */\n prefix?: string;\n /** Enable cache usage for this query */\n useCache?: boolean;\n}\n\n/**\n * Enhanced options for getFirstRecord method with cache support\n */\nexport interface GetFirstRecordOptions {\n /** Return records after this time */\n after?: number;\n /** Frozen time for historical queries */\n frozenAt?: number;\n /** Enable cache usage for this query */\n useCache?: boolean;\n}\n\n/**\n * Response wrapper that includes cache metadata\n * Provides structured access to both data and cache information\n */\nexport interface CacheAwareResponse<T> {\n /** The actual response data */\n data: T;\n /** Cache metadata (if available) */\n cache?: CacheMetadata;\n /** Action logs for debugging (optional) */\n logs?: string[];\n}\n\n/**\n * Aggregated cache metadata from multiple operations\n */\nexport interface CacheMetadataCollection {\n /** Total number of queries performed */\n totalQueries: number;\n /** Number of cache hits */\n cacheHits: number;\n /** Number of cache misses */\n cacheMisses: number;\n /** Cache hit rate (0-1) */\n cacheHitRate: number;\n /** Total rows served across all queries */\n totalRowsServed: number;\n /** Individual metadata entries */\n entries: CacheMetadata[];\n}\n\n/**\n * Error class for cache-related operations\n */\nexport class CacheError extends Error {\n constructor(message: string, public cause?: Error) {\n super(message);\n this.name = 'CacheError';\n\n // Fix prototype chain\n Object.setPrototypeOf(this, CacheError.prototype);\n }\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsIO,IAAM,aAAN,MAAM,oBAAmB,MAAM;AAAA,EACpC,YAAY,SAAwB,OAAe;AACjD,UAAM,OAAO;AADqB;AAElC,SAAK,OAAO;AAGZ,WAAO,eAAe,MAAM,YAAW,SAAS;AAAA,EAClD;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+
3
+ // src/types/cache.test.ts
4
+ var import_vitest = require("vitest");
5
+ var import_cache = require("./cache.cjs");
6
+ (0, import_vitest.describe)("Cache Types", () => {
7
+ (0, import_vitest.describe)("CacheMetadata", () => {
8
+ (0, import_vitest.it)("should allow valid cache metadata", () => {
9
+ const metadata = { hit: true, height: 123456 };
10
+ (0, import_vitest.expect)(metadata.hit).toBe(true);
11
+ (0, import_vitest.expect)(metadata.height).toBe(123456);
12
+ });
13
+ (0, import_vitest.it)("should create cache metadata with all fields", () => {
14
+ const metadata = { hit: true, height: 123456 };
15
+ (0, import_vitest.expect)(metadata.hit).toBe(true);
16
+ (0, import_vitest.expect)(metadata.height).toBe(123456);
17
+ });
18
+ (0, import_vitest.it)("should allow cache metadata without optional fields", () => {
19
+ const metadata = { hit: false };
20
+ (0, import_vitest.expect)(metadata.hit).toBe(false);
21
+ (0, import_vitest.expect)(metadata.height).toBeUndefined();
22
+ });
23
+ (0, import_vitest.it)("should allow enhanced cache metadata with all fields", () => {
24
+ const metadata = {
25
+ hit: true,
26
+ cacheDisabled: false,
27
+ height: 123456,
28
+ streamId: "test-stream",
29
+ dataProvider: "0x123456789abcdef",
30
+ from: 1609459100,
31
+ to: 1609459300,
32
+ frozenAt: 1609459250,
33
+ rowsServed: 10
34
+ };
35
+ (0, import_vitest.expect)(metadata.hit).toBe(true);
36
+ (0, import_vitest.expect)(metadata.cacheDisabled).toBe(false);
37
+ (0, import_vitest.expect)(metadata.height).toBe(123456);
38
+ (0, import_vitest.expect)(metadata.streamId).toBe("test-stream");
39
+ (0, import_vitest.expect)(metadata.dataProvider).toBe("0x123456789abcdef");
40
+ (0, import_vitest.expect)(metadata.from).toBe(1609459100);
41
+ (0, import_vitest.expect)(metadata.to).toBe(1609459300);
42
+ (0, import_vitest.expect)(metadata.frozenAt).toBe(1609459250);
43
+ (0, import_vitest.expect)(metadata.rowsServed).toBe(10);
44
+ });
45
+ (0, import_vitest.it)("should allow partial enhanced metadata", () => {
46
+ const metadata = {
47
+ hit: true,
48
+ cacheDisabled: true,
49
+ streamId: "partial-stream"
50
+ };
51
+ (0, import_vitest.expect)(metadata.hit).toBe(true);
52
+ (0, import_vitest.expect)(metadata.cacheDisabled).toBe(true);
53
+ (0, import_vitest.expect)(metadata.streamId).toBe("partial-stream");
54
+ (0, import_vitest.expect)(metadata.height).toBeUndefined();
55
+ });
56
+ });
57
+ (0, import_vitest.describe)("CacheMetadataCollection", () => {
58
+ (0, import_vitest.it)("should allow valid cache metadata collection", () => {
59
+ const collection = {
60
+ totalQueries: 5,
61
+ cacheHits: 3,
62
+ cacheMisses: 2,
63
+ cacheHitRate: 0.6,
64
+ totalRowsServed: 100,
65
+ entries: [
66
+ { hit: true, rowsServed: 30 },
67
+ { hit: false, rowsServed: 25 },
68
+ { hit: true, rowsServed: 45 }
69
+ ]
70
+ };
71
+ (0, import_vitest.expect)(collection.totalQueries).toBe(5);
72
+ (0, import_vitest.expect)(collection.cacheHits).toBe(3);
73
+ (0, import_vitest.expect)(collection.cacheMisses).toBe(2);
74
+ (0, import_vitest.expect)(collection.cacheHitRate).toBe(0.6);
75
+ (0, import_vitest.expect)(collection.totalRowsServed).toBe(100);
76
+ (0, import_vitest.expect)(collection.entries).toHaveLength(3);
77
+ });
78
+ });
79
+ (0, import_vitest.describe)("CacheAwareResponse", () => {
80
+ (0, import_vitest.it)("should allow response with cache metadata", () => {
81
+ const response = {
82
+ data: ["test1", "test2"],
83
+ cache: { hit: true, height: 123456 },
84
+ logs: ["log1", "log2"]
85
+ };
86
+ (0, import_vitest.expect)(response.data).toEqual(["test1", "test2"]);
87
+ (0, import_vitest.expect)(response.cache?.hit).toBe(true);
88
+ (0, import_vitest.expect)(response.logs).toEqual(["log1", "log2"]);
89
+ });
90
+ (0, import_vitest.it)("should create cache aware response with all fields", () => {
91
+ const response = {
92
+ data: "test",
93
+ cache: { hit: true, height: 123456 },
94
+ logs: ["log1"]
95
+ };
96
+ (0, import_vitest.expect)(response.data).toBe("test");
97
+ (0, import_vitest.expect)(response.cache?.hit).toBe(true);
98
+ (0, import_vitest.expect)(response.cache?.height).toBe(123456);
99
+ (0, import_vitest.expect)(response.logs).toEqual(["log1"]);
100
+ });
101
+ (0, import_vitest.it)("should allow response without cache metadata", () => {
102
+ const response = {
103
+ data: ["test1", "test2"]
104
+ };
105
+ (0, import_vitest.expect)(response.data).toEqual(["test1", "test2"]);
106
+ (0, import_vitest.expect)(response.cache).toBeUndefined();
107
+ (0, import_vitest.expect)(response.logs).toBeUndefined();
108
+ });
109
+ });
110
+ (0, import_vitest.describe)("GetRecordOptions", () => {
111
+ (0, import_vitest.it)("should allow all valid options", () => {
112
+ const options = {
113
+ from: 1609459200,
114
+ to: 1609545600,
115
+ frozenAt: 1609459200,
116
+ baseTime: 1609459200,
117
+ prefix: "test_",
118
+ useCache: true
119
+ };
120
+ (0, import_vitest.expect)(options.from).toBe(1609459200);
121
+ (0, import_vitest.expect)(options.useCache).toBe(true);
122
+ });
123
+ (0, import_vitest.it)("should allow string baseTime", () => {
124
+ const options = {
125
+ baseTime: "2021-01-01",
126
+ useCache: false
127
+ };
128
+ (0, import_vitest.expect)(options.baseTime).toBe("2021-01-01");
129
+ });
130
+ (0, import_vitest.it)("should allow empty options", () => {
131
+ const options = {};
132
+ (0, import_vitest.expect)(options.useCache).toBeUndefined();
133
+ });
134
+ });
135
+ (0, import_vitest.describe)("GetIndexOptions", () => {
136
+ (0, import_vitest.it)("should allow all valid options", () => {
137
+ const options = {
138
+ from: 1609459200,
139
+ to: 1609545600,
140
+ frozenAt: 1609459200,
141
+ baseTime: 1609459200,
142
+ prefix: "test_",
143
+ useCache: true
144
+ };
145
+ (0, import_vitest.expect)(options.useCache).toBe(true);
146
+ });
147
+ });
148
+ (0, import_vitest.describe)("GetIndexChangeOptions", () => {
149
+ (0, import_vitest.it)("should allow all valid options including timeInterval", () => {
150
+ const options = {
151
+ from: 1609459200,
152
+ to: 1609545600,
153
+ frozenAt: 1609459200,
154
+ baseTime: 1609459200,
155
+ timeInterval: 3600,
156
+ prefix: "test_",
157
+ useCache: true
158
+ };
159
+ (0, import_vitest.expect)(options.timeInterval).toBe(3600);
160
+ (0, import_vitest.expect)(options.useCache).toBe(true);
161
+ });
162
+ (0, import_vitest.it)("should require timeInterval", () => {
163
+ const options = {
164
+ timeInterval: 3600
165
+ };
166
+ (0, import_vitest.expect)(options.timeInterval).toBe(3600);
167
+ });
168
+ });
169
+ (0, import_vitest.describe)("GetFirstRecordOptions", () => {
170
+ (0, import_vitest.it)("should allow all valid options", () => {
171
+ const options = {
172
+ after: 1609459200,
173
+ frozenAt: 1609459200,
174
+ useCache: true
175
+ };
176
+ (0, import_vitest.expect)(options.after).toBe(1609459200);
177
+ (0, import_vitest.expect)(options.useCache).toBe(true);
178
+ });
179
+ (0, import_vitest.it)("should allow empty options", () => {
180
+ const options = {};
181
+ (0, import_vitest.expect)(options.useCache).toBeUndefined();
182
+ });
183
+ });
184
+ (0, import_vitest.describe)("CacheError", () => {
185
+ (0, import_vitest.it)("should create error with message", () => {
186
+ const error = new import_cache.CacheError("Test error");
187
+ (0, import_vitest.expect)(error.message).toBe("Test error");
188
+ (0, import_vitest.expect)(error.name).toBe("CacheError");
189
+ (0, import_vitest.expect)(error.cause).toBeUndefined();
190
+ });
191
+ (0, import_vitest.it)("should create error with cause", () => {
192
+ const cause = new Error("Original error");
193
+ const error = new import_cache.CacheError("Test error", cause);
194
+ (0, import_vitest.expect)(error.message).toBe("Test error");
195
+ (0, import_vitest.expect)(error.name).toBe("CacheError");
196
+ (0, import_vitest.expect)(error.cause).toBe(cause);
197
+ });
198
+ (0, import_vitest.it)("should be instanceof Error", () => {
199
+ const error = new import_cache.CacheError("Test error");
200
+ (0, import_vitest.expect)(error instanceof Error).toBe(true);
201
+ (0, import_vitest.expect)(error instanceof import_cache.CacheError).toBe(true);
202
+ });
203
+ });
204
+ });
205
+ //# sourceMappingURL=cache.test.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/cache.test.ts"],
4
+ "sourcesContent": ["import { describe, it, expect } from 'vitest';\nimport { CacheError } from './cache';\nimport type { \n CacheMetadata, \n CacheAwareResponse, \n CacheMetadataCollection,\n GetRecordOptions, \n GetIndexOptions, \n GetIndexChangeOptions, \n GetFirstRecordOptions \n} from './cache';\n\ndescribe('Cache Types', () => {\n describe('CacheMetadata', () => {\n it('should allow valid cache metadata', () => {\n const metadata: CacheMetadata = { hit: true, height: 123456 };\n expect(metadata.hit).toBe(true);\n expect(metadata.height).toBe(123456);\n });\n\n it('should create cache metadata with all fields', () => {\n const metadata: CacheMetadata = { hit: true, height: 123456 };\n expect(metadata.hit).toBe(true);\n expect(metadata.height).toBe(123456);\n });\n\n it('should allow cache metadata without optional fields', () => {\n const metadata: CacheMetadata = { hit: false };\n expect(metadata.hit).toBe(false);\n expect(metadata.height).toBeUndefined();\n });\n\n it('should allow enhanced cache metadata with all fields', () => {\n const metadata: CacheMetadata = {\n hit: true,\n cacheDisabled: false,\n height: 123456,\n streamId: 'test-stream',\n dataProvider: '0x123456789abcdef',\n from: 1609459100,\n to: 1609459300,\n frozenAt: 1609459250,\n rowsServed: 10\n };\n \n expect(metadata.hit).toBe(true);\n expect(metadata.cacheDisabled).toBe(false);\n expect(metadata.height).toBe(123456);\n expect(metadata.streamId).toBe('test-stream');\n expect(metadata.dataProvider).toBe('0x123456789abcdef');\n expect(metadata.from).toBe(1609459100);\n expect(metadata.to).toBe(1609459300);\n expect(metadata.frozenAt).toBe(1609459250);\n expect(metadata.rowsServed).toBe(10);\n });\n\n it('should allow partial enhanced metadata', () => {\n const metadata: CacheMetadata = {\n hit: true,\n cacheDisabled: true,\n streamId: 'partial-stream'\n };\n \n expect(metadata.hit).toBe(true);\n expect(metadata.cacheDisabled).toBe(true);\n expect(metadata.streamId).toBe('partial-stream');\n expect(metadata.height).toBeUndefined();\n });\n });\n\n describe('CacheMetadataCollection', () => {\n it('should allow valid cache metadata collection', () => {\n const collection: CacheMetadataCollection = {\n totalQueries: 5,\n cacheHits: 3,\n cacheMisses: 2,\n cacheHitRate: 0.6,\n totalRowsServed: 100,\n entries: [\n { hit: true, rowsServed: 30 },\n { hit: false, rowsServed: 25 },\n { hit: true, rowsServed: 45 }\n ]\n };\n \n expect(collection.totalQueries).toBe(5);\n expect(collection.cacheHits).toBe(3);\n expect(collection.cacheMisses).toBe(2);\n expect(collection.cacheHitRate).toBe(0.6);\n expect(collection.totalRowsServed).toBe(100);\n expect(collection.entries).toHaveLength(3);\n });\n });\n\n describe('CacheAwareResponse', () => {\n it('should allow response with cache metadata', () => {\n const response: CacheAwareResponse<string[]> = {\n data: ['test1', 'test2'],\n cache: { hit: true, height: 123456 },\n logs: ['log1', 'log2']\n };\n \n expect(response.data).toEqual(['test1', 'test2']);\n expect(response.cache?.hit).toBe(true);\n expect(response.logs).toEqual(['log1', 'log2']);\n });\n\n it('should create cache aware response with all fields', () => {\n const response: CacheAwareResponse<string> = {\n data: 'test',\n cache: { hit: true, height: 123456 },\n logs: ['log1']\n };\n expect(response.data).toBe('test');\n expect(response.cache?.hit).toBe(true);\n expect(response.cache?.height).toBe(123456);\n expect(response.logs).toEqual(['log1']);\n });\n\n it('should allow response without cache metadata', () => {\n const response: CacheAwareResponse<string[]> = {\n data: ['test1', 'test2']\n };\n \n expect(response.data).toEqual(['test1', 'test2']);\n expect(response.cache).toBeUndefined();\n expect(response.logs).toBeUndefined();\n });\n });\n\n describe('GetRecordOptions', () => {\n it('should allow all valid options', () => {\n const options: GetRecordOptions = {\n from: 1609459200,\n to: 1609545600,\n frozenAt: 1609459200,\n baseTime: 1609459200,\n prefix: 'test_',\n useCache: true\n };\n \n expect(options.from).toBe(1609459200);\n expect(options.useCache).toBe(true);\n });\n\n it('should allow string baseTime', () => {\n const options: GetRecordOptions = {\n baseTime: '2021-01-01',\n useCache: false\n };\n \n expect(options.baseTime).toBe('2021-01-01');\n });\n\n it('should allow empty options', () => {\n const options: GetRecordOptions = {};\n expect(options.useCache).toBeUndefined();\n });\n });\n\n describe('GetIndexOptions', () => {\n it('should allow all valid options', () => {\n const options: GetIndexOptions = {\n from: 1609459200,\n to: 1609545600,\n frozenAt: 1609459200,\n baseTime: 1609459200,\n prefix: 'test_',\n useCache: true\n };\n \n expect(options.useCache).toBe(true);\n });\n });\n\n describe('GetIndexChangeOptions', () => {\n it('should allow all valid options including timeInterval', () => {\n const options: GetIndexChangeOptions = {\n from: 1609459200,\n to: 1609545600,\n frozenAt: 1609459200,\n baseTime: 1609459200,\n timeInterval: 3600,\n prefix: 'test_',\n useCache: true\n };\n \n expect(options.timeInterval).toBe(3600);\n expect(options.useCache).toBe(true);\n });\n\n it('should require timeInterval', () => {\n // This should compile - timeInterval is required\n const options: GetIndexChangeOptions = {\n timeInterval: 3600\n };\n \n expect(options.timeInterval).toBe(3600);\n });\n });\n\n describe('GetFirstRecordOptions', () => {\n it('should allow all valid options', () => {\n const options: GetFirstRecordOptions = {\n after: 1609459200,\n frozenAt: 1609459200,\n useCache: true\n };\n \n expect(options.after).toBe(1609459200);\n expect(options.useCache).toBe(true);\n });\n\n it('should allow empty options', () => {\n const options: GetFirstRecordOptions = {};\n expect(options.useCache).toBeUndefined();\n });\n });\n\n describe('CacheError', () => {\n it('should create error with message', () => {\n const error = new CacheError('Test error');\n expect(error.message).toBe('Test error');\n expect(error.name).toBe('CacheError');\n expect(error.cause).toBeUndefined();\n });\n\n it('should create error with cause', () => {\n const cause = new Error('Original error');\n const error = new CacheError('Test error', cause);\n expect(error.message).toBe('Test error');\n expect(error.name).toBe('CacheError');\n expect(error.cause).toBe(cause);\n });\n\n it('should be instanceof Error', () => {\n const error = new CacheError('Test error');\n expect(error instanceof Error).toBe(true);\n expect(error instanceof CacheError).toBe(true);\n });\n });\n});"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }