@subsquid/fuel-stream 0.0.1

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 (56) hide show
  1. package/lib/archive/data-schema.d.ts +332 -0
  2. package/lib/archive/data-schema.d.ts.map +1 -0
  3. package/lib/archive/data-schema.js +293 -0
  4. package/lib/archive/data-schema.js.map +1 -0
  5. package/lib/archive/source.d.ts +14 -0
  6. package/lib/archive/source.d.ts.map +1 -0
  7. package/lib/archive/source.js +82 -0
  8. package/lib/archive/source.js.map +1 -0
  9. package/lib/data/data-partial.d.ts +20 -0
  10. package/lib/data/data-partial.d.ts.map +1 -0
  11. package/lib/data/data-partial.js +3 -0
  12. package/lib/data/data-partial.js.map +1 -0
  13. package/lib/data/data-request.d.ts +35 -0
  14. package/lib/data/data-request.d.ts.map +1 -0
  15. package/lib/data/data-request.js +3 -0
  16. package/lib/data/data-request.js.map +1 -0
  17. package/lib/data/model.d.ts +45 -0
  18. package/lib/data/model.d.ts.map +1 -0
  19. package/lib/data/model.js +19 -0
  20. package/lib/data/model.js.map +1 -0
  21. package/lib/data/util.d.ts +20 -0
  22. package/lib/data/util.d.ts.map +1 -0
  23. package/lib/data/util.js +3 -0
  24. package/lib/data/util.js.map +1 -0
  25. package/lib/fields.d.ts +6 -0
  26. package/lib/fields.d.ts.map +1 -0
  27. package/lib/fields.js +32 -0
  28. package/lib/fields.js.map +1 -0
  29. package/lib/filter.d.ts +6 -0
  30. package/lib/filter.d.ts.map +1 -0
  31. package/lib/filter.js +172 -0
  32. package/lib/filter.js.map +1 -0
  33. package/lib/graphql.d.ts +14 -0
  34. package/lib/graphql.d.ts.map +1 -0
  35. package/lib/graphql.js +40 -0
  36. package/lib/graphql.js.map +1 -0
  37. package/lib/index.d.ts +3 -0
  38. package/lib/index.d.ts.map +1 -0
  39. package/lib/index.js +19 -0
  40. package/lib/index.js.map +1 -0
  41. package/lib/source.d.ts +118 -0
  42. package/lib/source.d.ts.map +1 -0
  43. package/lib/source.js +296 -0
  44. package/lib/source.js.map +1 -0
  45. package/package.json +34 -0
  46. package/src/archive/data-schema.ts +320 -0
  47. package/src/archive/source.ts +88 -0
  48. package/src/data/data-partial.ts +25 -0
  49. package/src/data/data-request.ts +44 -0
  50. package/src/data/model.ts +114 -0
  51. package/src/data/util.ts +42 -0
  52. package/src/fields.ts +35 -0
  53. package/src/filter.ts +229 -0
  54. package/src/graphql.ts +51 -0
  55. package/src/index.ts +2 -0
  56. package/src/source.ts +416 -0
