@subsquid/solana-stream 1.0.0-portal-api.d5861e → 1.0.0

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 (52) hide show
  1. package/lib/builder.d.ts +92 -0
  2. package/lib/builder.d.ts.map +1 -0
  3. package/lib/builder.js +182 -0
  4. package/lib/builder.js.map +1 -0
  5. package/lib/data/fields.d.ts.map +1 -1
  6. package/lib/data/fields.js +0 -14
  7. package/lib/data/fields.js.map +1 -1
  8. package/lib/data/model.d.ts +16 -6
  9. package/lib/data/model.d.ts.map +1 -1
  10. package/lib/data/model.js +5 -0
  11. package/lib/data/model.js.map +1 -1
  12. package/lib/data/request.d.ts +2 -3
  13. package/lib/data/request.d.ts.map +1 -1
  14. package/lib/data/type-util.d.ts +35 -13
  15. package/lib/data/type-util.d.ts.map +1 -1
  16. package/lib/index.d.ts +3 -0
  17. package/lib/index.d.ts.map +1 -1
  18. package/lib/index.js +3 -0
  19. package/lib/index.js.map +1 -1
  20. package/lib/{merge.test.d.ts.map → portal/merge.test.d.ts.map} +1 -1
  21. package/lib/{merge.test.js → portal/merge.test.js} +34 -34
  22. package/lib/portal/merge.test.js.map +1 -0
  23. package/lib/portal/source.d.ts +14 -11
  24. package/lib/portal/source.d.ts.map +1 -1
  25. package/lib/portal/source.js +75 -56
  26. package/lib/portal/source.js.map +1 -1
  27. package/lib/query.d.ts +53 -0
  28. package/lib/query.d.ts.map +1 -0
  29. package/lib/query.js +102 -0
  30. package/lib/query.js.map +1 -0
  31. package/lib/source.d.ts +2 -69
  32. package/lib/source.d.ts.map +1 -1
  33. package/lib/source.js +0 -265
  34. package/lib/source.js.map +1 -1
  35. package/package.json +18 -16
  36. package/src/builder.ts +205 -0
  37. package/src/data/fields.ts +0 -20
  38. package/src/data/model.ts +23 -27
  39. package/src/data/request.ts +2 -3
  40. package/src/data/type-util.ts +39 -37
  41. package/src/index.ts +3 -0
  42. package/src/{merge.test.ts → portal/merge.test.ts} +2 -2
  43. package/src/portal/source.ts +115 -98
  44. package/src/query.ts +112 -0
  45. package/src/source.ts +3 -314
  46. package/lib/merge.test.js.map +0 -1
  47. package/lib/portal/schema.d.ts +0 -167
  48. package/lib/portal/schema.d.ts.map +0 -1
  49. package/lib/portal/schema.js +0 -117
  50. package/lib/portal/schema.js.map +0 -1
  51. package/src/portal/schema.ts +0 -136
  52. /package/lib/{merge.test.d.ts → portal/merge.test.d.ts} +0 -0
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_test_1 = require("node:test");
6
+ const vitest_1 = require("vitest");
7
7
  const assert_1 = __importDefault(require("assert"));
