@subsquid/solana-stream 0.1.3-portal-api.a46751 → 0.1.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/archive/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gCAAgC,CAAA;AAC1D,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAC,aAAa,EAAC,MAAM,wCAAwC,CAAA;AAEpE,OAAO,EAAoC,gBAAgB,EAAC,MAAM,+BAA+B,CAAA;AAGjG,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAI3C,qBAAa,aAAa;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAgB9D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAyBnD,cAAc,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;CAkDlI"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/archive/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gCAAgC,CAAA;AAC1D,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAC,aAAa,EAAC,MAAM,wCAAwC,CAAA;AAEpE,OAAO,EAAoC,gBAAgB,EAAC,MAAM,+BAA+B,CAAA;AAGjG,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAI3C,qBAAa,aAAa;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAW9D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuBnD,cAAc,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;CAkDlI"}
@@ -22,11 +22,6 @@ class SolanaArchive {
22
22
  type: 'solana',
23
23
  fromBlock: height,
24
24
  toBlock: height,
25
- fields: {
26
- block: {
27
- hash: true,
28
- }
29
- },
30
25
  includeAllBlocks: true
31
26
  });
32
27
  (0, assert_1.default)(blocks.length == 1);
@@ -40,8 +35,6 @@ class SolanaArchive {
40
35
  includeAllBlocks: true,
41
36
  fields: {
42
37
  block: {
43
- hash: true,
44
- number: true,
45
38
  slot: true,
46
39
  parentSlot: true,
47
40
  parentHash: true,
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/archive/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/archive/source.ts"],"names":[],"mappings":"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"}
package/lib/source.d.ts CHANGED
@@ -13,19 +13,6 @@ export interface GatewaySettings {
13
13
  */
14
14
  requestTimeout?: number;
15
15
  }
16
- export interface PortalSettings {
17
- /**
18
- * Subsquid Network Gateway url
19
- */
20
- url: string;
21
- /**
22
- * Request timeout in ms
23
- */
24
- requestTimeout?: number;
25
- retryAttempts?: number;
26
- bufferThreshold?: number;
27
- newBlockTimeout?: number;
28
- }
29
16
  export interface RpcSettings {
30
17
  /**
31
18
  * RPC client
@@ -77,7 +64,6 @@ export declare class DataSourceBuilder<F extends FieldSelection = {}> {
77
64
  * source.setGateway('https://v2.archive.subsquid.io/network/solana-mainnet')
78
65
  */
79
66
  setGateway(url: string | GatewaySettings): this;
80
- setPortal(url: string | PortalSettings): this;
81
67
  /**
82
68
  * Set up RPC data ingestion
83
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AAIrD,OAAO,EAEH,WAAW,EAGX,KAAK,EAGR,MAAM,+BAA+B,CAAA;AAItC,OAAO,EAAC,KAAK,EAAe,cAAc,EAAC,MAAM,cAAc,CAAA;AAE/D,OAAO,EACH,cAAc,EAEd,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACrB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAA;AAI5C,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B;AAGD,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;;;;;;;OAYG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CACpC;AAGD,UAAU,UAAU;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAGD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,cAAc,GAAG,EAAE;IACxD,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,MAAM,CAAC,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAO;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,OAAO,CAAC,GAAG,CAAC,CAAa;IAEzB;;;;;;;;OAQG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAS/C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IAKpC;;;;OAIG;IACH,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAKlC;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAKpE,OAAO,CAAC,GAAG;IAOX;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAKrC,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,GAAG,IAAI;IAQ9D,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,GAAG,IAAI;IAQ9D,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAQ9C,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IAQtD,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,UAAU,GAAG,IAAI;IAQhE,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI;IAQpD,OAAO,CAAC,WAAW;IAuCnB,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAOhC;AAGD,MAAM,WAAW,UAAU,CAAC,KAAK;IAC7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA;IAC9D,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAA;IACjD,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,CAAA;CACnE;AAGD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
package/lib/source.js CHANGED
@@ -22,8 +22,6 @@ const assert_1 = __importDefault(require("assert"));
22
22
  const source_1 = require("./archive/source");
23
23
  const fields_1 = require("./data/fields");
24
24
  const source_2 = require("./rpc/source");
25
- const portal_1 = require("./archive/portal");
26
- const portal_client_1 = require("@subsquid/portal-client");
27
25
  class DataSourceBuilder {
28
26
  constructor() {
29
27
  this.requests = [];
@@ -38,22 +36,11 @@ class DataSourceBuilder {
38
36
  * source.setGateway('https://v2.archive.subsquid.io/network/solana-mainnet')
39
37
  */
40
38
  setGateway(url) {
41
- (0, assert_1.default)(this.archive?.type !== 'gateway', '.setGateway() can not be used together with .setPortal()');
42
39
  if (typeof url == 'string') {
43
- this.archive = { url, type: 'gateway' };
40
+ this.archive = { url };
44
41
  }
45
42
  else {
46
- this.archive = { ...url, type: 'gateway' };
47
- }
48
- return this;
49
- }
50
- setPortal(url) {
51
- (0, assert_1.default)(this.archive?.type !== 'gateway', '.setPortal() can not be used together with .setGateway()');
52
- if (typeof url == 'string') {
53
- this.archive = { url, type: 'portal', };
54
- }
55
- else {
56
- this.archive = { ...url, type: 'portal' };
43
+ this.archive = url;
57
44
  }
58
45
  return this;
59
46
  }
@@ -204,11 +191,11 @@ class SolanaDataSource {
204
191
  }
205
192
  else {
206
193
  let archive = this.createArchive();
207
- let hash = await archive.getBlockHash(height);
208
- if (hash == null && this.rpc) {
209
- hash = await this.rpc.getBlockHash(height);
210
- }
211
- return hash;
194
+ let head = await archive.getFinalizedHeight();
195
+ if (head >= height)
196
+ return archive.getBlockHash(height);
197
+ if (this.rpc)
198
+ return this.rpc.getBlockHash(height);
212
199
  }
213
200
  }
214
201
  async assertConsistency() {
@@ -268,31 +255,17 @@ class SolanaDataSource {
268
255
  }
269
256
  createArchive(agent) {
270
257
  (0, assert_1.default)(this.archiveSettings);
271
- let headers = {
272
- 'x-squid-id': this.getSquidId(),
273
- };
274
- return this.archiveSettings.type === 'gateway'
275
- ? new source_1.SolanaArchive(new util_internal_archive_client_1.ArchiveClient({
276
- http: new http_client_1.HttpClient({
277
- headers: {
278
- 'x-squid-id': this.getSquidId(),
279
- },
280
- agent,
281
- }),
282
- url: this.archiveSettings.url,
283
- queryTimeout: this.archiveSettings.requestTimeout,
284
- }))
285
- : new portal_1.SolanaPortal(new portal_client_1.PortalClient({
286
- http: new http_client_1.HttpClient({
287
- headers,
288
- agent,
289
- httpTimeout: this.archiveSettings.requestTimeout,
290
- retryAttempts: this.archiveSettings.retryAttempts,
291
- }),
292
- url: this.archiveSettings.url,
293
- minBytes: this.archiveSettings.bufferThreshold,
294
- maxIdleTime: this.archiveSettings.newBlockTimeout,
295
- }));
258
+ let http = new http_client_1.HttpClient({
259
+ headers: {
260
+ 'x-squid-id': this.getSquidId()
261
+ },
262
+ agent
263
+ });
264
+ return new source_1.SolanaArchive(new util_internal_archive_client_1.ArchiveClient({
265
+ http,
266
+ url: this.archiveSettings.url,
267
+ queryTimeout: this.archiveSettings.requestTimeout,
268
+ }));
296
269
  }
297
270
  getSquidId() {
298
271
  return (0, util_internal_processor_tools_1.getOrGenerateSquidId)();
package/lib/source.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subsquid/solana-stream",
3
- "version": "0.1.3-portal-api.a46751",
3
+ "version": "0.1.4",
4
4
  "description": "Solana block data streamer",
5
5
  "license": "GPL-3.0-or-later",
6
6
  "repository": "git@github.com:subsquid/squid.git",
@@ -14,10 +14,10 @@
14
14
  "main": "lib/index.js",
15
15
  "dependencies": {
16
16
  "@subsquid/http-client": "^1.6.0",
17
- "@subsquid/logger": "^1.3.3",
17
+ "@subsquid/logger": "^1.4.0",
18
18
  "@subsquid/rpc-client": "^4.11.0",
19
- "@subsquid/solana-normalization": "^0.0.3",
20
- "@subsquid/solana-rpc": "0.0.4-portal-api.a46751",
19
+ "@subsquid/solana-normalization": "^0.0.4",
20
+ "@subsquid/solana-rpc": "^0.0.4",
21
21
  "@subsquid/solana-rpc-data": "^0.0.3",
22
22
  "@subsquid/util-internal": "^3.2.0",
23
23
  "@subsquid/util-internal-archive-client": "^0.1.2",
@@ -26,8 +26,7 @@
26
26
  "@subsquid/util-internal-processor-tools": "^4.2.1",
27
27
  "@subsquid/util-internal-range": "^0.3.0",
28
28
  "@subsquid/util-internal-validation": "^0.7.0",
29
- "bs58": "^5.0.0",
30
- "@subsquid/portal-client": "0.0.1-portal-api.a46751"
29
+ "bs58": "^5.0.0"
31
30
  },
32
31
  "devDependencies": {
33
32
  "@types/node": "^18.18.14",
@@ -23,11 +23,6 @@ export class SolanaArchive {
23
23
  type: 'solana',
24
24
  fromBlock: height,
25
25
  toBlock: height,
26
- fields: {
27
- block: {
28
- hash: true,
29
- }
30
- },
31
26
  includeAllBlocks: true
32
27
  })
33
28
  assert(blocks.length == 1)
@@ -42,8 +37,6 @@ export class SolanaArchive {
42
37
  includeAllBlocks: true,
43
38
  fields: {
44
39
  block: {
45
- hash: true,
46
- number: true,
47
40
  slot: true,
48
41
  parentSlot: true,
49
42
  parentHash: true,
package/src/source.ts CHANGED
@@ -29,8 +29,6 @@ import {
29
29
  } from './data/request'
30
30
  import {SolanaRpcClient} from './rpc/client'
31
31
  import {RpcDataSource} from './rpc/source'
32
- import {SolanaPortal} from './archive/portal'
33
- import {PortalClient} from '@subsquid/portal-client'
34
32
 
35
33
 
36
34
  export interface GatewaySettings {
@@ -45,24 +43,6 @@ export interface GatewaySettings {
45
43
  }
46
44
 
47
45
 
48
- export interface PortalSettings {
49
- /**
50
- * Subsquid Network Gateway url
51
- */
52
- url: string
53
- /**
54
- * Request timeout in ms
55
- */
56
- requestTimeout?: number
57
-
58
- retryAttempts?: number
59
-
60
- bufferThreshold?: number
61
-
62
- newBlockTimeout?: number
63
- }
64
-
65
-
66
46
  export interface RpcSettings {
67
47
  /**
68
48
  * RPC client
@@ -106,7 +86,7 @@ export class DataSourceBuilder<F extends FieldSelection = {}> {
106
86
  private requests: RangeRequest<DataRequest>[] = []
107
87
  private fields?: FieldSelection
108
88
  private blockRange?: Range
109
- private archive?: GatewaySettings & {type: 'gateway'} | PortalSettings & {type: 'portal'}
89
+ private archive?: GatewaySettings
110
90
  private rpc?: RpcSettings
111
91
 
112
92
  /**
@@ -119,27 +99,14 @@ export class DataSourceBuilder<F extends FieldSelection = {}> {
119
99
  * source.setGateway('https://v2.archive.subsquid.io/network/solana-mainnet')
120
100
  */
121
101
  setGateway(url: string | GatewaySettings): this {
122
- assert(this.archive?.type !== 'gateway', '.setGateway() can not be used together with .setPortal()')
123
- if (typeof url == 'string') {
124
- this.archive = {url, type: 'gateway'}
125
- } else {
126
- this.archive = {...url, type: 'gateway'}
127
- }
128
- return this
129
- }
130
-
131
-
132
- setPortal(url: string | PortalSettings): this {
133
- assert(this.archive?.type !== 'gateway', '.setPortal() can not be used together with .setGateway()')
134
102
  if (typeof url == 'string') {
135
- this.archive = {url, type: 'portal', }
103
+ this.archive = {url}
136
104
  } else {
137
- this.archive = {...url, type: 'portal'}
105
+ this.archive = url
138
106
  }
139
107
  return this
140
108
  }
141
109
 
142
-
143
110
  /**
144
111
  * Set up RPC data ingestion
145
112
  */
@@ -300,7 +267,7 @@ class SolanaDataSource implements DataSource<PartialBlock> {
300
267
 
301
268
  constructor(
302
269
  private requests: RangeRequestList<DataRequest>,
303
- private archiveSettings?: GatewaySettings & {type: 'gateway'} | PortalSettings & {type: 'portal'},
270
+ private archiveSettings?: GatewaySettings,
304
271
  rpcSettings?: RpcSettings
305
272
  ) {
306
273
  assert(this.archiveSettings || rpcSettings, 'either archive or RPC should be provided')
@@ -325,11 +292,9 @@ class SolanaDataSource implements DataSource<PartialBlock> {
325
292
  return this.rpc.getBlockHash(height)
326
293
  } else {
327
294
  let archive = this.createArchive()
328
- let hash = await archive.getBlockHash(height)
329
- if (hash == null && this.rpc) {
330
- hash = await this.rpc.getBlockHash(height)
331
- }
332
- return hash
295
+ let head = await archive.getFinalizedHeight()
296
+ if (head >= height) return archive.getBlockHash(height)
297
+ if (this.rpc) return this.rpc.getBlockHash(height)
333
298
  }
334
299
  }
335
300
 
@@ -401,39 +366,23 @@ class SolanaDataSource implements DataSource<PartialBlock> {
401
366
  yield* this.rpc.getBlockStream(requests)
402
367
  }
403
368
 
404
- private createArchive(agent?: HttpAgent): SolanaArchive | SolanaPortal {
369
+ private createArchive(agent?: HttpAgent): SolanaArchive {
405
370
  assert(this.archiveSettings)
406
371
 
407
- let headers = {
408
- 'x-squid-id': this.getSquidId(),
409
- }
372
+ let http = new HttpClient({
373
+ headers: {
374
+ 'x-squid-id': this.getSquidId()
375
+ },
376
+ agent
377
+ })
410
378
 
411
- return this.archiveSettings.type === 'gateway'
412
- ? new SolanaArchive(
413
- new ArchiveClient({
414
- http: new HttpClient({
415
- headers: {
416
- 'x-squid-id': this.getSquidId(),
417
- },
418
- agent,
419
- }),
420
- url: this.archiveSettings.url,
421
- queryTimeout: this.archiveSettings.requestTimeout,
422
- })
423
- )
424
- : new SolanaPortal(
425
- new PortalClient({
426
- http: new HttpClient({
427
- headers,
428
- agent,
429
- httpTimeout: this.archiveSettings.requestTimeout,
430
- retryAttempts: this.archiveSettings.retryAttempts,
431
- }),
432
- url: this.archiveSettings.url,
433
- minBytes: this.archiveSettings.bufferThreshold,
434
- maxIdleTime: this.archiveSettings.newBlockTimeout,
435
- })
436
- )
379
+ return new SolanaArchive(
380
+ new ArchiveClient({
381
+ http,
382
+ url: this.archiveSettings.url,
383
+ queryTimeout: this.archiveSettings.requestTimeout,
384
+ })
385
+ )
437
386
  }
438
387
 
439
388
  @def
@@ -1,15 +0,0 @@
1
- import { BlockHeader } from '@subsquid/solana-normalization';
2
- import { Base58Bytes } from '@subsquid/solana-rpc-data';
3
- import { RangeRequestList } from '@subsquid/util-internal-range';
4
- import { PartialBlock } from '../data/partial';
5
- import { DataRequest } from '../data/request';
6
- import { PortalClient } from '@subsquid/portal-client';
7
- export declare class SolanaPortal {
8
- private client;
9
- constructor(client: PortalClient);
10
- getFinalizedHeight(): Promise<number>;
11
- getBlockHash(height: number): Promise<Base58Bytes | undefined>;
12
- getBlockHeader(height: number): Promise<BlockHeader>;
13
- getBlockStream(requests: RangeRequestList<DataRequest>, stopOnHead?: boolean | undefined): AsyncIterable<PartialBlock[]>;
14
- }
15
- //# sourceMappingURL=portal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../src/archive/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gCAAgC,CAAA;AAC1D,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAsB,gBAAgB,EAAC,MAAM,+BAA+B,CAAA;AAGnF,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAA;AAEpD,qBAAa,YAAY;IACT,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAgB9D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAyBnD,cAAc,CACjB,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACvC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GACjC,aAAa,CAAC,YAAY,EAAE,CAAC;CAiEnC"}
@@ -1,117 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SolanaPortal = void 0;
7
- const util_internal_1 = require("@subsquid/util-internal");
8
- const util_internal_range_1 = require("@subsquid/util-internal-range");
9
- const util_internal_validation_1 = require("@subsquid/util-internal-validation");
10
- const assert_1 = __importDefault(require("assert"));
11
- const schema_1 = require("./schema");
12
- class SolanaPortal {
13
- constructor(client) {
14
- this.client = client;
15
- }
16
- getFinalizedHeight() {
17
- return this.client.getFinalizedHeight();
18
- }
19
- async getBlockHash(height) {
20
- let blocks = await this.client.getFinalizedQuery({
21
- type: 'solana',
22
- fromBlock: height,
23
- toBlock: height,
24
- fields: {
25
- block: {
26
- hash: true,
27
- },
28
- },
29
- includeAllBlocks: true,
30
- });
31
- (0, assert_1.default)(blocks.length == 1);
32
- return blocks[0].header.hash;
33
- }
34
- async getBlockHeader(height) {
35
- let blocks = await this.client.getFinalizedQuery({
36
- type: 'solana',
37
- fromBlock: height,
38
- toBlock: height,
39
- includeAllBlocks: true,
40
- fields: {
41
- block: {
42
- hash: true,
43
- number: true,
44
- slot: true,
45
- parentSlot: true,
46
- parentHash: true,
47
- timestamp: true,
48
- },
49
- },
50
- });
51
- (0, assert_1.default)(blocks.length == 1);
52
- let { number, ...rest } = blocks[0].header;
53
- return {
54
- height: number,
55
- ...rest,
56
- };
57
- }
58
- async *getBlockStream(requests, stopOnHead) {
59
- let archiveRequests = (0, util_internal_range_1.mapRangeRequestList)(requests, (req) => {
60
- let { fields, includeAllBlocks, ...items } = req;
61
- let archiveItems = {};
62
- let key;
63
- for (key in items) {
64
- archiveItems[key] = items[key]?.map((it) => ({ ...it.where, ...it.include }));
65
- }
66
- return {
67
- type: 'solana',
68
- fields: {
69
- block: { ...fields?.block, number: true, hash: true, parentHash: true },
70
- transaction: { ...fields?.transaction, transactionIndex: true },
71
- instruction: { ...fields?.instruction, transactionIndex: true, instructionAddress: true },
72
- log: { ...fields?.log, instructionAddress: true, logIndex: true, transactionIndex: true },
73
- balance: { ...fields?.balance, transactionIndex: true, account: true },
74
- tokenBalance: { ...fields?.tokenBalance, transactionIndex: true, account: true },
75
- reward: { ...fields?.reward, pubkey: true },
76
- },
77
- includeAllBlocks,
78
- ...archiveItems,
79
- };
80
- });
81
- for (let req of archiveRequests) {
82
- let lastBlock = req.range.from - 1;
83
- let endBlock = req.range.to || Infinity;
84
- let query = {
85
- fromBlock: lastBlock + 1,
86
- toBlock: endBlock,
87
- ...req.request,
88
- };
89
- for await (let { blocks: batch } of this.client.getFinalizedStream(query, { stopOnHead })) {
90
- (0, assert_1.default)(batch.length > 0, 'boundary blocks are expected to be included');
91
- lastBlock = (0, util_internal_1.last)(batch).header.number;
92
- let blocks = (0, util_internal_validation_1.cast)((0, util_internal_validation_1.array)((0, schema_1.getDataSchema)((0, util_internal_1.assertNotNull)(req?.request.fields))), batch).map((b) => {
93
- let { header: { number, ...hdr }, ...items } = b;
94
- return {
95
- header: { height: number, ...hdr },
96
- transactions: items.transactions || [],
97
- instructions: items.instructions || [],
98
- logs: items.logs || [],
99
- balances: items.balances || [],
100
- tokenBalances: items.tokenBalances || [],
101
- rewards: items.rewards || [],
102
- };
103
- });
104
- yield blocks;
105
- }
106
- // stream ended before requested range,
107
- // which means we reached the last available block
108
- // should not happen if stopOnHead is set to false
109
- if (lastBlock < endBlock) {
110
- (0, assert_1.default)(stopOnHead, 'unexpected end of stream');
111
- break;
112
- }
113
- }
114
- }
115
- }
116
- exports.SolanaPortal = SolanaPortal;
117
- //# sourceMappingURL=portal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../src/archive/portal.ts"],"names":[],"mappings":"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"}
@@ -1,128 +0,0 @@
1
- import {BlockHeader} from '@subsquid/solana-normalization'
2
- import {Base58Bytes} from '@subsquid/solana-rpc-data'
3
- import {assertNotNull, last} from '@subsquid/util-internal'
4
- import {mapRangeRequestList, RangeRequestList} from '@subsquid/util-internal-range'
5
- import {array, cast} from '@subsquid/util-internal-validation'
6
- import assert from 'assert'
7
- import {PartialBlock} from '../data/partial'
8
- import {DataRequest} from '../data/request'
9
- import {getDataSchema} from './schema'
10
- import {PortalClient} from '@subsquid/portal-client'
11
-
12
- export class SolanaPortal {
13
- constructor(private client: PortalClient) {}
14
-
15
- getFinalizedHeight(): Promise<number> {
16
- return this.client.getFinalizedHeight()
17
- }
18
-
19
- async getBlockHash(height: number): Promise<Base58Bytes | undefined> {
20
- let blocks = await this.client.getFinalizedQuery({
21
- type: 'solana',
22
- fromBlock: height,
23
- toBlock: height,
24
- fields: {
25
- block: {
26
- hash: true,
27
- },
28
- },
29
- includeAllBlocks: true,
30
- })
31
- assert(blocks.length == 1)
32
- return blocks[0].header.hash
33
- }
34
-
35
- async getBlockHeader(height: number): Promise<BlockHeader> {
36
- let blocks = await this.client.getFinalizedQuery({
37
- type: 'solana',
38
- fromBlock: height,
39
- toBlock: height,
40
- includeAllBlocks: true,
41
- fields: {
42
- block: {
43
- hash: true,
44
- number: true,
45
- slot: true,
46
- parentSlot: true,
47
- parentHash: true,
48
- timestamp: true,
49
- },
50
- },
51
- })
52
- assert(blocks.length == 1)
53
- let {number, ...rest} = blocks[0].header
54
- return {
55
- height: number,
56
- ...rest,
57
- } as BlockHeader
58
- }
59
-
60
- async *getBlockStream(
61
- requests: RangeRequestList<DataRequest>,
62
- stopOnHead?: boolean | undefined
63
- ): AsyncIterable<PartialBlock[]> {
64
- let archiveRequests = mapRangeRequestList(requests, (req) => {
65
- let {fields, includeAllBlocks, ...items} = req
66
- let archiveItems: Record<string, any> = {}
67
- let key: keyof typeof items
68
- for (key in items) {
69
- archiveItems[key] = items[key]?.map((it) => ({...it.where, ...it.include}))
70
- }
71
- return {
72
- type: 'solana',
73
- fields: {
74
- block: {...fields?.block, number: true, hash: true, parentHash: true},
75
- transaction: {...fields?.transaction, transactionIndex: true},
76
- instruction: {...fields?.instruction, transactionIndex: true, instructionAddress: true},
77
- log: {...fields?.log, instructionAddress: true, logIndex: true, transactionIndex: true},
78
- balance: {...fields?.balance, transactionIndex: true, account: true},
79
- tokenBalance: {...fields?.tokenBalance, transactionIndex: true, account: true},
80
- reward: {...fields?.reward, pubkey: true},
81
- },
82
- includeAllBlocks,
83
- ...archiveItems,
84
- }
85
- })
86
-
87
- for (let req of archiveRequests) {
88
- let lastBlock = req.range.from - 1
89
- let endBlock = req.range.to || Infinity
90
- let query = {
91
- fromBlock: lastBlock + 1,
92
- toBlock: endBlock,
93
- ...req.request,
94
- }
95
-
96
- for await (let {blocks: batch} of this.client.getFinalizedStream(query, {stopOnHead})) {
97
- assert(batch.length > 0, 'boundary blocks are expected to be included')
98
- lastBlock = last(batch).header.number
99
-
100
- let blocks = cast(array(getDataSchema(assertNotNull(req?.request.fields))), batch).map((b) => {
101
- let {
102
- header: {number, ...hdr},
103
- ...items
104
- } = b
105
- return {
106
- header: {height: number, ...hdr},
107
- transactions: items.transactions || [],
108
- instructions: items.instructions || [],
109
- logs: items.logs || [],
110
- balances: items.balances || [],
111
- tokenBalances: items.tokenBalances || [],
112
- rewards: items.rewards || [],
113
- }
114
- })
115
-
116
- yield blocks
117
- }
118
-
119
- // stream ended before requested range,
120
- // which means we reached the last available block
121
- // should not happen if stopOnHead is set to false
122
- if (lastBlock < endBlock) {
123
- assert(stopOnHead, 'unexpected end of stream')
124
- break
125
- }
126
- }
127
- }
128
- }