@subsquid/portal-client 0.3.0 → 0.4.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 (131) hide show
  1. package/lib/client.d.ts +40 -18
  2. package/lib/client.d.ts.map +1 -1
  3. package/lib/client.js +199 -222
  4. package/lib/client.js.map +1 -1
  5. package/lib/query/common/data.d.ts +21 -0
  6. package/lib/query/common/data.d.ts.map +1 -0
  7. package/lib/query/common/data.js +3 -0
  8. package/lib/query/common/data.js.map +1 -0
  9. package/lib/query/common/query.d.ts +7 -0
  10. package/lib/query/common/query.d.ts.map +1 -0
  11. package/lib/query/common/query.js +3 -0
  12. package/lib/query/common/query.js.map +1 -0
  13. package/lib/query/evm/data.d.ts +159 -0
  14. package/lib/query/evm/data.d.ts.map +1 -0
  15. package/lib/query/evm/data.js +3 -0
  16. package/lib/query/evm/data.js.map +1 -0
  17. package/lib/query/evm/fields.d.ts +50 -0
  18. package/lib/query/evm/fields.d.ts.map +1 -0
  19. package/lib/query/evm/fields.js +3 -0
  20. package/lib/query/evm/fields.js.map +1 -0
  21. package/lib/query/evm/index.d.ts +4 -0
  22. package/lib/query/evm/index.d.ts.map +1 -0
  23. package/lib/query/evm/index.js +7 -0
  24. package/lib/query/evm/index.js.map +1 -0
  25. package/lib/query/evm/query.d.ts +54 -0
  26. package/lib/query/evm/query.d.ts.map +1 -0
  27. package/lib/query/evm/query.js +3 -0
  28. package/lib/query/evm/query.js.map +1 -0
  29. package/lib/query/evm/schema.d.ts +322 -0
  30. package/lib/query/evm/schema.d.ts.map +1 -0
  31. package/lib/query/evm/schema.js +224 -0
  32. package/lib/query/evm/schema.js.map +1 -0
  33. package/lib/query/index.d.ts +576 -8
  34. package/lib/query/index.d.ts.map +1 -1
  35. package/lib/query/index.js +15 -24
  36. package/lib/query/index.js.map +1 -1
  37. package/lib/query/solana/data.d.ts +115 -0
  38. package/lib/query/solana/data.d.ts.map +1 -0
  39. package/lib/query/solana/data.js +3 -0
  40. package/lib/query/solana/data.js.map +1 -0
  41. package/lib/query/solana/fields.d.ts +31 -0
  42. package/lib/query/solana/fields.d.ts.map +1 -0
  43. package/lib/query/solana/fields.js +3 -0
  44. package/lib/query/solana/fields.js.map +1 -0
  45. package/lib/query/solana/index.d.ts +4 -0
  46. package/lib/query/solana/index.d.ts.map +1 -0
  47. package/lib/query/solana/index.js +7 -0
  48. package/lib/query/solana/index.js.map +1 -0
  49. package/lib/query/solana/query.d.ts +74 -0
  50. package/lib/query/solana/query.d.ts.map +1 -0
  51. package/lib/query/solana/query.js +3 -0
  52. package/lib/query/solana/query.js.map +1 -0
  53. package/lib/query/solana/schema.d.ts +160 -0
  54. package/lib/query/solana/schema.d.ts.map +1 -0
  55. package/lib/query/solana/schema.js +130 -0
  56. package/lib/query/solana/schema.js.map +1 -0
  57. package/lib/query/substrate/data.d.ts +98 -0
  58. package/lib/query/substrate/data.d.ts.map +1 -0
  59. package/lib/query/substrate/data.js +3 -0
  60. package/lib/query/substrate/data.js.map +1 -0
  61. package/lib/query/substrate/fields.d.ts +22 -0
  62. package/lib/query/substrate/fields.d.ts.map +1 -0
  63. package/lib/query/substrate/fields.js +3 -0
  64. package/lib/query/substrate/fields.js.map +1 -0
  65. package/lib/query/substrate/index.d.ts +4 -0
  66. package/lib/query/substrate/index.d.ts.map +1 -0
  67. package/lib/query/substrate/index.js +7 -0
  68. package/lib/query/substrate/index.js.map +1 -0
  69. package/lib/query/substrate/query.d.ts +50 -0
  70. package/lib/query/substrate/query.d.ts.map +1 -0
  71. package/lib/query/substrate/query.js +3 -0
  72. package/lib/query/substrate/query.js.map +1 -0
  73. package/lib/query/substrate/schema.d.ts +102 -0
  74. package/lib/query/substrate/schema.d.ts.map +1 -0
  75. package/lib/query/substrate/schema.js +88 -0
  76. package/lib/query/substrate/schema.js.map +1 -0
  77. package/lib/query/type-util.d.ts +13 -0
  78. package/lib/query/type-util.d.ts.map +1 -0
  79. package/lib/query/type-util.js +3 -0
  80. package/lib/query/type-util.js.map +1 -0
  81. package/lib/query/util.d.ts +5 -0
  82. package/lib/query/util.d.ts.map +1 -0
  83. package/lib/query/util.js +23 -0
  84. package/lib/query/util.js.map +1 -0
  85. package/lib/util.d.ts +19 -0
  86. package/lib/util.d.ts.map +1 -0
  87. package/lib/util.js +57 -0
  88. package/lib/util.js.map +1 -0
  89. package/package.json +3 -3
  90. package/src/client.ts +261 -278
  91. package/src/query/common/data.ts +24 -0
  92. package/src/query/common/query.ts +6 -0
  93. package/src/query/evm/data.ts +182 -0
  94. package/src/query/evm/fields.ts +105 -0
  95. package/src/query/evm/index.ts +3 -0
  96. package/src/query/evm/query.ts +59 -0
  97. package/src/query/evm/schema.ts +277 -0
  98. package/src/query/index.ts +19 -36
  99. package/src/query/solana/data.ts +132 -0
  100. package/src/query/solana/fields.ts +42 -0
  101. package/src/query/solana/index.ts +3 -0
  102. package/src/query/solana/query.ts +89 -0
  103. package/src/query/solana/schema.ts +164 -0
  104. package/src/query/substrate/data.ts +101 -0
  105. package/src/query/substrate/fields.ts +30 -0
  106. package/src/query/substrate/index.ts +3 -0
  107. package/src/query/substrate/query.ts +60 -0
  108. package/src/query/substrate/schema.ts +114 -0
  109. package/src/query/type-util.ts +25 -0
  110. package/src/query/util.ts +23 -0
  111. package/src/util.ts +56 -0
  112. package/lib/query/common.d.ts +0 -56
  113. package/lib/query/common.d.ts.map +0 -1
  114. package/lib/query/common.js +0 -16
  115. package/lib/query/common.js.map +0 -1
  116. package/lib/query/evm.d.ts +0 -267
  117. package/lib/query/evm.d.ts.map +0 -1
  118. package/lib/query/evm.js +0 -245
  119. package/lib/query/evm.js.map +0 -1
  120. package/lib/query/solana.d.ts +0 -224
  121. package/lib/query/solana.d.ts.map +0 -1
  122. package/lib/query/solana.js +0 -121
  123. package/lib/query/solana.js.map +0 -1
  124. package/lib/query/substrate.d.ts +0 -173
  125. package/lib/query/substrate.d.ts.map +0 -1
  126. package/lib/query/substrate.js +0 -71
  127. package/lib/query/substrate.js.map +0 -1
  128. package/src/query/common.ts +0 -83
  129. package/src/query/evm.ts +0 -677
  130. package/src/query/solana.ts +0 -438
  131. package/src/query/substrate.ts +0 -288