8
- const merge_1 = require("./portal/merge");
9
- (0, node_test_1.describe)('mergeItems', function () {
10
- (0, node_test_1.describe)('instructions', function () {
11
- (0, node_test_1.it)('merges instructions with same discriminator but different programIds', function () {
8
+ const merge_1 = require("./merge");
9
+ (0, vitest_1.describe)('mergeItems', function () {
10
+ (0, vitest_1.describe)('instructions', function () {
11
+ (0, vitest_1.it)('merges instructions with same discriminator but different programIds', function () {
12
12
  let result = (0, merge_1.mergeItems)([
13
13
  { programId: ['ProgA'], discriminator: ['0x01'], transaction: true },
14
14
  { programId: ['ProgB'], discriminator: ['0x01'], transaction: true },
@@ -19,7 +19,7 @@ const merge_1 = require("./portal/merge");
19
19
  assert_1.default.deepStrictEqual(result[0].discriminator, ['0x01']);
20
20
  assert_1.default.strictEqual(result[0].transaction, true);
21
21
  });
22
- (0, node_test_1.it)('merges instructions with same programId but different discriminators', function () {
22
+ (0, vitest_1.it)('merges instructions with same programId but different discriminators', function () {
23
23
  let result = (0, merge_1.mergeItems)([
24
24
  { programId: ['ProgA'], discriminator: ['0x01'] },
25
25
  { programId: ['ProgA'], discriminator: ['0x02'] },
@@ -28,21 +28,21 @@ const merge_1 = require("./portal/merge");
28
28
  assert_1.default.deepStrictEqual(result[0].programId, ['ProgA']);
29
29
  assert_1.default.deepStrictEqual(result[0].discriminator?.sort(), ['0x01', '0x02']);
30
30
  });
31
- (0, node_test_1.it)('does not merge instructions differing in two filter fields', function () {
31
+ (0, vitest_1.it)('does not merge instructions differing in two filter fields', function () {
32
32
  let result = (0, merge_1.mergeItems)([
33
33
  { programId: ['ProgA'], discriminator: ['0x01'] },
34
34
  { programId: ['ProgB'], discriminator: ['0x02'] },
35
35
  ], merge_1.INSTRUCTION_FILTER_KEYS);
36
36
  assert_1.default.strictEqual(result.length, 2);
37
37
  });
38
- (0, node_test_1.it)('does not merge instructions with different relation flags', function () {
38
+ (0, vitest_1.it)('does not merge instructions with different relation flags', function () {
39
39
  let result = (0, merge_1.mergeItems)([
40
40
  { programId: ['ProgA'], discriminator: ['0x01'], transaction: true },
41
41
  { programId: ['ProgB'], discriminator: ['0x01'], logs: true },
42
42
  ], merge_1.INSTRUCTION_FILTER_KEYS);
43
43
  assert_1.default.strictEqual(result.length, 2);
44
44
  });
45
- (0, node_test_1.it)('merges instructions with same programId and account filters', function () {
45
+ (0, vitest_1.it)('merges instructions with same programId and account filters', function () {
46
46
  let result = (0, merge_1.mergeItems)([
47
47
  { programId: ['ProgA'], a0: ['Acc1'] },
48
48
  { programId: ['ProgA'], a0: ['Acc2'] },
@@ -51,7 +51,7 @@ const merge_1 = require("./portal/merge");
51
51
  assert_1.default.deepStrictEqual(result[0].programId, ['ProgA']);
52
52
  assert_1.default.deepStrictEqual(result[0].a0?.sort(), ['Acc1', 'Acc2']);
53
53
  });
54
- (0, node_test_1.it)('subsumes narrower filter when wider one has undefined programId', function () {
54
+ (0, vitest_1.it)('subsumes narrower filter when wider one has undefined programId', function () {
55
55
  let result = (0, merge_1.mergeItems)([
56
56
  { discriminator: ['0x01'] },
57
57
  { programId: ['ProgA'], discriminator: ['0x01'] },
@@ -60,7 +60,7 @@ const merge_1 = require("./portal/merge");
60
60
  assert_1.default.strictEqual(result[0].programId, undefined);
61
61
  assert_1.default.deepStrictEqual(result[0].discriminator, ['0x01']);
62
62
  });
63
- (0, node_test_1.it)('deduplicates identical requests', function () {
63
+ (0, vitest_1.it)('deduplicates identical requests', function () {
64
64
  let result = (0, merge_1.mergeItems)([
65
65
  { programId: ['ProgA'], discriminator: ['0x01'] },
66
66
  { programId: ['ProgA'], discriminator: ['0x01'] },
@@ -68,8 +68,8 @@ const merge_1 = require("./portal/merge");
68
68
  assert_1.default.strictEqual(result.length, 1);
69
69
  });
70
70
  });
71
- (0, node_test_1.describe)('logs', function () {
72
- (0, node_test_1.it)('merges logs with same kind but different programIds', function () {
71
+ (0, vitest_1.describe)('logs', function () {
72
+ (0, vitest_1.it)('merges logs with same kind but different programIds', function () {
73
73
  let result = (0, merge_1.mergeItems)([
74
74
  { programId: ['ProgA'], kind: ['log'], transaction: true },
75
75
  { programId: ['ProgB'], kind: ['log'], transaction: true },
@@ -79,7 +79,7 @@ const merge_1 = require("./portal/merge");
79
79
  assert_1.default.deepStrictEqual(result[0].kind, ['log']);
80
80
  assert_1.default.strictEqual(result[0].transaction, true);
81
81
  });
82
- (0, node_test_1.it)('merges logs with same programId but different kinds', function () {
82
+ (0, vitest_1.it)('merges logs with same programId but different kinds', function () {
83
83
  let result = (0, merge_1.mergeItems)([
84
84
  { programId: ['ProgA'], kind: ['log'] },
85
85
  { programId: ['ProgA'], kind: ['data'] },
@@ -88,14 +88,14 @@ const merge_1 = require("./portal/merge");
88
88
  assert_1.default.deepStrictEqual(result[0].programId, ['ProgA']);
89
89
  assert_1.default.deepStrictEqual(result[0].kind?.sort(), ['data', 'log']);
90
90
  });
91
- (0, node_test_1.it)('does not merge logs differing in two filter fields', function () {
91
+ (0, vitest_1.it)('does not merge logs differing in two filter fields', function () {
92
92
  let result = (0, merge_1.mergeItems)([
93
93
  { programId: ['ProgA'], kind: ['log'] },
94
94
  { programId: ['ProgB'], kind: ['data'] },
95
95
  ], merge_1.LOG_FILTER_KEYS);
96
96
  assert_1.default.strictEqual(result.length, 2);
97
97
  });
98
- (0, node_test_1.it)('does not merge logs with different relation flags', function () {
98
+ (0, vitest_1.it)('does not merge logs with different relation flags', function () {
99
99
  let result = (0, merge_1.mergeItems)([
100
100
  { programId: ['ProgA'], transaction: true },
101
101
  { programId: ['ProgB'], instruction: true },
@@ -103,8 +103,8 @@ const merge_1 = require("./portal/merge");
103
103
  assert_1.default.strictEqual(result.length, 2);
104
104
  });
105
105
  });
106
- (0, node_test_1.describe)('transactions', function () {
107
- (0, node_test_1.it)('merges transactions with different feePayers', function () {
106
+ (0, vitest_1.describe)('transactions', function () {
107
+ (0, vitest_1.it)('merges transactions with different feePayers', function () {
108
108
  let result = (0, merge_1.mergeItems)([
109
109
  { feePayer: ['PayerA'], instructions: true },
110
110
  { feePayer: ['PayerB'], instructions: true },
@@ -113,7 +113,7 @@ const merge_1 = require("./portal/merge");
113
113
  assert_1.default.deepStrictEqual(result[0].feePayer?.sort(), ['PayerA', 'PayerB']);
114
114
  assert_1.default.strictEqual(result[0].instructions, true);
115
115
  });
116
- (0, node_test_1.it)('does not merge transactions with different relation flags', function () {
116
+ (0, vitest_1.it)('does not merge transactions with different relation flags', function () {
117
117
  let result = (0, merge_1.mergeItems)([
118
118
  { feePayer: ['PayerA'], instructions: true },
119
119
  { feePayer: ['PayerB'], logs: true },
@@ -121,8 +121,8 @@ const merge_1 = require("./portal/merge");
121
121
  assert_1.default.strictEqual(result.length, 2);
122
122
  });
123
123
  });
124
- (0, node_test_1.describe)('balances', function () {
125
- (0, node_test_1.it)('merges balances with different accounts', function () {
124
+ (0, vitest_1.describe)('balances', function () {
125
+ (0, vitest_1.it)('merges balances with different accounts', function () {
126
126
  let result = (0, merge_1.mergeItems)([
127
127
  { account: ['Acc1'], transaction: true },
128
128
  { account: ['Acc2'], transaction: true },
@@ -131,14 +131,14 @@ const merge_1 = require("./portal/merge");
131
131
  assert_1.default.deepStrictEqual(result[0].account?.sort(), ['Acc1', 'Acc2']);
132
132
  assert_1.default.strictEqual(result[0].transaction, true);
133
133
  });
134
- (0, node_test_1.it)('does not merge balances with different relation flags', function () {
134
+ (0, vitest_1.it)('does not merge balances with different relation flags', function () {
135
135
  let result = (0, merge_1.mergeItems)([
136
136
  { account: ['Acc1'], transaction: true },
137
137
  { account: ['Acc2'], transactionInstructions: true },
138
138
  ], merge_1.BALANCE_FILTER_KEYS);
139
139
  assert_1.default.strictEqual(result.length, 2);
140
140
  });
141
- (0, node_test_1.it)('deduplicates accounts across merged requests', function () {
141
+ (0, vitest_1.it)('deduplicates accounts across merged requests', function () {
142
142
  let result = (0, merge_1.mergeItems)([
143
143
  { account: ['Acc1', 'Acc2'] },
144
144
  { account: ['Acc2', 'Acc3'] },
@@ -147,8 +147,8 @@ const merge_1 = require("./portal/merge");
147
147
  assert_1.default.deepStrictEqual(result[0].account?.sort(), ['Acc1', 'Acc2', 'Acc3']);
148
148
  });
149
149
  });
150
- (0, node_test_1.describe)('tokenBalances', function () {
151
- (0, node_test_1.it)('merges tokenBalances with same mint but different accounts', function () {
150
+ (0, vitest_1.describe)('tokenBalances', function () {
151
+ (0, vitest_1.it)('merges tokenBalances with same mint but different accounts', function () {
152
152
  let result = (0, merge_1.mergeItems)([
153
153
  { account: ['Acc1'], preMint: ['MintA'] },
154
154
  { account: ['Acc2'], preMint: ['MintA'] },
@@ -157,14 +157,14 @@ const merge_1 = require("./portal/merge");
157
157
  assert_1.default.deepStrictEqual(result[0].account?.sort(), ['Acc1', 'Acc2']);
158
158
  assert_1.default.deepStrictEqual(result[0].preMint, ['MintA']);
159
159
  });
160
- (0, node_test_1.it)('does not merge tokenBalances differing in two filter fields', function () {
160
+ (0, vitest_1.it)('does not merge tokenBalances differing in two filter fields', function () {
161
161
  let result = (0, merge_1.mergeItems)([
162
162
  { account: ['Acc1'], preMint: ['MintA'] },
163
163
  { account: ['Acc2'], preMint: ['MintB'] },
164
164
  ], merge_1.TOKEN_BALANCE_FILTER_KEYS);
165
165
  assert_1.default.strictEqual(result.length, 2);
166
166
  });
167
- (0, node_test_1.it)('merges tokenBalances with same account but different mints', function () {
167
+ (0, vitest_1.it)('merges tokenBalances with same account but different mints', function () {
168
168
  let result = (0, merge_1.mergeItems)([
169
169
  { account: ['Acc1'], preMint: ['MintA'] },
170
170
  { account: ['Acc1'], preMint: ['MintB'] },
@@ -174,8 +174,8 @@ const merge_1 = require("./portal/merge");
174
174
  assert_1.default.deepStrictEqual(result[0].preMint?.sort(), ['MintA', 'MintB']);
175
175
  });
176
176
  });
177
- (0, node_test_1.describe)('rewards', function () {
178
- (0, node_test_1.it)('merges rewards with different pubkeys', function () {
177
+ (0, vitest_1.describe)('rewards', function () {
178
+ (0, vitest_1.it)('merges rewards with different pubkeys', function () {
179
179
  let result = (0, merge_1.mergeItems)([
180
180
  { pubkey: ['PubA'] },
181
181
  { pubkey: ['PubB'] },
@@ -183,7 +183,7 @@ const merge_1 = require("./portal/merge");
183
183
  assert_1.default.strictEqual(result.length, 1);
184
184
  assert_1.default.deepStrictEqual(result[0].pubkey?.sort(), ['PubA', 'PubB']);
185
185
  });
186
- (0, node_test_1.it)('deduplicates identical reward requests', function () {
186
+ (0, vitest_1.it)('deduplicates identical reward requests', function () {
187
187
  let result = (0, merge_1.mergeItems)([
188
188
  { pubkey: ['PubA'] },
189
189
  { pubkey: ['PubA'] },
@@ -192,19 +192,19 @@ const merge_1 = require("./portal/merge");
192
192
  assert_1.default.deepStrictEqual(result[0].pubkey, ['PubA']);
193
193
  });
194
194
  });
195
- (0, node_test_1.describe)('general', function () {
196
- (0, node_test_1.it)('returns single request as-is', function () {
195
+ (0, vitest_1.describe)('general', function () {
196
+ (0, vitest_1.it)('returns single request as-is', function () {
197
197
  let result = (0, merge_1.mergeItems)([
198
198
  { programId: ['ProgA'], transaction: true },
199
199
  ], merge_1.INSTRUCTION_FILTER_KEYS);
200
200
  assert_1.default.strictEqual(result.length, 1);
201
201
  assert_1.default.deepStrictEqual(result[0].programId, ['ProgA']);
202
202
  });
203
- (0, node_test_1.it)('handles empty array', function () {
203
+ (0, vitest_1.it)('handles empty array', function () {
204
204
  let result = (0, merge_1.mergeItems)([], merge_1.INSTRUCTION_FILTER_KEYS);
205
205
  assert_1.default.deepStrictEqual(result, []);
206
206
  });
207
- (0, node_test_1.it)('performs multi-pass merging', function () {
207
+ (0, vitest_1.it)('performs multi-pass merging', function () {
208
208
  let result = (0, merge_1.mergeItems)([
209
209
  { programId: ['ProgA'], discriminator: ['0x01'] },
210
210
  { programId: ['ProgB'], discriminator: ['0x02'] },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.test.js","sourceRoot":"","sources":["../../src/portal/merge.test.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,28 @@
1
1
  import { PortalClient, solana } from '@subsquid/portal-client';
2
- import { BlockRef, DataSource, DataSourceStreamOptions, type BlockBatch, TemplateRegistry } from '@subsquid/util-internal-data-source';
2
+ import { BlockBatch, BlockRef, StreamRequest } from '@subsquid/util-internal-data-source';
3
3
  import { FiniteRange, RangeRequestList } from '@subsquid/util-internal-range';
4
4
  import { Block, FieldSelection } from '../data/model';
5
5
  import { DataRequest } from '../data/request';
6
- export type RangeRequestResolver<F extends FieldSelection> = RangeRequestList<DataRequest<F>> | ((registry?: TemplateRegistry) => RangeRequestList<DataRequest<F>>);
7
- export declare class PortalDataSource<F extends FieldSelection> implements DataSource<Block<F>> {
6
+ import type { SolanaDataSource } from '../source';
7
+ export type RangeRequestResolver = RangeRequestList<DataRequest> | (() => RangeRequestList<DataRequest>);
8
+ export declare class PortalSolanaDataSource<F extends FieldSelection> implements SolanaDataSource<F> {
8
9
  private client;
10
+ private fields;
9
11
  private requests;
10
12
  private opts?;
11
- constructor(client: PortalClient, requests: RangeRequestResolver<F>, opts?: {
13
+ constructor(client: PortalClient, fields: FieldSelection, requests: RangeRequestResolver, opts?: {
12
14
  squidId?: string;
13
15
  } | undefined);
14
- getHead(): Promise<BlockRef | undefined>;
15
- getFinalizedHead(): Promise<BlockRef | undefined>;
16
- getFinalizedStream(opts?: DataSourceStreamOptions): AsyncIterable<BlockBatch<Block<F>>>;
17
- getStream(opts?: DataSourceStreamOptions): AsyncIterable<BlockBatch<Block<F>>>;
16
+ getHead(): Promise<BlockRef>;
17
+ getFinalizedHead(): Promise<BlockRef>;
18
+ getFinalizedStream(opts?: StreamRequest): AsyncIterable<BlockBatch<Block<F>>>;
19
+ getStream(opts?: StreamRequest): AsyncIterable<BlockBatch<Block<F>>>;
18
20
  getBlocksCountInRange(range: FiniteRange): number;
19
21
  private resolveRequests;
20
22
  private _getStream;
21
23
  private getHeaders;
22
24
  }
23
- declare function mapFieldSelection<F extends FieldSelection>(fields?: F): {
25
+ declare function mapFieldSelection(fields: FieldSelection): {
24
26
  block: import("../data/type-util").Selector<"height" | "parentNumber" | "timestamp"> | undefined;
25
27
  transaction: {
26
28
  transactionIndex: true;
@@ -34,6 +36,7 @@ declare function mapFieldSelection<F extends FieldSelection>(fields?: F): {
34
36
  signatures?: boolean | undefined;
35
37
  err?: boolean | undefined;
36
38
  computeUnitsConsumed?: boolean | undefined;
39
+ costUnits?: boolean | undefined;
37
40
  fee?: boolean | undefined;
38
41
  loadedAddresses?: boolean | undefined;
39
42
  hasDroppedLogMessages?: boolean | undefined;
@@ -85,7 +88,7 @@ declare function mapFieldSelection<F extends FieldSelection>(fields?: F): {
85
88
  commission?: boolean | undefined;
86
89
  };
87
90
  };
88
- type MapFieldSelection<F extends FieldSelection> = ReturnType<typeof mapFieldSelection<F>>;
89
- export declare function mapBlock<F extends FieldSelection>(rawBlock: solana.Block<MapFieldSelection<F>>): Block<F>;
91
+ type MapFieldSelection = ReturnType<typeof mapFieldSelection>;
92
+ export declare function mapBlock<F extends FieldSelection>(rawBlock: solana.Block<MapFieldSelection>): Block<F>;
90
93
  export {};
91
94
  //# sourceMappingURL=source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/portal/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,YAAY,EAAE,MAAM,EAAC,MAAM,yBAAyB,CAAA;AAEtG,OAAO,EACH,QAAQ,EACR,UAAU,EACV,uBAAuB,EAEvB,KAAK,UAAU,EACf,gBAAgB,EACnB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAkB,WAAW,EAAW,gBAAgB,EAAoB,MAAM,+BAA+B,CAAA;AACxH,OAAO,EACH,KAAK,EACL,cAAc,EAQjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAY3C,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,cAAc,IACnD,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAChC,CAAC,CAAC,QAAQ,CAAC,EAAE,gBAAgB,KAAK,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEzE,qBAAa,gBAAgB,CAAC,CAAC,SAAS,cAAc,CAAE,YAAW,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/E,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,IAAI,CAAC;gBAFL,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,EACjC,IAAI,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,YAAA;IAGrC,OAAO,IAAI,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAIxC,gBAAgB,IAAI,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAIjD,kBAAkB,CAAC,IAAI,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAIvF,SAAS,CAAC,IAAI,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAI9E,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;IAIjD,OAAO,CAAC,eAAe;YAIR,UAAU;IA6DzB,OAAO,CAAC,UAAU;CAGrB;AAmCD,iBAAS,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU9D;AAED,KAAK,iBAAiB,CAAC,CAAC,SAAS,cAAc,IAAI,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1F,wBAAgB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CA8CzG"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/portal/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,YAAY,EAAE,MAAM,EAAC,MAAM,yBAAyB,CAAA;AAEtG,OAAO,EACH,UAAU,EACV,QAAQ,EAER,aAAa,EAChB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAEH,WAAW,EAGX,gBAAgB,EACnB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,eAAe,CAAA;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAU3C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAA;AAE/C,MAAM,MAAM,oBAAoB,GAC1B,gBAAgB,CAAC,WAAW,CAAC,GAC7B,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAA;AAE3C,qBAAa,sBAAsB,CAAC,CAAC,SAAS,cAAc,CAAE,YAAW,gBAAgB,CAAC,CAAC,CAAC;IAEpF,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,IAAI,CAAC;gBAHL,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,YAAA;IAG/B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAM5B,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAM3C,kBAAkB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAI7E,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAIpE,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;IAOjD,OAAO,CAAC,eAAe;YAIR,UAAU;IA0EzB,OAAO,CAAC,UAAU;CAGrB;AAoCD,iBAAS,iBAAiB,CAAC,MAAM,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhD;AAED,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE7D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CA8CtG"}
@@ -3,25 +3,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PortalDataSource = void 0;
6
+ exports.PortalSolanaDataSource = void 0;
7
7
  exports.mapBlock = mapBlock;
8
8
  const portal_client_1 = require("@subsquid/portal-client");
9
9
  const util_internal_1 = require("@subsquid/util-internal");
10
10
  const util_internal_data_source_1 = require("@subsquid/util-internal-data-source");
11
11
  const util_internal_range_1 = require("@subsquid/util-internal-range");
12
- const merge_1 = require("./merge");
13
12
  const assert_1 = __importDefault(require("assert"));
14
- class PortalDataSource {
15
- constructor(client, requests, opts) {
13
+ const merge_1 = require("./merge");
14
+ class PortalSolanaDataSource {
15
+ constructor(client, fields, requests, opts) {
16
16
  this.client = client;
17
+ this.fields = fields;
17
18
  this.requests = requests;
18
19
  this.opts = opts;
19
20
  }
20
- getHead() {
21
- return this.client.getHead({ headers: this.getHeaders() });
21
+ async getHead() {
22
+ let head = await this.client.getHead({ headers: this.getHeaders() });
23
+ (0, assert_1.default)(head, 'portal has no chain head');
24
+ return head;
22
25
  }
23
- getFinalizedHead() {
24
- return this.client.getFinalizedHead({ headers: this.getHeaders() });
26
+ async getFinalizedHead() {
27
+ let head = await this.client.getFinalizedHead({ headers: this.getHeaders() });
28
+ (0, assert_1.default)(head, 'portal has no finalized head');
29
+ return head;
25
30
  }
26
31
  getFinalizedStream(opts) {
27
32
  return this._getStream(opts, true);
@@ -30,70 +35,84 @@ class PortalDataSource {
30
35
  return this._getStream(opts, false);
31
36
  }
32
37
  getBlocksCountInRange(range) {
33
- return (0, util_internal_range_1.getSize)(this.resolveRequests().map(r => r.range), range);
38
+ return (0, util_internal_range_1.getSize)(this.resolveRequests().map((r) => r.range), range);
34
39
  }
35
- resolveRequests(registry) {
36
- return typeof this.requests === 'function' ? this.requests(registry) : this.requests;
40
+ resolveRequests() {
41
+ return typeof this.requests === 'function' ? this.requests() : this.requests;
37
42
  }
38
43
  async *_getStream(opts, finalized) {
39
- let requests = (0, util_internal_range_1.applyRangeBound)(this.resolveRequests(opts?.templateRegistry), opts?.from != null ? { from: opts.from } : undefined);
44
+ let requests = (0, util_internal_range_1.applyRangeBound)(this.resolveRequests(), opts?.from != null ? { from: opts.from } : undefined);
40
45
  if (requests.length === 0)
41
46
  return;
42
47
  let streamOptions = { request: { headers: this.getHeaders() } };
43
48
  let parentHash = opts?.parentHash;
44
- for (let i = 0; i < requests.length; i++) {
45
- let req = requests[i];
46
- let query = mapRequest(req, parentHash);
47
- let stream = this.client.getStream(query, streamOptions, finalized);
48
- try {
49
- for await (let { blocks, meta } of stream) {
50
- yield {
51
- blocks: blocks.map((block) => mapBlock(block)),
52
- finalizedHead: getHead(meta.finalizedHeadNumber, meta.finalizedHeadHash),
53
- };
54
- let lastBlock = (0, util_internal_1.maybeLast)(blocks)?.header;
55
- if (lastBlock != null) {
56
- parentHash = lastBlock.hash;
57
- }
49
+ let nextBlock = opts?.from;
50
+ // Stream a request from the portal and keep (parentHash, nextBlock)
51
+ // in sync with the last block of every batch.
52
+ let drain = async function* (req) {
53
+ for await (let { blocks, meta } of this.client.getStream(mapRequest(req, this.fields, parentHash), streamOptions, finalized)) {
54
+ yield {
55
+ blocks: blocks.map((block) => mapBlock(block)),
56
+ finalizedHead: getHead(meta.finalizedHeadNumber, meta.finalizedHeadHash),
57
+ };
58
+ let lastBlock = (0, util_internal_1.maybeLast)(blocks)?.header;
59
+ if (lastBlock != null) {
60
+ parentHash = lastBlock.hash;
61
+ nextBlock = lastBlock.number + 1;
58
62
  }
59
- // finalize range
60
- (0, assert_1.default)(req.range.to != null);
61
- let nextReq = requests[i + 1];
62
- let gapRange = { from: req.range.to + 1, to: nextReq ? nextReq.range.from - 1 : undefined };
63
- if (gapRange.from === gapRange.to)
64
- continue;
65
- for await (let { blocks, meta } of this.client.getStream(mapRequest({ range: gapRange, request: { fields: req.request.fields } }, parentHash), streamOptions, finalized)) {
66
- let finalizedHead = getHead(meta.finalizedHeadNumber, meta.finalizedHeadHash);
67
- if (finalizedHead && req.range.to <= finalizedHead.number) {
68
- parentHash = undefined;
69
- break;
70
- }
71
- let lastBlock = (0, util_internal_1.maybeLast)(blocks)?.header;
72
- if (lastBlock != null) {
73
- parentHash = lastBlock.hash;
74
- }
63
+ }
64
+ }.bind(this);
65
+ // Advance the stream until the given block becomes finalized, after
66
+ // which chain-continuity info is no longer needed and is dropped.
67
+ // When `to` is undefined the stream is open-ended and we wait on the
68
+ // current tail (nextBlock - 1).
69
+ let finalize = async (to) => {
70
+ if (nextBlock == null)
71
+ return;
72
+ if (to != null && nextBlock > to)
73
+ return;
74
+ let target = to ?? nextBlock - 1;
75
+ for await (let { finalizedHead } of drain({ range: { from: nextBlock, to }, request: {} })) {
76
+ if (finalizedHead && target <= finalizedHead.number) {
77
+ parentHash = undefined;
78
+ nextBlock = undefined;
79
+ return;
75
80
  }
76
81
  }
77
- catch (e) {
78
- if ((0, portal_client_1.isForkException)(e)) {
79
- throw new util_internal_data_source_1.ForkException(e.blockNumber, e.parentBlockHash, e.previousBlocks);
82
+ };
83
+ try {
84
+ for (let req of requests) {
85
+ // Close any gap preceding this query so parentHash lands on
86
+ // req.range.from (or is safely dropped).
87
+ await finalize(req.range.from - 1);
88
+ if (nextBlock !== req.range.from) {
89
+ parentHash = undefined;
80
90
  }
81
- throw e;
91
+ yield* drain(req);
92
+ }
93
+ // After the last query, wait for its range to finalize before
94
+ // ending the stream.
95
+ await finalize();
96
+ }
97
+ catch (e) {
98
+ if ((0, portal_client_1.isForkException)(e)) {
99
+ throw new util_internal_data_source_1.ForkException(e.blockNumber, e.parentBlockHash, e.previousBlocks);
82
100
  }
101
+ throw e;
83
102
  }
84
103
  }
85
104
  getHeaders() {
86
105
  return this.opts?.squidId ? { 'x-squid-id': this.opts.squidId } : undefined;
87
106
  }
88
107
  }
89
- exports.PortalDataSource = PortalDataSource;
108
+ exports.PortalSolanaDataSource = PortalSolanaDataSource;
90
109
  function getHead(number, hash) {
91
110
  if (number == null || hash == null) {
92
111
  return undefined;
93
112
  }
94
113
  return { number, hash };
95
114
  }
96
- function mapRequest(req, parentBlockHash) {
115
+ function mapRequest(req, fields, parentBlockHash) {
97
116
  let transactions = req.request.transactions?.map((tx) => ({ ...tx.where, ...tx.include }));
98
117
  let instructions = req.request.instructions?.map((ix) => ({ ...ix.where, ...ix.include }));
99
118
  let logs = req.request.logs?.map((log) => ({ ...log.where, ...log.include }));
@@ -105,7 +124,7 @@ function mapRequest(req, parentBlockHash) {
105
124
  fromBlock: req.range.from,
106
125
  toBlock: req.range.to === Infinity ? undefined : req.range.to,
107
126
  parentBlockHash: parentBlockHash,
108
- fields: mapFieldSelection(req.request.fields),
127
+ fields: mapFieldSelection(fields),
109
128
  includeAllBlocks: req.request.includeAllBlocks,
110
129
  transactions: transactions && (0, merge_1.mergeItems)(transactions, merge_1.TX_FILTER_KEYS),
111
130
  instructions: instructions && (0, merge_1.mergeItems)(instructions, merge_1.INSTRUCTION_FILTER_KEYS),
@@ -117,13 +136,13 @@ function mapRequest(req, parentBlockHash) {
117
136
  }
118
137
  function mapFieldSelection(fields) {
119
138
  return {
120
- block: fields?.block,
121
- transaction: { ...fields?.transaction, transactionIndex: true },
122
- instruction: { ...fields?.instruction, transactionIndex: true, instructionAddress: true },
123
- log: { ...fields?.log, logIndex: true, transactionIndex: true, instructionAddress: true },
124
- balance: { ...fields?.balance, transactionIndex: true, account: true },
125
- tokenBalance: { ...fields?.tokenBalance, transactionIndex: true, account: true },
126
- reward: { ...fields?.reward, pubkey: true },
139
+ block: fields.block,
140
+ transaction: { ...fields.transaction, transactionIndex: true },
141
+ instruction: { ...fields.instruction, transactionIndex: true, instructionAddress: true },
142
+ log: { ...fields.log, logIndex: true, transactionIndex: true, instructionAddress: true },
143
+ balance: { ...fields.balance, transactionIndex: true, account: true },
144
+ tokenBalance: { ...fields.tokenBalance, transactionIndex: true, account: true },
145
+ reward: { ...fields.reward, pubkey: true },
127
146
  };
128
147
  }
129
148
  function mapBlock(rawBlock) {
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/portal/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/portal/source.ts"],"names":[],"mappings":"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"}
package/lib/query.d.ts ADDED
@@ -0,0 +1,53 @@
1
+ import type { Range, RangeRequest } from '@subsquid/util-internal-range';
2
+ import type { BalanceRequest, DataRequest, InstructionRequest, LogRequest, RewardRequest, TokenBalanceRequest, TransactionRequest } from './data/request';
3
+ /**
4
+ * A single portal query - a set of item filters that share a block range.
5
+ *
6
+ * Produced by {@link QueryBuilder#build} and consumed by
7
+ * {@link DataSourceBuilder#addQuery}.
8
+ */
9
+ export type Query = RangeRequest<DataRequest>;
10
+ /**
11
+ * Builder for a single portal query - a set of item filters that share a block range.
12
+ *
13
+ * Pass a {@link QueryBuilder} or the result of {@link QueryBuilder#build}
14
+ * to {@link DataSourceBuilder#addQuery} to register the query.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * let query = new QueryBuilder()
19
+ * .setRange({from: 250_000_000})
20
+ * .addInstruction({where: {programId: [PROGRAM_ID]}, include: {logs: true}})
21
+ * .addTransaction({where: {feePayer: [FEE_PAYER]}})
22
+ *
23
+ * dataSource.addQuery(query)
24
+ * ```
25
+ */
26
+ export declare class QueryBuilder {
27
+ private _range;
28
+ private _request;
29
+ /**
30
+ * Restrict this query to the given block range.
31
+ *
32
+ * When omitted, the query applies from block 0 onwards.
33
+ */
34
+ setRange(range: Range): this;
35
+ /**
36
+ * Fetch every block in the query's range, even blocks without any
37
+ * matching items. Without this flag such blocks may be omitted.
38
+ */
39
+ includeAllBlocks(): this;
40
+ addTransaction(options: TransactionRequest): this;
41
+ addInstruction(options: InstructionRequest): this;
42
+ addLog(options: LogRequest): this;
43
+ addBalance(options: BalanceRequest): this;
44
+ addTokenBalance(options: TokenBalanceRequest): this;
45
+ addReward(options: RewardRequest): this;
46
+ /**
47
+ * Produce an immutable {@link Query} describing the configured range
48
+ * and filters. Subsequent mutations of this builder do not affect
49
+ * the returned object.
50
+ */
51
+ build(): Query;
52
+ }
53
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,YAAY,EAAC,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EACR,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACrB,MAAM,gBAAgB,CAAA;AAEvB;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAkB;IAElC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK5B;;;OAGG;IACH,gBAAgB,IAAI,IAAI;IAKxB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAKjD,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAKjD,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAKjC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAKzC,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAKnD,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKvC;;;;OAIG;IACH,KAAK,IAAI,KAAK;CAMjB"}