@@ -0,0 +1,82 @@
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.FuelGateway = void 0;
7
+ const util_internal_1 = require("@subsquid/util-internal");
8
+ const util_internal_ingest_tools_1 = require("@subsquid/util-internal-ingest-tools");
9
+ const util_internal_range_1 = require("@subsquid/util-internal-range");
10
+ const util_internal_validation_1 = require("@subsquid/util-internal-validation");
11
+ const assert_1 = __importDefault(require("assert"));
12
+ const data_schema_1 = require("./data-schema");
13
+ class FuelGateway {
14
+ constructor(client) {
15
+ this.client = client;
16
+ }
17
+ getFinalizedHeight() {
18
+ return this.client.getHeight();
19
+ }
20
+ async getBlockHash(height) {
21
+ let blocks = await this.client.query({
22
+ fromBlock: height,
23
+ toBlock: height,
24
+ includeAllBlocks: true
25
+ });
26
+ (0, assert_1.default)(blocks.length == 1);
27
+ return blocks[0].header.hash;
28
+ }
29
+ async getBlockHeader(height) {
30
+ let blocks = await this.client.query({
31
+ type: 'fuel',
32
+ fromBlock: height,
33
+ toBlock: height,
34
+ includeAllBlocks: true,
35
+ fields: {
36
+ block: {
37
+ daHeight: true,
38
+ transactionsRoot: true,
39
+ transactionsCount: true,
40
+ messageReceiptRoot: true,
41
+ messageReceiptCount: true,
42
+ prevRoot: true,
43
+ time: true,
44
+ applicationHash: true
45
+ }
46
+ }
47
+ });
48
+ (0, assert_1.default)(blocks.length == 1);
49
+ let { number, ...rest } = blocks[0].header;
50
+ return {
51
+ height: number,
52
+ ...rest
53
+ };
54
+ }
55
+ async *getBlockStream(requests, stopOnHead) {
56
+ let archiveRequests = (0, util_internal_range_1.mapRangeRequestList)(requests, req => {
57
+ let { fields, ...items } = req;
58
+ return {
59
+ type: 'fuel',
60
+ fields,
61
+ ...items
62
+ };
63
+ });
64
+ for await (let batch of (0, util_internal_ingest_tools_1.archiveIngest)({
65
+ client: this.client,
66
+ requests: archiveRequests,
67
+ stopOnHead
68
+ })) {
69
+ let req = (0, util_internal_range_1.getRequestAt)(requests, batch.blocks[0].header.number);
70
+ let blocks = (0, util_internal_validation_1.cast)((0, util_internal_validation_1.array)((0, data_schema_1.getDataSchema)((0, util_internal_1.assertNotNull)(req?.fields))), batch.blocks).map(b => {
71
+ let { header: { number, ...hdr }, ...items } = b;
72
+ return {
73
+ header: { height: number, ...hdr },
74
+ ...items
75
+ };
76
+ });
77
+ yield blocks;
78
+ }
79
+ }
80
+ }
81
+ exports.FuelGateway = FuelGateway;
82
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/archive/source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type * as data from '@subsquid/fuel-data/lib/data';
2
+ import type { MakePartial } from './util';
3
+ export type BlockRequiredFields = 'height' | 'hash';
4
+ export type TransactionRequiredFields = 'index';
5
+ export type ReceiptRequiredFields = 'transactionIndex' | 'index';
6
+ export type InputRequiredFields = 'transactionIndex' | 'index' | 'type';
7
+ export type OutputRequiredFields = 'transactionIndex' | 'index' | 'type';
8
+ export type PartialBlockHeader = MakePartial<data.BlockHeader, BlockRequiredFields>;
9
+ export type PartialTransaction = MakePartial<data.Transaction, TransactionRequiredFields>;
10
+ export type PartialReceipt = MakePartial<data.Receipt, ReceiptRequiredFields>;
11
+ export type PartialInput = MakePartial<data.TransactionInput, InputRequiredFields>;
12
+ export type PartialOutput = MakePartial<data.TransactionOutput, OutputRequiredFields>;
13
+ export interface PartialBlock {
14
+ header: PartialBlockHeader;
15
+ transactions?: PartialTransaction[];
16
+ receipts?: PartialReceipt[];
17
+ inputs?: PartialInput[];
18
+ outputs?: PartialOutput[];
19
+ }
20
+ //# sourceMappingURL=data-partial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-partial.d.ts","sourceRoot":"","sources":["../../src/data/data-partial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,QAAQ,CAAA;AAGvC,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,MAAM,CAAA;AACnD,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAA;AAC/C,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,OAAO,CAAA;AAChE,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,OAAO,GAAG,MAAM,CAAA;AACvE,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,OAAO,GAAG,MAAM,CAAA;AAGxE,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAA;AACnF,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAA;AACzF,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;AAC7E,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAA;AAClF,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAA;AAGrF,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,kBAAkB,CAAA;IAC1B,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACnC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAC3B,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;CAC5B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data-partial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-partial.js","sourceRoot":"","sources":["../../src/data/data-partial.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { ReceiptType, TransactionType, InputType, OutputType } from '@subsquid/fuel-data/lib/data';
2
+ import { FieldSelection, Bytes } from './model';
3
+ export interface DataRequest {
4
+ fields?: FieldSelection;
5
+ includeAllBlocks?: boolean;
6
+ transactions?: TransactionRequest[];
7
+ receipts?: ReceiptRequest[];
8
+ inputs?: InputRequest[];
9
+ outputs?: OutputRequest[];
10
+ }
11
+ export interface TransactionRequest {
12
+ type?: TransactionType[];
13
+ receipts?: boolean;
14
+ inputs?: boolean;
15
+ outputs?: boolean;
16
+ }
17
+ export interface ReceiptRequest {
18
+ type?: ReceiptType[];
19
+ logDataContract?: Bytes[];
20
+ transaction?: boolean;
21
+ }
22
+ export interface InputRequest {
23
+ type?: InputType[];
24
+ coinOwner?: Bytes[];
25
+ coinAssetId?: Bytes[];
26
+ contractContract?: Bytes[];
27
+ messageSender?: Bytes[];
28
+ messageRecipient?: Bytes[];
29
+ transaction?: boolean;
30
+ }
31
+ export interface OutputRequest {
32
+ type?: OutputType[];
33
+ transaction?: boolean;
34
+ }
35
+ //# sourceMappingURL=data-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-request.d.ts","sourceRoot":"","sources":["../../src/data/data-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,8BAA8B,CAAA;AAChG,OAAO,EAAC,cAAc,EAAE,KAAK,EAAC,MAAM,SAAS,CAAA;AAG7C,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACnC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAC3B,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;CAC5B;AAGD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,CAAC,EAAE,eAAe,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AAGD,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,EAAE,WAAW,EAAE,CAAA;IACpB,eAAe,CAAC,EAAE,KAAK,EAAE,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB;AAGD,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAA;IAClB,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;IACnB,WAAW,CAAC,EAAE,KAAK,EAAE,CAAA;IACrB,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,KAAK,EAAE,CAAA;IACvB,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB;AAGD,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-request.js","sourceRoot":"","sources":["../../src/data/data-request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import type * as data from '@subsquid/fuel-data/lib/data';
2
+ import type { BlockRequiredFields, ReceiptRequiredFields, InputRequiredFields, OutputRequiredFields, TransactionRequiredFields } from './data-partial';
3
+ import type { GetFields, Select, Selector, Simplify } from './util';
4
+ /**
5
+ * Hex encoded binary string
6
+ */
7
+ export type Bytes = string;
8
+ type AddPrefix<Prefix extends string, S extends string> = `${Prefix}${Capitalize<S>}`;
9
+ export interface FieldSelection {
10
+ block?: Selector<Exclude<keyof data.BlockHeader, BlockRequiredFields>>;
11
+ transaction?: Selector<Exclude<keyof data.Transaction, TransactionRequiredFields>>;
12
+ receipt?: Selector<Exclude<keyof data.Receipt, ReceiptRequiredFields>>;
13
+ input?: Selector<AddPrefix<'coin', Exclude<keyof data.InputCoin, InputRequiredFields>> | AddPrefix<'contract', Exclude<keyof data.InputContract, InputRequiredFields>> | AddPrefix<'message', Exclude<keyof data.InputMessage, InputRequiredFields>>>;
14
+ output?: Selector<AddPrefix<'coin', Exclude<keyof data.CoinOutput, OutputRequiredFields>> | AddPrefix<'contract', Exclude<keyof data.ContractOutput, OutputRequiredFields>> | AddPrefix<'change', Exclude<keyof data.ChangeOutput, OutputRequiredFields>> | AddPrefix<'variable', Exclude<keyof data.VariableOutput, OutputRequiredFields>> | AddPrefix<'contractCreated', Exclude<keyof data.ContractCreated, OutputRequiredFields>>>;
15
+ }
16
+ export declare const DEFAULT_FIELDS: {
17
+ readonly block: {
18
+ readonly time: true;
19
+ };
20
+ readonly transaction: {
21
+ readonly hash: true;
22
+ readonly type: true;
23
+ readonly status: true;
24
+ };
25
+ readonly receipt: {
26
+ readonly receiptType: true;
27
+ };
28
+ readonly input: {};
29
+ readonly output: {};
30
+ };
31
+ type Item<Data, RequiredFields extends keyof Data, F extends FieldSelection, K extends keyof FieldSelection> = Simplify<Pick<Data, RequiredFields> & Select<Data, GetFields<FieldSelection, typeof DEFAULT_FIELDS, F, K>>>;
32
+ export type BlockHeader<F extends FieldSelection = {}> = Item<data.BlockHeader, BlockRequiredFields, F, 'block'>;
33
+ export type Transaction<F extends FieldSelection = {}> = Item<data.Transaction, TransactionRequiredFields, F, 'transaction'>;
34
+ export type Receipt<F extends FieldSelection = {}> = Item<data.Receipt, ReceiptRequiredFields, F, 'receipt'>;
35
+ export type Input<F extends FieldSelection = {}> = Item<data.TransactionInput, InputRequiredFields, F, 'input'>;
36
+ export type Output<F extends FieldSelection = {}> = Item<data.TransactionOutput, OutputRequiredFields, F, 'output'>;
37
+ export interface Block<F extends FieldSelection = {}> {
38
+ header: BlockHeader<F>;
39
+ transactions: Transaction<F>[];
40
+ receipts: Receipt<F>[];
41
+ inputs: Input<F>[];
42
+ outputs: Output<F>[];
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/data/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_FIELDS = void 0;
4
+ exports.DEFAULT_FIELDS = {
5
+ block: {
6
+ time: true
7
+ },
8
+ transaction: {
9
+ hash: true,
10
+ type: true,
11
+ status: true
12
+ },
13
+ receipt: {
14
+ receiptType: true
15
+ },
16
+ input: {},
17
+ output: {},
18
+ };
19
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/data/model.ts"],"names":[],"mappings":";;;AAuCa,QAAA,cAAc,GAAG;IAC1B,KAAK,EAAE;QACH,IAAI,EAAE,IAAI;KACb;IACD,WAAW,EAAE;QACT,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;KACf;IACD,OAAO,EAAE;QACL,WAAW,EAAE,IAAI;KACpB;IACD,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;CACJ,CAAA"}
@@ -0,0 +1,20 @@
1
+ export type Simplify<T> = {
2
+ [K in keyof T]: T[K];
3
+ } & {};
4
+ export type ExcludeUndefined<T> = {
5
+ [K in keyof T as undefined extends T[K] ? never : K]: T[K];
6
+ } & {};
7
+ export type GetFields<FieldSelectionType, Defaults extends FieldSelectionType, Selection extends FieldSelectionType, K extends keyof FieldSelectionType> = TrueFields<MergeDefault<Selection[K], Defaults[K]>>;
8
+ type MergeDefault<T, D> = Simplify<undefined extends T ? D : Omit<D, keyof ExcludeUndefined<T>> & ExcludeUndefined<T>>;
9
+ type TrueFields<F> = keyof {
10
+ [K in keyof F as true extends F[K] ? K : never]: true;
11
+ };
12
+ export type Select<T, Fields> = T extends any ? Simplify<Pick<T, Extract<keyof T, Fields>>> : never;
13
+ export type Selector<Fields extends string | number | symbol> = {
14
+ [P in Fields]?: boolean;
15
+ };
16
+ export type MakePartial<T, Required extends keyof T> = Simplify<Pick<T, Required> & {
17
+ [K in keyof T as K extends Required ? never : K]+?: T[K];
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/data/util.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvB,GAAG,EAAE,CAAA;AAGN,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC7B,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC7D,GAAG,EAAE,CAAA;AAGN,MAAM,MAAM,SAAS,CACjB,kBAAkB,EAClB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,kBAAkB,EACpC,CAAC,SAAS,MAAM,kBAAkB,IAClC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAGvD,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAC9B,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CACrF,CAAA;AAGD,KAAK,UAAU,CAAC,CAAC,IAAI,MAAM;KACtB,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI;CACxD,CAAA;AAGD,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAGnG,MAAM,MAAM,QAAQ,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;KAC3D,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,OAAO;CAC1B,CAAA;AAGD,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,QAAQ,SAAS,MAAM,CAAC,IAAI,QAAQ,CAC3D,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,GACjB;KACK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC3D,CACJ,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/data/util.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { FieldSelection } from './data/model';
2
+ /**
3
+ * Get effective set of selected fields.
4
+ */
5
+ export declare function getFields(fields: FieldSelection | undefined): FieldSelection;
6
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAC,MAAM,cAAc,CAAA;AAI3D;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,CAQ5E"}
package/lib/fields.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFields = void 0;
4
+ const model_1 = require("./data/model");
5
+ /**
6
+ * Get effective set of selected fields.
7
+ */
8
+ function getFields(fields) {
9
+ return {
10
+ block: merge(model_1.DEFAULT_FIELDS.block, fields?.block),
11
+ transaction: merge(model_1.DEFAULT_FIELDS.transaction, fields?.transaction),
12
+ receipt: merge(model_1.DEFAULT_FIELDS.receipt, fields?.receipt),
13
+ input: merge(model_1.DEFAULT_FIELDS.input, fields?.input),
14
+ output: merge(model_1.DEFAULT_FIELDS.output, fields?.output),
15
+ };
16
+ }
17
+ exports.getFields = getFields;
18
+ function merge(def, requested = {}) {
19
+ let fields = {};
20
+ for (let key in def) {
21
+ if (requested[key] !== false) {
22
+ fields[key] = def[key];
23
+ }
24
+ }
25
+ for (let key in requested) {
26
+ if (requested[key]) {
27
+ fields[key] = true;
28
+ }
29
+ }
30
+ return fields;
31
+ }
32
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":";;;AAAA,wCAA2D;AAI3D;;GAEG;AACH,SAAgB,SAAS,CAAC,MAAkC;IACxD,OAAO;QACH,KAAK,EAAE,KAAK,CAAC,sBAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QACjD,WAAW,EAAE,KAAK,CAAC,sBAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;QACnE,OAAO,EAAE,KAAK,CAAC,sBAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;QACvD,KAAK,EAAE,KAAK,CAAC,sBAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QACjD,MAAM,EAAE,KAAK,CAAC,sBAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KACvD,CAAA;AACL,CAAC;AARD,8BAQC;AAGD,SAAS,KAAK,CAAsB,GAAmB,EAAE,YAA4B,EAAE;IACnF,IAAI,MAAM,GAAmB,EAAE,CAAA;IAE/B,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QAClB,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC;IACL,CAAC;IAED,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QACxB,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QACtB,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { RangeRequest } from '@subsquid/util-internal-range';
2
+ import { Block } from '@subsquid/fuel-normalization';
3
+ import { DataRequest } from './data/data-request';
4
+ export declare function filterBlock(block: Block, dataRequest: DataRequest): void;
5
+ export declare function filterBlockBatch(requests: RangeRequest<DataRequest>[], blocks: Block[]): void;
6
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,YAAY,EAAC,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAC,KAAK,EAA4D,MAAM,8BAA8B,CAAA;AAC7G,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAyI/C,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CA4ExE;AAGD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAK7F"}
package/lib/filter.js ADDED
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterBlockBatch = exports.filterBlock = void 0;
4
+ const util_internal_processor_tools_1 = require("@subsquid/util-internal-processor-tools");
5
+ const util_internal_1 = require("@subsquid/util-internal");
6
+ const util_internal_range_1 = require("@subsquid/util-internal-range");
7
+ class IncludeSet {
8
+ constructor() {
9
+ this.receipts = new Set();
10
+ this.transactions = new Set();
11
+ this.inputs = new Set();
12
+ this.outputs = new Set();
13
+ }
14
+ addReceipt(receipt) {
15
+ if (receipt) {
16
+ this.receipts.add(receipt);
17
+ }
18
+ }
19
+ addTransaction(tx) {
20
+ if (tx) {
21
+ this.transactions.add(tx);
22
+ }
23
+ }
24
+ addInput(input) {
25
+ if (input) {
26
+ this.inputs.add(input);
27
+ }
28
+ }
29
+ addOutput(output) {
30
+ if (output) {
31
+ this.outputs.add(output);
32
+ }
33
+ }
34
+ }
35
+ function buildReceiptFilter(dataRequest) {
36
+ let receipts = new util_internal_processor_tools_1.EntityFilter();
37
+ dataRequest.receipts?.forEach(req => {
38
+ let { type, logDataContract, ...relations } = req;
39
+ let filter = new util_internal_processor_tools_1.FilterBuilder();
40
+ filter.propIn('receiptType', type);
41
+ filter.propIn('contract', logDataContract);
42
+ receipts.add(filter, relations);
43
+ });
44
+ return receipts;
45
+ }
46
+ function buildTransactionFilter(dataRequest) {
47
+ let transactions = new util_internal_processor_tools_1.EntityFilter();
48
+ dataRequest.transactions?.forEach(req => {
49
+ let { type, ...relations } = req;
50
+ let filter = new util_internal_processor_tools_1.FilterBuilder();
51
+ filter.propIn('type', type);
52
+ transactions.add(filter, relations);
53
+ });
54
+ return transactions;
55
+ }
56
+ function buildInputFilter(dataRequest) {
57
+ let inputs = new util_internal_processor_tools_1.EntityFilter();
58
+ dataRequest.inputs?.forEach(req => {
59
+ let { type, coinOwner, coinAssetId, contractContract, messageSender, messageRecipient, ...relations } = req;
60
+ let filter = new util_internal_processor_tools_1.FilterBuilder();
61
+ filter.propIn('type', req.type);
62
+ filter.getIn(input => input.type == 'InputCoin' && (0, util_internal_1.assertNotNull)(input.owner), coinOwner);
63
+ filter.getIn(input => input.type == 'InputCoin' && (0, util_internal_1.assertNotNull)(input.assetId), coinAssetId);
64
+ filter.getIn(input => input.type == 'InputContract' && (0, util_internal_1.assertNotNull)(input.contract), contractContract);
65
+ filter.getIn(input => input.type == 'InputMessage' && (0, util_internal_1.assertNotNull)(input.sender), messageSender);
66
+ filter.getIn(input => input.type == 'InputMessage' && (0, util_internal_1.assertNotNull)(input.recipient), messageRecipient);
67
+ inputs.add(filter, relations);
68
+ });
69
+ return inputs;
70
+ }
71
+ function buildOutputFilter(dataRequest) {
72
+ let outputs = new util_internal_processor_tools_1.EntityFilter();
73
+ dataRequest.outputs?.forEach(req => {
74
+ let { type, ...relations } = req;
75
+ let filter = new util_internal_processor_tools_1.FilterBuilder();
76
+ filter.propIn('type', type);
77
+ outputs.add(filter, relations);
78
+ });
79
+ return outputs;
80
+ }
81
+ const getItemFilter = (0, util_internal_1.weakMemo)((dataRequest) => {
82
+ return {
83
+ receipts: buildReceiptFilter(dataRequest),
84
+ transactions: buildTransactionFilter(dataRequest),
85
+ inputs: buildInputFilter(dataRequest),
86
+ outputs: buildOutputFilter(dataRequest),
87
+ };
88
+ });
89
+ function filterBlock(block, dataRequest) {
90
+ let items = getItemFilter(dataRequest);
91
+ let include = new IncludeSet();
92
+ let transactions = new Map(block.transactions.map(tx => [tx.index, tx]));
93
+ let inputsByTx = (0, util_internal_1.groupBy)(block.inputs, input => input.transactionIndex);
94
+ let outputsByTx = (0, util_internal_1.groupBy)(block.outputs, ouput => ouput.transactionIndex);
95
+ let receiptsByTx = (0, util_internal_1.groupBy)(block.receipts, receipt => receipt.transactionIndex);
96
+ if (items.receipts.present()) {
97
+ for (let receipt of block.receipts) {
98
+ let rel = items.receipts.match(receipt);
99
+ if (rel == null)
100
+ continue;
101
+ include.addReceipt(receipt);
102
+ if (rel.transaction) {
103
+ let tx = (0, util_internal_1.assertNotNull)(transactions.get(receipt.transactionIndex));
104
+ include.addTransaction(tx);
105
+ }
106
+ }
107
+ }
108
+ if (items.transactions.present()) {
109
+ for (let tx of block.transactions) {
110
+ let rel = items.transactions.match(tx);
111
+ if (rel == null)
112
+ continue;
113
+ include.addTransaction(tx);
114
+ if (rel.receipts) {
115
+ let receipts = (0, util_internal_1.assertNotNull)(receiptsByTx.get(tx.index));
116
+ for (let receipt of receipts) {
117
+ include.addReceipt(receipt);
118
+ }
119
+ }
120
+ if (rel.inputs) {
121
+ let inputs = (0, util_internal_1.assertNotNull)(inputsByTx.get(tx.index));
122
+ for (let input of inputs) {
123
+ include.addInput(input);
124
+ }
125
+ }
126
+ if (rel.outputs) {
127
+ let outputs = (0, util_internal_1.assertNotNull)(outputsByTx.get(tx.index));
128
+ for (let output of outputs) {
129
+ include.addOutput(output);
130
+ }
131
+ }
132
+ }
133
+ }
134
+ if (items.inputs.present()) {
135
+ for (let input of block.inputs) {
136
+ let rel = items.inputs.match(input);
137
+ if (rel == null)
138
+ continue;
139
+ include.addInput(input);
140
+ if (rel.transaction) {
141
+ let tx = (0, util_internal_1.assertNotNull)(transactions.get(input.transactionIndex));
142
+ include.addTransaction(tx);
143
+ }
144
+ }
145
+ }
146
+ if (items.outputs.present()) {
147
+ for (let output of block.outputs) {
148
+ let rel = items.outputs.match(output);
149
+ if (rel == null)
150
+ continue;
151
+ include.addOutput(output);
152
+ if (rel.transaction) {
153
+ let tx = (0, util_internal_1.assertNotNull)(transactions.get(output.transactionIndex));
154
+ include.addTransaction(tx);
155
+ }
156
+ }
157
+ }
158
+ block.receipts = block.receipts.filter(receipt => include.receipts.has(receipt));
159
+ block.transactions = block.transactions.filter(tx => include.transactions.has(tx));
160
+ block.inputs = block.inputs.filter(input => include.inputs.has(input));
161
+ block.outputs = block.outputs.filter(output => include.outputs.has(output));
162
+ }
163
+ exports.filterBlock = filterBlock;
164
+ function filterBlockBatch(requests, blocks) {
165
+ for (let block of blocks) {
166
+ let dataRequest = (0, util_internal_range_1.getRequestAt)(requests, block.header.height) || NO_DATA_REQUEST;
167
+ filterBlock(block, dataRequest);
168
+ }
169
+ }
170
+ exports.filterBlockBatch = filterBlockBatch;
171
+ const NO_DATA_REQUEST = {};
172
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { RangeRequestList } from '@subsquid/util-internal-range';
2
+ import { HttpDataSource } from '@subsquid/fuel-data/lib/data-source';
3
+ import { BlockHeader } from '@subsquid/fuel-data/lib/raw-data';
4
+ import { DataRequest } from './data/data-request';
5
+ import { PartialBlock } from './data/data-partial';
6
+ export declare class GraphqlDataSource {
7
+ private baseDataSource;
8
+ constructor(baseDataSource: HttpDataSource);
9
+ getFinalizedHeight(): Promise<number>;
10
+ getBlockHash(height: number): Promise<string | undefined>;
11
+ getBlockHeader(height: number): Promise<BlockHeader | undefined>;
12
+ getBlockStream(requests: RangeRequestList<DataRequest>, stopOnHead?: boolean): AsyncIterable<PartialBlock[]>;
13
+ }
14
+ //# sourceMappingURL=graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,gBAAgB,EAAC,MAAM,+BAA+B,CAAA;AACnF,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAA;AAClE,OAAO,EAAC,WAAW,EAAgC,MAAM,kCAAkC,CAAA;AAE3F,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAIhD,qBAAa,iBAAiB;IACd,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAE5C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIzD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAIzD,cAAc,CACjB,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACvC,UAAU,CAAC,EAAE,OAAO,GACrB,aAAa,CAAC,YAAY,EAAE,CAAC;CAUnC"}
package/lib/graphql.js ADDED
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphqlDataSource = void 0;
4
+ const util_internal_range_1 = require("@subsquid/util-internal-range");
5
+ const fuel_normalization_1 = require("@subsquid/fuel-normalization");
6
+ const filter_1 = require("./filter");
7
+ class GraphqlDataSource {
8
+ constructor(baseDataSource) {
9
+ this.baseDataSource = baseDataSource;
10
+ }
11
+ async getFinalizedHeight() {
12
+ return this.baseDataSource.getFinalizedHeight();
13
+ }
14
+ getBlockHash(height) {
15
+ return this.baseDataSource.getBlockHash(height);
16
+ }
17
+ getBlockHeader(height) {
18
+ return this.baseDataSource.getBlockHeader(height);
19
+ }
20
+ async *getBlockStream(requests, stopOnHead) {
21
+ for await (let batch of this.baseDataSource.getFinalizedBlocks((0, util_internal_range_1.mapRangeRequestList)(requests, toRawDataRequest), stopOnHead)) {
22
+ let blocks = batch.blocks.map(b => (0, fuel_normalization_1.mapRawBlock)(b));
23
+ (0, filter_1.filterBlockBatch)(requests, blocks);
24
+ yield blocks;
25
+ }
26
+ }
27
+ }
28
+ exports.GraphqlDataSource = GraphqlDataSource;
29
+ function toRawDataRequest(req) {
30
+ return {
31
+ transactions: !!req.transactions?.length
32
+ || !!req.inputs?.length
33
+ || !!req.outputs?.length
34
+ || !!req.receipts?.length,
35
+ inputs: !!req.inputs?.length,
36
+ outputs: !!req.outputs?.length,
37
+ receipts: !!req.receipts?.length
38
+ };
39
+ }
40
+ //# sourceMappingURL=graphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":";;;AAAA,uEAAmF;AAGnF,qEAAwD;AAGxD,qCAAyC;AAGzC,MAAa,iBAAiB;IAC1B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAI,CAAC;IAEvD,KAAK,CAAC,kBAAkB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAA;IACnD,CAAC;IAED,YAAY,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,cAAc,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,CAAC,cAAc,CACjB,QAAuC,EACvC,UAAoB;QAEpB,IAAI,KAAK,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAC1D,IAAA,yCAAmB,EAAC,QAAQ,EAAE,gBAAgB,CAAC,EAC/C,UAAU,CACb,EAAE,CAAC;YACA,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,gCAAW,EAAC,CAAC,CAAC,CAAC,CAAA;YAClD,IAAA,yBAAgB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAClC,MAAM,MAAM,CAAA;QAChB,CAAC;IACL,CAAC;CACJ;AA5BD,8CA4BC;AAGD,SAAS,gBAAgB,CAAC,GAAgB;IACtC,OAAO;QACH,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM;eACjC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM;eACpB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM;eACrB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM;QAC7B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM;QAC5B,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM;QAC9B,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM;KACnC,CAAA;AACL,CAAC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from './data/model';
2
+ export * from './source';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
package/lib/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./data/model"), exports);
18
+ __exportStar(require("./source"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,2CAAwB"}