@@ -0,0 +1,98 @@
1
+ import type { Bytes } from '../common/data';
2
+ /**
3
+ * @example 'Balances.Transfer'
4
+ */
5
+ export type QualifiedName = string & {};
6
+ export interface BlockHeader {
7
+ /**
8
+ * Block number (height)
9
+ */
10
+ number: number;
11
+ /**
12
+ * Block hash
13
+ */
14
+ hash: Bytes;
15
+ /**
16
+ * Hash of the parent block
17
+ */
18
+ parentHash: Bytes;
19
+ /**
20
+ * Root hash of the state merkle tree
21
+ */
22
+ stateRoot: Bytes;
23
+ /**
24
+ * Root hash of the extrinsics merkle tree
25
+ */
26
+ extrinsicsRoot: Bytes;
27
+ digest: {
28
+ logs: Bytes[];
29
+ };
30
+ specName: string;
31
+ specVersion: number;
32
+ implName: string;
33
+ implVersion: number;
34
+ /**
35
+ * Block timestamp as set by `timestamp.now()` (unix epoch ms, compatible with `Date`).
36
+ */
37
+ timestamp?: number;
38
+ /**
39
+ * Account address of block validator
40
+ */
41
+ validator?: Bytes;
42
+ }
43
+ export interface ExtrinsicSignature {
44
+ address: Bytes;
45
+ signature: unknown;
46
+ signedExtensions: unknown;
47
+ }
48
+ export interface Extrinsic {
49
+ /**
50
+ * Ordinal index in the extrinsics array of the current block
51
+ */
52
+ index: number;
53
+ version: number;
54
+ signature?: ExtrinsicSignature;
55
+ fee?: bigint;
56
+ tip?: bigint;
57
+ error?: unknown;
58
+ success?: boolean;
59
+ /**
60
+ * Blake2b 128-bit hash of the raw extrinsic
61
+ */
62
+ hash?: Bytes;
63
+ }
64
+ export interface Call {
65
+ extrinsicIndex: number;
66
+ address: number[];
67
+ name: QualifiedName;
68
+ args: unknown;
69
+ origin?: unknown;
70
+ /**
71
+ * Call error.
72
+ *
73
+ * Absence of error doesn't imply that the call was executed successfully,
74
+ * check {@link success} property for that.
75
+ */
76
+ error?: unknown;
77
+ success?: boolean;
78
+ }
79
+ export interface Event {
80
+ /**
81
+ * Ordinal index in the event array of the current block
82
+ */
83
+ index: number;
84
+ /**
85
+ * Event name
86
+ */
87
+ name: QualifiedName;
88
+ args: unknown;
89
+ phase: 'Initialization' | 'ApplyExtrinsic' | 'Finalization';
90
+ extrinsicIndex?: number;
91
+ callAddress?: number[];
92
+ /**
93
+ * This field is not supported by all currently deployed archives.
94
+ * Requesting it may cause internal error.
95
+ */
96
+ topics: Bytes[];
97
+ }
98
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/query/substrate/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAA;AAEzC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,EAAE,CAAA;AAEvC,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,EAAE,KAAK,CAAA;IACX;;OAEG;IACH,UAAU,EAAE,KAAK,CAAA;IACjB;;OAEG;IACH,SAAS,EAAE,KAAK,CAAA;IAChB;;OAEG;IACH,cAAc,EAAE,KAAK,CAAA;IACrB,MAAM,EAAE;QAAC,IAAI,EAAE,KAAK,EAAE,CAAA;KAAC,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,KAAK,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,kBAAkB,CAAA;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAA;CACf;AAED,MAAM,WAAW,IAAI;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,KAAK;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,CAAA;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB;;;OAGG;IACH,MAAM,EAAE,KAAK,EAAE,CAAA;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/query/substrate/data.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import type { GetFields, Select, Selector, Simplify } from '../type-util';
2
+ import type * as data from './data';
3
+ type BlockRequiredFields = 'number' | 'hash';
4
+ export interface FieldSelection {
5
+ block?: Selector<Exclude<keyof data.BlockHeader, BlockRequiredFields>>;
6
+ extrinsic?: Selector<keyof data.Extrinsic>;
7
+ call?: Selector<keyof data.Call>;
8
+ event?: Selector<keyof data.Event>;
9
+ }
10
+ export type BlockHeader<F extends FieldSelection> = Simplify<Pick<data.BlockHeader, BlockRequiredFields> & Select<data.BlockHeader, GetFields<F['block']>>>;
11
+ type Item<T, F extends FieldSelection, K extends keyof F> = Select<T, GetFields<F[K]>>;
12
+ export type Extrinsic<F extends FieldSelection> = Item<data.Extrinsic, F, 'extrinsic'>;
13
+ export type Call<F extends FieldSelection> = Item<data.Call, F, 'call'>;
14
+ export type Event<F extends FieldSelection> = Item<data.Event, F, 'event'>;
15
+ export interface Block<F extends FieldSelection> {
16
+ header: BlockHeader<F>;
17
+ extrinsics: Extrinsic<F>[];
18
+ calls: Call<F>[];
19
+ events: Event<F>[];
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/query/substrate/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAA;AACvE,OAAO,KAAK,KAAK,IAAI,MAAM,QAAQ,CAAA;AAEnC,KAAK,mBAAmB,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAA;IACtE,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1C,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;IAChC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;CACrC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,cAAc,IAAI,QAAQ,CACxD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAChG,CAAA;AAED,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEtF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW,CAAC,CAAA;AAEtF,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;AAEvE,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;AAE1E,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,cAAc;IAC3C,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACtB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1B,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/query/substrate/fields.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type * from './fields';
2
+ export type * from './query';
3
+ export { getBlockSchema, patchQueryFields } from './schema';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/query/substrate/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,SAAS,CAAA;AAC5B,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAA"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.patchQueryFields = exports.getBlockSchema = void 0;
4
+ var schema_1 = require("./schema");
5
+ Object.defineProperty(exports, "getBlockSchema", { enumerable: true, get: function () { return schema_1.getBlockSchema; } });
6
+ Object.defineProperty(exports, "patchQueryFields", { enumerable: true, get: function () { return schema_1.patchQueryFields; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/query/substrate/index.ts"],"names":[],"mappings":";;;AAEA,mCAAyD;AAAjD,wGAAA,cAAc,OAAA;AAAE,0GAAA,gBAAgB,OAAA"}
@@ -0,0 +1,50 @@
1
+ import type { QueryBase } from '../common/query';
2
+ import type { Bytes } from '../common/data';
3
+ import type { FieldSelection } from './fields';
4
+ import type { QualifiedName } from './data';
5
+ export interface Query<F extends FieldSelection = FieldSelection> extends QueryBase, ItemQuery {
6
+ type: 'substrate';
7
+ fields?: F;
8
+ }
9
+ export interface ItemQuery {
10
+ events?: EventRequest[];
11
+ calls?: CallRequest[];
12
+ evmLogs?: EvmLogRequest[];
13
+ ethereumTransactions?: EthereumTransactRequest[];
14
+ contractsEvents?: ContractsContractEmittedRequest[];
15
+ gearMessagesQueued?: GearMessageQueuedRequest[];
16
+ gearUserMessagesSent?: GearUserMessageSentRequest[];
17
+ }
18
+ export interface EventRelations {
19
+ extrinsic?: boolean;
20
+ call?: boolean;
21
+ stack?: boolean;
22
+ }
23
+ export interface EventRequest extends EventRelations {
24
+ name?: QualifiedName[];
25
+ }
26
+ export interface CallRelations {
27
+ extrinsic?: boolean;
28
+ stack?: boolean;
29
+ events?: boolean;
30
+ }
31
+ export interface CallRequest extends CallRelations {
32
+ name?: QualifiedName[];
33
+ }
34
+ export interface EvmLogRequest extends EventRelations {
35
+ address?: Bytes[];
36
+ }
37
+ export interface EthereumTransactRequest extends CallRelations {
38
+ to?: Bytes[];
39
+ sighash?: Bytes[];
40
+ }
41
+ export interface ContractsContractEmittedRequest extends EventRelations {
42
+ address?: Bytes[];
43
+ }
44
+ export interface GearMessageQueuedRequest extends EventRelations {
45
+ programId?: Bytes[];
46
+ }
47
+ export interface GearUserMessageSentRequest extends EventRelations {
48
+ programId?: Bytes[];
49
+ }
50
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/query/substrate/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAA;AAEzC,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,SAAS,EAAE,SAAS;IAC1F,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,CAAC,EAAE,CAAC,CAAA;CACb;AAED,MAAM,WAAW,SAAS;IACtB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,oBAAoB,CAAC,EAAE,uBAAuB,EAAE,CAAA;IAChD,eAAe,CAAC,EAAE,+BAA+B,EAAE,CAAA;IACnD,kBAAkB,CAAC,EAAE,wBAAwB,EAAE,CAAA;IAC/C,oBAAoB,CAAC,EAAE,0BAA0B,EAAE,CAAA;CACtD;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAChD,IAAI,CAAC,EAAE,aAAa,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAC9C,IAAI,CAAC,EAAE,aAAa,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACjD,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC1D,EAAE,CAAC,EAAE,KAAK,EAAE,CAAA;IACZ,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,+BAAgC,SAAQ,cAAc;IACnE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC5D,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAC9D,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/query/substrate/query.ts"],"names":[],"mappings":""}
@@ -0,0 +1,102 @@
1
+ import type { FieldSelection } from './fields';
2
+ export declare function patchQueryFields(fields: FieldSelection): FieldSelection;
3
+ export declare function getBlockSchema(fields: FieldSelection): import("@subsquid/util-internal-validation").Validator<{
4
+ header: {
5
+ number: number;
6
+ hash: string;
7
+ parentHash?: string | undefined;
8
+ stateRoot?: string | undefined;
9
+ extrinsicsRoot?: string | undefined;
10
+ digest?: {
11
+ logs: string[];
12
+ } | undefined;
13
+ specName?: string | undefined;
14
+ specVersion?: number | undefined;
15
+ implName?: string | undefined;
16
+ implVersion?: number | undefined;
17
+ timestamp?: number | undefined;
18
+ validator?: string | undefined;
19
+ };
20
+ extrinsics: {
21
+ index?: number | undefined;
22
+ version?: number | undefined;
23
+ signature?: {
24
+ address: string;
25
+ signature: object;
26
+ signedExtensions: object;
27
+ } | undefined;
28
+ fee?: bigint | undefined;
29
+ tip?: bigint | undefined;
30
+ error?: any;
31
+ success?: boolean | undefined;
32
+ hash?: string | undefined;
33
+ }[];
34
+ calls: {
35
+ extrinsicIndex?: number | undefined;
36
+ address?: number[] | undefined;
37
+ name?: string | undefined;
38
+ args?: any;
39
+ origin?: any;
40
+ error?: any;
41
+ success?: boolean | undefined;
42
+ }[];
43
+ events: {
44
+ index?: number | undefined;
45
+ name?: string | undefined;
46
+ args?: any;
47
+ phase?: "Initialization" | "ApplyExtrinsic" | "Finalization" | undefined;
48
+ extrinsicIndex?: number | undefined;
49
+ callAddress?: number[] | undefined;
50
+ topics?: string[] | undefined;
51
+ }[];
52
+ }, {
53
+ header: {
54
+ number: number;
55
+ hash: string;
56
+ parentHash?: string | undefined;
57
+ stateRoot?: string | undefined;
58
+ extrinsicsRoot?: string | undefined;
59
+ digest?: {
60
+ logs: string[];
61
+ } | undefined;
62
+ specName?: string | undefined;
63
+ specVersion?: number | undefined;
64
+ implName?: string | undefined;
65
+ implVersion?: number | undefined;
66
+ timestamp?: number | null | undefined;
67
+ validator?: string | null | undefined;
68
+ };
69
+ extrinsics?: {
70
+ index?: number | undefined;
71
+ version?: number | undefined;
72
+ signature?: {
73
+ address: string;
74
+ signature: object;
75
+ signedExtensions: object;
76
+ } | null | undefined;
77
+ fee?: string | null | undefined;
78
+ tip?: string | null | undefined;
79
+ error?: any;
80
+ success?: boolean | null | undefined;
81
+ hash?: string | null | undefined;
82
+ }[] | null | undefined;
83
+ calls?: {
84
+ extrinsicIndex?: number | undefined;
85
+ address?: number[] | undefined;
86
+ name?: string | undefined;
87
+ args?: any;
88
+ origin?: any;
89
+ error?: any;
90
+ success?: boolean | null | undefined;
91
+ }[] | null | undefined;
92
+ events?: {
93
+ index?: number | undefined;
94
+ name?: string | undefined;
95
+ args?: any;
96
+ phase?: "Initialization" | "ApplyExtrinsic" | "Finalization" | undefined;
97
+ extrinsicIndex?: number | null | undefined;
98
+ callAddress?: number[] | null | undefined;
99
+ topics?: string[] | undefined;
100
+ }[] | null | undefined;
101
+ }>;
102
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/query/substrate/schema.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAA;AAE5C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAWvE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOpD"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.patchQueryFields = patchQueryFields;
4
+ exports.getBlockSchema = getBlockSchema;
5
+ const util_internal_validation_1 = require("@subsquid/util-internal-validation");
6
+ const util_1 = require("../util");
7
+ function patchQueryFields(fields) {
8
+ fields = { ...fields };
9
+ let { number, hash, ...block } = fields.block ?? {};
10
+ fields.block = {
11
+ ...block,
12
+ number: true,
13
+ hash: true,
14
+ };
15
+ return fields;
16
+ }
17
+ function getBlockSchema(fields) {
18
+ return (0, util_internal_validation_1.object)({
19
+ header: getBlockHeaderSchema(fields.block),
20
+ extrinsics: (0, util_internal_validation_1.withDefault)([], (0, util_internal_validation_1.array)(getExtrinsicSchema(fields.extrinsic))),
21
+ calls: (0, util_internal_validation_1.withDefault)([], (0, util_internal_validation_1.array)(getCallSchema(fields.call))),
22
+ events: (0, util_internal_validation_1.withDefault)([], (0, util_internal_validation_1.array)(getEventSchema(fields.event))),
23
+ });
24
+ }
25
+ function getBlockHeaderSchema(fields) {
26
+ return (0, util_internal_validation_1.object)({
27
+ number: util_internal_validation_1.NAT,
28
+ hash: util_internal_validation_1.BYTES,
29
+ ...(0, util_1.project)(fields, {
30
+ parentHash: util_internal_validation_1.BYTES,
31
+ stateRoot: util_internal_validation_1.BYTES,
32
+ extrinsicsRoot: util_internal_validation_1.BYTES,
33
+ digest: (0, util_internal_validation_1.object)({
34
+ logs: (0, util_internal_validation_1.array)(util_internal_validation_1.BYTES),
35
+ }),
36
+ specName: util_internal_validation_1.STRING,
37
+ specVersion: util_internal_validation_1.NAT,
38
+ implName: util_internal_validation_1.STRING,
39
+ implVersion: util_internal_validation_1.NAT,
40
+ timestamp: (0, util_internal_validation_1.option)(util_internal_validation_1.NAT),
41
+ validator: (0, util_internal_validation_1.option)(util_internal_validation_1.BYTES),
42
+ }),
43
+ });
44
+ }
45
+ const ExtrinsicSignature = (0, util_internal_validation_1.object)({
46
+ address: util_internal_validation_1.BYTES,
47
+ signature: util_internal_validation_1.ANY_OBJECT,
48
+ signedExtensions: util_internal_validation_1.ANY_OBJECT,
49
+ });
50
+ function getExtrinsicSchema(fields) {
51
+ return (0, util_internal_validation_1.object)((0, util_1.project)(fields, {
52
+ index: util_internal_validation_1.NAT,
53
+ version: util_internal_validation_1.NAT,
54
+ signature: (0, util_internal_validation_1.option)(ExtrinsicSignature),
55
+ fee: (0, util_internal_validation_1.option)(util_internal_validation_1.BIG_NAT),
56
+ tip: (0, util_internal_validation_1.option)(util_internal_validation_1.BIG_NAT),
57
+ error: (0, util_internal_validation_1.nullable)(util_internal_validation_1.ANY),
58
+ success: (0, util_internal_validation_1.option)(util_internal_validation_1.BOOLEAN),
59
+ hash: (0, util_internal_validation_1.option)(util_internal_validation_1.BYTES),
60
+ }));
61
+ }
62
+ function getCallSchema(fields) {
63
+ return (0, util_internal_validation_1.object)((0, util_1.project)(fields, {
64
+ extrinsicIndex: util_internal_validation_1.NAT,
65
+ address: (0, util_internal_validation_1.array)(util_internal_validation_1.NAT),
66
+ name: util_internal_validation_1.STRING,
67
+ args: util_internal_validation_1.ANY,
68
+ origin: (0, util_internal_validation_1.option)(util_internal_validation_1.ANY),
69
+ error: (0, util_internal_validation_1.nullable)(util_internal_validation_1.ANY),
70
+ success: (0, util_internal_validation_1.option)(util_internal_validation_1.BOOLEAN),
71
+ }));
72
+ }
73
+ function getEventSchema(fields) {
74
+ return (0, util_internal_validation_1.object)((0, util_1.project)(fields, {
75
+ index: util_internal_validation_1.NAT,
76
+ name: util_internal_validation_1.STRING,
77
+ args: util_internal_validation_1.ANY,
78
+ phase: (0, util_internal_validation_1.oneOf)({
79
+ Initialization: (0, util_internal_validation_1.constant)('Initialization'),
80
+ ApplyExtrinsic: (0, util_internal_validation_1.constant)('ApplyExtrinsic'),
81
+ Finalization: (0, util_internal_validation_1.constant)('Finalization'),
82
+ }),
83
+ extrinsicIndex: (0, util_internal_validation_1.option)(util_internal_validation_1.NAT),
84
+ callAddress: (0, util_internal_validation_1.option)((0, util_internal_validation_1.array)(util_internal_validation_1.NAT)),
85
+ topics: (0, util_internal_validation_1.array)(util_internal_validation_1.BYTES),
86
+ }));
87
+ }
88
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/query/substrate/schema.ts"],"names":[],"mappings":";;AAmBA,4CAWC;AAED,wCAOC;AAvCD,iFAe2C;AAC3C,kCAAwC;AAGxC,SAAgB,gBAAgB,CAAC,MAAsB;IACnD,MAAM,GAAG,EAAC,GAAG,MAAM,EAAC,CAAA;IAEpB,IAAI,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,EAAC,GAAI,MAAM,CAAC,KAAa,IAAI,EAAE,CAAA;IAC1D,MAAM,CAAC,KAAK,GAAG;QACX,GAAG,KAAK;QACR,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;KACb,CAAA;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,SAAgB,cAAc,CAAC,MAAsB;IACjD,OAAO,IAAA,iCAAM,EAAC;QACV,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1C,UAAU,EAAE,IAAA,sCAAW,EAAC,EAAE,EAAE,IAAA,gCAAK,EAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,KAAK,EAAE,IAAA,sCAAW,EAAC,EAAE,EAAE,IAAA,gCAAK,EAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,MAAM,EAAE,IAAA,sCAAW,EAAC,EAAE,EAAE,IAAA,gCAAK,EAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KAC/D,CAAC,CAAA;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA+B;IACzD,OAAO,IAAA,iCAAM,EAAC;QACV,MAAM,EAAE,8BAAG;QACX,IAAI,EAAE,gCAAK;QACX,GAAG,IAAA,cAAO,EAAC,MAAM,EAAE;YACf,UAAU,EAAE,gCAAK;YACjB,SAAS,EAAE,gCAAK;YAChB,cAAc,EAAE,gCAAK;YACrB,MAAM,EAAE,IAAA,iCAAM,EAAC;gBACX,IAAI,EAAE,IAAA,gCAAK,EAAC,gCAAK,CAAC;aACrB,CAAC;YACF,QAAQ,EAAE,iCAAM;YAChB,WAAW,EAAE,8BAAG;YAChB,QAAQ,EAAE,iCAAM;YAChB,WAAW,EAAE,8BAAG;YAChB,SAAS,EAAE,IAAA,iCAAM,EAAC,8BAAG,CAAC;YACtB,SAAS,EAAE,IAAA,iCAAM,EAAC,gCAAK,CAAC;SAC3B,CAAC;KACL,CAAC,CAAA;AACN,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAA,iCAAM,EAAC;IAC9B,OAAO,EAAE,gCAAK;IACd,SAAS,EAAE,qCAAU;IACrB,gBAAgB,EAAE,qCAAU;CAC/B,CAAC,CAAA;AAEF,SAAS,kBAAkB,CAAC,MAAmC;IAC3D,OAAO,IAAA,iCAAM,EACT,IAAA,cAAO,EAAC,MAAM,EAAE;QACZ,KAAK,EAAE,8BAAG;QACV,OAAO,EAAE,8BAAG;QACZ,SAAS,EAAE,IAAA,iCAAM,EAAC,kBAAkB,CAAC;QACrC,GAAG,EAAE,IAAA,iCAAM,EAAC,kCAAO,CAAC;QACpB,GAAG,EAAE,IAAA,iCAAM,EAAC,kCAAO,CAAC;QACpB,KAAK,EAAE,IAAA,mCAAQ,EAAC,8BAAG,CAAC;QACpB,OAAO,EAAE,IAAA,iCAAM,EAAC,kCAAO,CAAC;QACxB,IAAI,EAAE,IAAA,iCAAM,EAAC,gCAAK,CAAC;KACtB,CAAC,CACL,CAAA;AACL,CAAC;AAED,SAAS,aAAa,CAAC,MAA8B;IACjD,OAAO,IAAA,iCAAM,EACT,IAAA,cAAO,EAAC,MAAM,EAAE;QACZ,cAAc,EAAE,8BAAG;QACnB,OAAO,EAAE,IAAA,gCAAK,EAAC,8BAAG,CAAC;QACnB,IAAI,EAAE,iCAAM;QACZ,IAAI,EAAE,8BAAG;QACT,MAAM,EAAE,IAAA,iCAAM,EAAC,8BAAG,CAAC;QACnB,KAAK,EAAE,IAAA,mCAAQ,EAAC,8BAAG,CAAC;QACpB,OAAO,EAAE,IAAA,iCAAM,EAAC,kCAAO,CAAC;KAC3B,CAAC,CACL,CAAA;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B;IACnD,OAAO,IAAA,iCAAM,EACT,IAAA,cAAO,EAAC,MAAM,EAAE;QACZ,KAAK,EAAE,8BAAG;QACV,IAAI,EAAE,iCAAM;QACZ,IAAI,EAAE,8BAAG;QACT,KAAK,EAAE,IAAA,gCAAK,EAAC;YACT,cAAc,EAAE,IAAA,mCAAQ,EAAC,gBAAgB,CAAC;YAC1C,cAAc,EAAE,IAAA,mCAAQ,EAAC,gBAAgB,CAAC;YAC1C,YAAY,EAAE,IAAA,mCAAQ,EAAC,cAAc,CAAC;SACzC,CAAC;QACF,cAAc,EAAE,IAAA,iCAAM,EAAC,8BAAG,CAAC;QAC3B,WAAW,EAAE,IAAA,iCAAM,EAAC,IAAA,gCAAK,EAAC,8BAAG,CAAC,CAAC;QAC/B,MAAM,EAAE,IAAA,gCAAK,EAAC,gCAAK,CAAC;KACvB,CAAC,CACL,CAAA;AACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ export type Simplify<T> = {
2
+ [K in keyof T]: T[K];
3
+ } & {};
4
+ export type Selector<Fields extends string | number | symbol> = {
5
+ [P in Fields]?: boolean;
6
+ };
7
+ export type Select<T, F> = T extends any ? Simplify<Pick<T, Extract<keyof T, F>>> : never;
8
+ export type GetFields<F> = keyof {
9
+ [K in keyof F as true extends F[K] ? K : never]: true;
10
+ };
11
+ export type AddPrefix<Prefix extends string, S extends string> = `${Prefix}${Capitalize<S>}`;
12
+ export type RemovePrefix<Prefix extends string, T> = T extends `${Prefix}${infer S}` ? Uncapitalize<S> : never;
13
+ //# sourceMappingURL=type-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-util.d.ts","sourceRoot":"","sources":["../../src/query/type-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,QAAQ,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;KAC3D,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,OAAO;CAC1B,CAAA;AAGD,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAGzF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,MAAM;KAC5B,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI;CACxD,CAAA;AAGD,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;AAG5F,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,IAC3C,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,GAC/B,YAAY,CAAC,CAAC,CAAC,GACf,KAAK,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-util.js","sourceRoot":"","sources":["../../src/query/type-util.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare function project<T extends object, F extends {
2
+ [K in keyof T]?: boolean;
3
+ }>(fields: F | undefined, obj: T): Partial<T>;
4
+ export declare function isEmpty(obj: object): boolean;
5
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/query/util.ts"],"names":[],"mappings":"AACA,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;CAAE,EAC5E,MAAM,EAAE,CAAC,GAAG,SAAS,EACrB,GAAG,EAAE,CAAC,GACP,OAAO,CAAC,CAAC,CAAC,CAUZ;AAGD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAK5C"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.project = project;
4
+ exports.isEmpty = isEmpty;
5
+ function project(fields, obj) {
6
+ if (fields == null)
7
+ return {};
8
+ let result = {};
9
+ let key;
10
+ for (key in obj) {
11
+ if (fields[key]) {
12
+ result[key] = obj[key];
13
+ }
14
+ }
15
+ return result;
16
+ }
17
+ function isEmpty(obj) {
18
+ for (let _ in obj) {
19
+ return false;
20
+ }
21
+ return true;
22
+ }
23
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/query/util.ts"],"names":[],"mappings":";;AACA,0BAaC;AAGD,0BAKC;AArBD,SAAgB,OAAO,CACnB,MAAqB,EACrB,GAAM;IAEN,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,EAAE,CAAA;IAC7B,IAAI,MAAM,GAAe,EAAE,CAAA;IAC3B,IAAI,GAAY,CAAA;IAChB,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAGD,SAAgB,OAAO,CAAC,GAAW;IAC/B,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC"}
package/lib/util.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ export declare class Timer {
2
+ private ms;
3
+ private cb;
4
+ private timeout?;
5
+ constructor(ms: number, cb: () => void);
6
+ start(ms?: number): void;
7
+ stop(): void;
8
+ reset(): void;
9
+ }
10
+ export declare class Semaphore {
11
+ private isReady;
12
+ private future?;
13
+ constructor(isReady: boolean);
14
+ wait(): Promise<void> | void;
15
+ ready(): void;
16
+ unready(): void;
17
+ reject(err: Error): void;
18
+ }
19
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAEA,qBAAa,KAAK;IAGF,OAAO,CAAC,EAAE;IAAU,OAAO,CAAC,EAAE;IAF1C,OAAO,CAAC,OAAO,CAAC,CAAK;gBAED,EAAE,EAAE,MAAM,EAAU,EAAE,EAAE,MAAM,IAAI;IAEtD,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAQxB,IAAI,IAAI,IAAI;IAMZ,KAAK,IAAI,IAAI;CAIhB;AAED,qBAAa,SAAS;IAGN,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,MAAM,CAAC,CAAc;gBAET,OAAO,EAAE,OAAO;IAEpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAM5B,KAAK,IAAI,IAAI;IAMb,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,GAAG,EAAE,KAAK;CAOpB"}
package/lib/util.js ADDED
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Semaphore = exports.Timer = void 0;
4
+ const util_internal_1 = require("@subsquid/util-internal");
5
+ class Timer {
6
+ constructor(ms, cb) {
7
+ this.ms = ms;
8
+ this.cb = cb;
9
+ }
10
+ start(ms) {
11
+ if (this.timeout != null)
12
+ return;
13
+ this.timeout = setTimeout(() => {
14
+ this.timeout = undefined;
15
+ this.cb();
16
+ }, ms ?? this.ms);
17
+ }
18
+ stop() {
19
+ if (this.timeout == null)
20
+ return;
21
+ clearTimeout(this.timeout);
22
+ this.timeout = undefined;
23
+ }
24
+ reset() {
25
+ this.stop();
26
+ this.start();
27
+ }
28
+ }
29
+ exports.Timer = Timer;
30
+ class Semaphore {
31
+ constructor(isReady) {
32
+ this.isReady = isReady;
33
+ }
34
+ wait() {
35
+ if (this.isReady)
36
+ return;
37
+ this.future = this.future || (0, util_internal_1.createFuture)();
38
+ return this.future.promise();
39
+ }
40
+ ready() {
41
+ this.isReady = true;
42
+ this.future?.resolve();
43
+ this.future = undefined;
44
+ }
45
+ unready() {
46
+ this.isReady = false;
47
+ }
48
+ reject(err) {
49
+ let future = this.future;
50
+ if (future) {
51
+ this.future = undefined;
52
+ future.reject(err);
53
+ }
54
+ }
55
+ }
56
+ exports.Semaphore = Semaphore;
57
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA,2DAAiE;AAEjE,MAAa,KAAK;IAGd,YAAoB,EAAU,EAAU,EAAc;QAAlC,OAAE,GAAF,EAAE,CAAQ;QAAU,OAAE,GAAF,EAAE,CAAY;IAAG,CAAC;IAE1D,KAAK,CAAC,EAAW;QACb,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,OAAM;QAChC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;YACxB,IAAI,CAAC,EAAE,EAAE,CAAA;QACb,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,OAAM;QAChC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,IAAI,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC;CACJ;AAvBD,sBAuBC;AAED,MAAa,SAAS;IAGlB,YAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAExC,IAAI;QACA,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAA,4BAAY,GAAE,CAAA;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAChC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,GAAU;QACb,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACxB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;YACvB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;IACL,CAAC;CACJ;AA5BD,8BA4BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subsquid/portal-client",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "SQD Portal API",
5
5
  "license": "GPL-3.0-or-later",
6
6
  "repository": "git@github.com:subsquid/squid.git",
@@ -21,11 +21,11 @@
21
21
  "@subsquid/util-internal-validation": "^0.8.0"
22
22
  },
23
23
  "peerDependencies": {
24
- "@subsquid/http-client": "^1.7.0"
24
+ "@subsquid/http-client": "^1.8.0"
25
25
  },
26
26
  "peerDependenciesMeta": {},
27
27
  "devDependencies": {
28
- "@subsquid/http-client": "^1.7.0",
28
+ "@subsquid/http-client": "^1.8.0",
29
29
  "@types/node": "^18.18.14",
30
30
  "typescript": "5.5.4"
31
31
  },