@subsquid/solana-stream 1.0.0 → 1.1.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.
- package/lib/builder.d.ts +2 -2
- package/lib/builder.d.ts.map +1 -1
- package/lib/builder.js +1 -2
- package/lib/builder.js.map +1 -1
- package/lib/data/model.d.ts +0 -43
- package/lib/data/model.d.ts.map +1 -1
- package/lib/data/model.js +0 -44
- package/lib/data/model.js.map +1 -1
- package/package.json +1 -1
- package/src/builder.ts +3 -3
- package/src/data/model.ts +0 -44
package/lib/builder.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { PortalClient, PortalClientOptions } from '@subsquid/portal-client';
|
|
2
2
|
import { Range } from '@subsquid/util-internal-range';
|
|
3
|
-
import {
|
|
3
|
+
import { FieldSelection } from './data/model';
|
|
4
4
|
import { BalanceRequest, InstructionRequest, LogRequest, RewardRequest, TokenBalanceRequest, TransactionRequest } from './data/request';
|
|
5
5
|
import { type Query, QueryBuilder } from './query';
|
|
6
6
|
import type { SolanaDataSource } from './source';
|
|
7
7
|
interface BlockRange {
|
|
8
8
|
range?: Range;
|
|
9
9
|
}
|
|
10
|
-
export declare class DataSourceBuilder<F extends FieldSelection =
|
|
10
|
+
export declare class DataSourceBuilder<F extends FieldSelection = {}> {
|
|
11
11
|
private requests;
|
|
12
12
|
private fields?;
|
|
13
13
|
private blockRange?;
|
package/lib/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EAAsC,KAAK,EAAiC,MAAM,+BAA+B,CAAA;AAExH,OAAO,EAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EAAsC,KAAK,EAAiC,MAAM,+BAA+B,CAAA;AAExH,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAA;AAC3C,OAAO,EACH,cAAc,EAEd,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACrB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAC,KAAK,KAAK,EAAE,YAAY,EAAC,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAA;AAE9C,UAAU,UAAU;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAED,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,MAAM,CAAC,CAAoC;IAEnD;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,YAAY,GAAG,IAAI;IASpE;;;;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;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,GAAG,IAAI;IAK3C;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAOrC;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,GAAG,IAAI;IAQ9D;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,GAAG,IAAI;IAQ9D;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAQ9C;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IAQtD;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,UAAU,GAAG,IAAI;IAQhE;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI;IAQpD,OAAO,CAAC,WAAW;IA2BnB,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC;CAQ/B"}
|
package/lib/builder.js
CHANGED
|
@@ -8,7 +8,6 @@ const portal_client_1 = require("@subsquid/portal-client");
|
|
|
8
8
|
const util_internal_processor_tools_1 = require("@subsquid/util-internal-processor-tools");
|
|
9
9
|
const util_internal_range_1 = require("@subsquid/util-internal-range");
|
|
10
10
|
const assert_1 = __importDefault(require("assert"));
|
|
11
|
-
const model_1 = require("./data/model");
|
|
12
11
|
const source_1 = require("./portal/source");
|
|
13
12
|
const query_1 = require("./query");
|
|
14
13
|
class DataSourceBuilder {
|
|
@@ -173,7 +172,7 @@ class DataSourceBuilder {
|
|
|
173
172
|
build() {
|
|
174
173
|
(0, assert_1.default)(this.portal, 'Portal settings not set');
|
|
175
174
|
let portal = this.portal instanceof portal_client_1.PortalClient ? this.portal : new portal_client_1.PortalClient(this.portal);
|
|
176
|
-
return new source_1.PortalSolanaDataSource(portal, this.fields ??
|
|
175
|
+
return new source_1.PortalSolanaDataSource(portal, (this.fields ?? {}), () => this.getRequests(), {
|
|
177
176
|
squidId: (0, util_internal_processor_tools_1.getOrGenerateSquidId)(),
|
|
178
177
|
});
|
|
179
178
|
}
|
package/lib/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":";;;;;;AAAA,2DAAyE;AACzE,2FAA4E;AAC5E,uEAAwH;AACxH,oDAA2B;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
package/lib/data/model.d.ts
CHANGED
|
@@ -19,49 +19,6 @@ export interface FieldSelection {
|
|
|
19
19
|
reward?: Selector<Exclude<keyof data.Reward, RewardRequiredFields>>;
|
|
20
20
|
}
|
|
21
21
|
export type FieldKey = keyof FieldSelection;
|
|
22
|
-
/**
|
|
23
|
-
* Default field set applied when {@link DataSourceBuilder#setFields} is not
|
|
24
|
-
* called. `as const` preserves the literal `true` values so they feed through
|
|
25
|
-
* {@link GetFields} correctly.
|
|
26
|
-
*/
|
|
27
|
-
export declare const DEFAULT_FIELDS: {
|
|
28
|
-
readonly block: {
|
|
29
|
-
readonly timestamp: true;
|
|
30
|
-
};
|
|
31
|
-
readonly transaction: {
|
|
32
|
-
readonly signatures: true;
|
|
33
|
-
readonly err: true;
|
|
34
|
-
};
|
|
35
|
-
readonly instruction: {
|
|
36
|
-
readonly programId: true;
|
|
37
|
-
readonly accounts: true;
|
|
38
|
-
readonly data: true;
|
|
39
|
-
readonly isCommitted: true;
|
|
40
|
-
};
|
|
41
|
-
readonly log: {
|
|
42
|
-
readonly programId: true;
|
|
43
|
-
readonly kind: true;
|
|
44
|
-
readonly message: true;
|
|
45
|
-
};
|
|
46
|
-
readonly balance: {
|
|
47
|
-
readonly pre: true;
|
|
48
|
-
readonly post: true;
|
|
49
|
-
};
|
|
50
|
-
readonly tokenBalance: {
|
|
51
|
-
readonly preMint: true;
|
|
52
|
-
readonly preDecimals: true;
|
|
53
|
-
readonly preOwner: true;
|
|
54
|
-
readonly preAmount: true;
|
|
55
|
-
readonly postMint: true;
|
|
56
|
-
readonly postDecimals: true;
|
|
57
|
-
readonly postOwner: true;
|
|
58
|
-
readonly postAmount: true;
|
|
59
|
-
};
|
|
60
|
-
readonly reward: {
|
|
61
|
-
readonly lamports: true;
|
|
62
|
-
readonly rewardType: true;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
22
|
/**
|
|
66
23
|
* A concrete item type derived from a raw data shape, the always-present
|
|
67
24
|
* required keys, and a per-section field selection.
|
package/lib/data/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/data/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,gCAAgC,CAAA;AAC3D,OAAO,KAAK,EACR,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EAC5B,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAA;AAEtE,iCAAiC;AACjC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAE1B,oCAAoC;AACpC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAA;IACtE,WAAW,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC,CAAA;IAClF,WAAW,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC,CAAA;IAClF,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACjE,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAA;IACtE,YAAY,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC,CAAA;IACrF,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAA;CACtE;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAA;AAE3C
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/data/model.ts"],"names":[],"mappings":"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"}
|
package/lib/data/model.js
CHANGED
|
@@ -1,47 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_FIELDS = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Default field set applied when {@link DataSourceBuilder#setFields} is not
|
|
6
|
-
* called. `as const` preserves the literal `true` values so they feed through
|
|
7
|
-
* {@link GetFields} correctly.
|
|
8
|
-
*/
|
|
9
|
-
exports.DEFAULT_FIELDS = {
|
|
10
|
-
block: {
|
|
11
|
-
timestamp: true,
|
|
12
|
-
},
|
|
13
|
-
transaction: {
|
|
14
|
-
signatures: true,
|
|
15
|
-
err: true,
|
|
16
|
-
},
|
|
17
|
-
instruction: {
|
|
18
|
-
programId: true,
|
|
19
|
-
accounts: true,
|
|
20
|
-
data: true,
|
|
21
|
-
isCommitted: true,
|
|
22
|
-
},
|
|
23
|
-
log: {
|
|
24
|
-
programId: true,
|
|
25
|
-
kind: true,
|
|
26
|
-
message: true,
|
|
27
|
-
},
|
|
28
|
-
balance: {
|
|
29
|
-
pre: true,
|
|
30
|
-
post: true,
|
|
31
|
-
},
|
|
32
|
-
tokenBalance: {
|
|
33
|
-
preMint: true,
|
|
34
|
-
preDecimals: true,
|
|
35
|
-
preOwner: true,
|
|
36
|
-
preAmount: true,
|
|
37
|
-
postMint: true,
|
|
38
|
-
postDecimals: true,
|
|
39
|
-
postOwner: true,
|
|
40
|
-
postAmount: true,
|
|
41
|
-
},
|
|
42
|
-
reward: {
|
|
43
|
-
lamports: true,
|
|
44
|
-
rewardType: true,
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
3
|
//# sourceMappingURL=model.js.map
|
package/lib/data/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/data/model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/data/model.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
package/src/builder.ts
CHANGED
|
@@ -2,7 +2,7 @@ import {PortalClient, PortalClientOptions} from '@subsquid/portal-client'
|
|
|
2
2
|
import {getOrGenerateSquidId} from '@subsquid/util-internal-processor-tools'
|
|
3
3
|
import {applyRangeBound, mergeRangeRequests, Range, RangeRequest, RangeRequestList} from '@subsquid/util-internal-range'
|
|
4
4
|
import assert from 'assert'
|
|
5
|
-
import {
|
|
5
|
+
import {FieldSelection} from './data/model'
|
|
6
6
|
import {
|
|
7
7
|
BalanceRequest,
|
|
8
8
|
DataRequest,
|
|
@@ -20,7 +20,7 @@ interface BlockRange {
|
|
|
20
20
|
range?: Range
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
export class DataSourceBuilder<F extends FieldSelection =
|
|
23
|
+
export class DataSourceBuilder<F extends FieldSelection = {}> {
|
|
24
24
|
private requests: RangeRequest<DataRequest>[] = []
|
|
25
25
|
private fields?: FieldSelection
|
|
26
26
|
private blockRange?: Range
|
|
@@ -198,7 +198,7 @@ export class DataSourceBuilder<F extends FieldSelection = typeof DEFAULT_FIELDS>
|
|
|
198
198
|
assert(this.portal, 'Portal settings not set')
|
|
199
199
|
|
|
200
200
|
let portal = this.portal instanceof PortalClient ? this.portal : new PortalClient(this.portal)
|
|
201
|
-
return new PortalSolanaDataSource<F>(portal, this.fields ??
|
|
201
|
+
return new PortalSolanaDataSource<F>(portal, (this.fields ?? {}) as F, () => this.getRequests(), {
|
|
202
202
|
squidId: getOrGenerateSquidId(),
|
|
203
203
|
})
|
|
204
204
|
}
|
package/src/data/model.ts
CHANGED
|
@@ -32,50 +32,6 @@ export interface FieldSelection {
|
|
|
32
32
|
|
|
33
33
|
export type FieldKey = keyof FieldSelection
|
|
34
34
|
|
|
35
|
-
/**
|
|
36
|
-
* Default field set applied when {@link DataSourceBuilder#setFields} is not
|
|
37
|
-
* called. `as const` preserves the literal `true` values so they feed through
|
|
38
|
-
* {@link GetFields} correctly.
|
|
39
|
-
*/
|
|
40
|
-
export const DEFAULT_FIELDS = {
|
|
41
|
-
block: {
|
|
42
|
-
timestamp: true,
|
|
43
|
-
},
|
|
44
|
-
transaction: {
|
|
45
|
-
signatures: true,
|
|
46
|
-
err: true,
|
|
47
|
-
},
|
|
48
|
-
instruction: {
|
|
49
|
-
programId: true,
|
|
50
|
-
accounts: true,
|
|
51
|
-
data: true,
|
|
52
|
-
isCommitted: true,
|
|
53
|
-
},
|
|
54
|
-
log: {
|
|
55
|
-
programId: true,
|
|
56
|
-
kind: true,
|
|
57
|
-
message: true,
|
|
58
|
-
},
|
|
59
|
-
balance: {
|
|
60
|
-
pre: true,
|
|
61
|
-
post: true,
|
|
62
|
-
},
|
|
63
|
-
tokenBalance: {
|
|
64
|
-
preMint: true,
|
|
65
|
-
preDecimals: true,
|
|
66
|
-
preOwner: true,
|
|
67
|
-
preAmount: true,
|
|
68
|
-
postMint: true,
|
|
69
|
-
postDecimals: true,
|
|
70
|
-
postOwner: true,
|
|
71
|
-
postAmount: true,
|
|
72
|
-
},
|
|
73
|
-
reward: {
|
|
74
|
-
lamports: true,
|
|
75
|
-
rewardType: true,
|
|
76
|
-
},
|
|
77
|
-
} as const satisfies FieldSelection
|
|
78
|
-
|
|
79
35
|
/**
|
|
80
36
|
* A concrete item type derived from a raw data shape, the always-present
|
|
81
37
|
* required keys, and a per-section field selection.
|