@sentio/sdk 2.39.7-rc.3 → 2.39.7-rc.31

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 (50) hide show
  1. package/lib/aptos/codegen/types.test.js.map +1 -1
  2. package/lib/aptos/ext/coin-event.test.js.map +1 -1
  3. package/lib/aptos/ext/coin.test.js.map +1 -1
  4. package/lib/core/event-logger.test.js.map +1 -1
  5. package/lib/core/normalization.test.js.map +1 -1
  6. package/lib/core/numberish.test.js.map +1 -1
  7. package/lib/eth/base-processor.d.ts.map +1 -1
  8. package/lib/eth/base-processor.js +7 -6
  9. package/lib/eth/base-processor.js.map +1 -1
  10. package/lib/eth/context.d.ts +1 -1
  11. package/lib/eth/context.d.ts.map +1 -1
  12. package/lib/eth/context.js.map +1 -1
  13. package/lib/eth/eth.test.js.map +1 -1
  14. package/lib/eth/generic-processor.test.js.map +1 -1
  15. package/lib/eth/provider.d.ts.map +1 -1
  16. package/lib/eth/provider.js +12 -18
  17. package/lib/eth/provider.js.map +1 -1
  18. package/lib/eth/provider.test.js.map +1 -1
  19. package/lib/store/codegen.d.ts.map +1 -1
  20. package/lib/store/codegen.js +5 -2
  21. package/lib/store/codegen.js.map +1 -1
  22. package/lib/store/convert.js +1 -1
  23. package/lib/store/convert.js.map +1 -1
  24. package/lib/store/convert.test.js.map +1 -1
  25. package/lib/store/cursor.d.ts +14 -0
  26. package/lib/store/cursor.d.ts.map +1 -0
  27. package/lib/store/cursor.js +22 -0
  28. package/lib/store/cursor.js.map +1 -0
  29. package/lib/store/index.d.ts +1 -0
  30. package/lib/store/index.d.ts.map +1 -1
  31. package/lib/store/index.js +1 -0
  32. package/lib/store/index.js.map +1 -1
  33. package/lib/store/schema.js +1 -1
  34. package/lib/store/store.d.ts +19 -12
  35. package/lib/store/store.d.ts.map +1 -1
  36. package/lib/store/store.js +39 -14
  37. package/lib/store/store.js.map +1 -1
  38. package/lib/utils/dex-price.test.js.map +1 -1
  39. package/lib/utils/erc20.test.js.map +1 -1
  40. package/lib/utils/price.test.js.map +1 -1
  41. package/package.json +4 -5
  42. package/src/eth/base-processor.ts +8 -8
  43. package/src/eth/context.ts +1 -1
  44. package/src/eth/provider.ts +15 -19
  45. package/src/store/codegen.ts +6 -2
  46. package/src/store/convert.ts +2 -2
  47. package/src/store/cursor.ts +29 -0
  48. package/src/store/index.ts +1 -0
  49. package/src/store/schema.ts +1 -1
  50. package/src/store/store.ts +125 -23
@@ -1 +1 @@
1
- {"version":3,"file":"convert.test.js","sourceRoot":"","sources":["../../src/store/convert.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAA;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAA;QAChB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,6DAA6D,CAAA;QACvE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACnC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAA;QAC1C,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,aAAa,CACX,IAAI,UAAU,CAAC,kEAAkE,CAAC,EAClF,mBAAmB,CACpB,CAAA;QACD,aAAa,CAAC,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,SAAS,aAAa,CAAI,KAAQ,EAAE,SAA4B;QAC9D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"convert.test.js","sourceRoot":"","sources":["../../src/store/convert.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAA;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAA;QAChB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,6DAA6D,CAAA;QACvE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACnC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAA;QAC1C,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,aAAa,CACX,IAAI,UAAU,CAAC,kEAAkE,CAAC,EAClF,mBAAmB,CACpB,CAAA;QACD,aAAa,CAAC,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,SAAS,aAAa,CAAI,KAAQ,EAAE,SAA4B;QAC9D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ export interface CursorOptions {
2
+ initCursor?: string;
3
+ pageSize?: number;
4
+ }
5
+ export declare class Cursor {
6
+ _cursor?: string;
7
+ private _done;
8
+ readonly pageSize?: number;
9
+ constructor(options?: CursorOptions);
10
+ get cursor(): string | undefined;
11
+ set cursor(cursor: string | undefined);
12
+ get hasNext(): boolean;
13
+ }
14
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/store/cursor.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,KAAK,CAAQ;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;gBACd,OAAO,CAAC,EAAE,aAAa;IAKnC,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAKpC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
@@ -0,0 +1,22 @@
1
+ export class Cursor {
2
+ _cursor;
3
+ _done = false;
4
+ pageSize;
5
+ constructor(options) {
6
+ this._cursor = options?.initCursor;
7
+ this.pageSize = options?.pageSize;
8
+ }
9
+ get cursor() {
10
+ return this._cursor;
11
+ }
12
+ set cursor(cursor) {
13
+ if (!cursor) {
14
+ this._done = true;
15
+ }
16
+ this._cursor = cursor;
17
+ }
18
+ get hasNext() {
19
+ return !this._done;
20
+ }
21
+ }
22
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/store/cursor.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,MAAM;IACjB,OAAO,CAAS;IACR,KAAK,GAAG,KAAK,CAAA;IACZ,QAAQ,CAAS;IAC1B,YAAY,OAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,CAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAA;IACnC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,MAA0B;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA;IACpB,CAAC;CACF"}
@@ -3,4 +3,5 @@ export * from './types.js';
3
3
  export * from './store.js';
4
4
  export * from './context.js';
5
5
  export * from './convert.js';
6
+ export * from './cursor.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
@@ -3,4 +3,5 @@ export * from './types.js';
3
3
  export * from './store.js';
4
4
  export * from './context.js';
5
5
  export * from './convert.js';
6
+ export * from './cursor.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
@@ -3,7 +3,7 @@ import * as fs from 'node:fs';
3
3
  import { GraphQLObjectType, isListType, isNonNullType } from 'graphql';
4
4
  const customScalars = ['BigInt', 'BigDecimal', 'Timestamp', 'JSON', 'Bytes', 'ID'];
5
5
  const baseSchema = buildASTSchema(parse(`
6
- directive @entity on OBJECT
6
+ directive @entity(immutable: Boolean! = false, sparse: Boolean! = false) on OBJECT
7
7
  directive @query on INTERFACE
8
8
  directive @derivedFrom(field: String!) on FIELD_DEFINITION
9
9
  directive @unique on FIELD_DEFINITION
@@ -1,7 +1,7 @@
1
1
  import { StoreContext } from './context.js';
2
2
  import { BigDecimal } from '@sentio/bigdecimal';
3
3
  import { Bytes, Float, ID, Int, Timestamp } from './types.js';
4
- type Value = ID | string | Int | Float | boolean | Timestamp | Bytes | BigDecimal | bigint;
4
+ import { Cursor } from './cursor.js';
5
5
  interface Entity {
6
6
  id: ID;
7
7
  }
@@ -14,20 +14,27 @@ export declare class Store {
14
14
  get<T extends Entity>(entity: EntityClass<T> | string, id: ID): Promise<T | undefined>;
15
15
  delete<T extends Entity>(entity: EntityClass<T> | T | T[], id?: string | string[]): Promise<void>;
16
16
  upsert<T extends Entity>(entity: T | T[]): Promise<void>;
17
- listIterator<T extends Entity>(entity: EntityClass<T>, filters?: ListFilter<T>[]): AsyncGenerator<T, void, unknown>;
18
- list<T extends Entity>(entity: EntityClass<T>, filters?: ListFilter<T>[]): Promise<T[]>;
17
+ listIterator<T extends Entity, P extends keyof T, O extends Operators<T[P]>>(entity: EntityClass<T>, filters: ListFilter<T, P, O>[]): AsyncGenerator<T, void, unknown>;
18
+ listBatched<T extends Entity, P extends keyof T, O extends Operators<T[P]>>(entity: EntityClass<T>, filters: ListFilter<T, P, O>[], batchSize?: number): AsyncGenerator<T[], void, unknown>;
19
+ private listRequest;
20
+ list<T extends Entity, P extends keyof T, O extends Operators<T[P]>>(entity: EntityClass<T>, filters: ListFilter<T, P, O>[], cursor?: Cursor): Promise<T[]>;
19
21
  private fromAsync;
20
22
  private newEntity;
21
23
  }
22
- export type Operators = '=' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not in';
23
- export interface ListFilter<T extends Entity> {
24
- field: keyof T;
25
- op: Operators;
26
- value: Value | Value[] | null;
27
- }
28
- export interface ListOptions<T extends Entity> {
29
- cursor: string;
30
- }
24
+ type ArrayOperators = 'in' | 'not in' | 'has all' | 'has any';
25
+ export type Operators<T> = T extends Array<any> ? 'in' | 'not in' | '=' | '!=' | 'has all' | 'has any' : T extends Int ? '=' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not in' : T extends Float ? '=' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not in' : T extends Bytes ? '=' | '!=' | 'in' | 'not in' : T extends ID ? '=' | '!=' | 'like' | 'not like' | 'in' | 'not in' : T extends string ? '=' | '!=' | 'like' | 'not like' | 'in' | 'not in' : T extends Timestamp ? '=' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not in' : T extends boolean ? '=' | '!=' | 'in' | 'not in' : T extends BigDecimal ? '=' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not in' : T extends bigint ? '=' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not in' : '=' | '!=' | 'in' | 'not in';
26
+ type CompatibleValue<T, O extends Operators<T>> = O extends ArrayOperators ? T extends Array<infer U> ? U[] : T[] : (T extends bigint ? bigint : T extends Int ? number : T extends Float ? number : T extends Bytes ? Bytes | string : T extends ID ? ID | string : T extends BigDecimal ? BigDecimal | number : T extends Int ? number : T) | Nullable<O>;
27
+ type Nullable<O> = O extends '=' | '!=' ? null : never;
28
+ export type ListFilter<T extends Entity, P extends keyof T, O extends Operators<T[P]>> = {
29
+ field: P;
30
+ op: O;
31
+ value: CompatibleValue<T[P], O>;
32
+ };
33
+ export type ArrayFilter<T extends Entity, P extends keyof T, O extends Operators<T[P]>> = [
34
+ P,
35
+ O,
36
+ CompatibleValue<T[P], O>
37
+ ];
31
38
  export declare function getStore(): Store | undefined;
32
39
  export {};
33
40
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAM7D,KAAK,KAAK,GAAG,EAAE,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAA;AAE1F,UAAU,MAAM;IACd,EAAE,EAAE,EAAE,CAAA;CACP;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;CAC1B;AAkBD,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAE5C,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAiBtF,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjG,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;IA2BjF,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;YAKhE,SAAS;IAQvB,OAAO,CAAC,SAAS;CAiBlB;AAED,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAA;AAE9E,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM;IAC1C,KAAK,EAAE,MAAM,CAAC,CAAA;IACd,EAAE,EAAE,SAAS,CAAA;IACb,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C,MAAM,EAAE,MAAM,CAAA;CACf;AA+DD,wBAAgB,QAAQ,sBAMvB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
@@ -80,28 +80,49 @@ export class Store {
80
80
  async *listIterator(entity, filters) {
81
81
  let cursor = undefined;
82
82
  while (true) {
83
- const promise = this.context.sendRequest({
84
- list: {
85
- entity: getEntityName(entity),
86
- cursor,
87
- filters: filters?.map((f) => ({
88
- field: f.field,
89
- op: ops[f.op],
90
- value: { values: Array.isArray(f.value) ? f.value.map((v) => serialize(v)) : [serialize(f.value)] }
91
- })) || []
92
- }
93
- });
94
- const response = (await promise);
83
+ const response = await this.listRequest(entity, filters || [], cursor);
95
84
  for (const data of response.entityList?.entities || []) {
96
85
  yield this.newEntity(entity, data);
97
86
  }
87
+ console.debug('list returned ', response.entityList?.entities?.length, ' entities, next cursor', response?.nextCursor);
98
88
  if (!response.nextCursor) {
99
89
  break;
100
90
  }
101
91
  cursor = response.nextCursor;
102
92
  }
103
93
  }
104
- async list(entity, filters) {
94
+ async *listBatched(entity, filters, batchSize = 100) {
95
+ let cursor = undefined;
96
+ while (true) {
97
+ const response = await this.listRequest(entity, filters || [], cursor, batchSize);
98
+ const entities = (response.entityList?.entities || []).map((data) => this.newEntity(entity, data));
99
+ yield entities;
100
+ if (!response.nextCursor) {
101
+ break;
102
+ }
103
+ cursor = response.nextCursor;
104
+ }
105
+ }
106
+ async listRequest(entity, filters, cursor, pageSize) {
107
+ return (await this.context.sendRequest({
108
+ list: {
109
+ entity: getEntityName(entity),
110
+ cursor,
111
+ pageSize,
112
+ filters: filters?.map((f) => ({
113
+ field: f.field,
114
+ op: ops[f.op],
115
+ value: { values: Array.isArray(f.value) ? f.value.map((v) => serialize(v)) : [serialize(f.value)] }
116
+ })) || []
117
+ }
118
+ }, 60));
119
+ }
120
+ async list(entity, filters, cursor) {
121
+ if (cursor) {
122
+ const response = await this.listRequest(entity, filters || [], cursor.cursor, cursor.pageSize);
123
+ cursor.cursor = response.nextCursor;
124
+ return response.entityList?.entities.map((data) => this.newEntity(entity, data)) || [];
125
+ }
105
126
  // TODO Array.fromAsync when upgrade to node 22
106
127
  return this.fromAsync(this.listIterator(entity, filters));
107
128
  }
@@ -137,7 +158,11 @@ const ops = {
137
158
  '>': DBRequest_DBOperator.GT,
138
159
  '>=': DBRequest_DBOperator.GE,
139
160
  in: DBRequest_DBOperator.IN,
140
- 'not in': DBRequest_DBOperator.NOT_IN
161
+ 'not in': DBRequest_DBOperator.NOT_IN,
162
+ like: DBRequest_DBOperator.LIKE,
163
+ 'not like': DBRequest_DBOperator.NOT_LIKE,
164
+ 'has all': DBRequest_DBOperator.HAS_ALL,
165
+ 'has any': DBRequest_DBOperator.HAS_ANY
141
166
  };
142
167
  function serialize(v) {
143
168
  if (v == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,oBAAoB,EAAc,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAa/C,SAAS,aAAa,CAAI,MAAmC;IAC3D,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAA;IACf,CAAC;IACD,IAAI,OAAO,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,OAAQ,MAAc,CAAC,UAAU,CAAA;IACnC,CAAC;IACD,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,OAAQ,MAAM,CAAC,WAAmB,CAAC,UAAU,CAAA;IAC/C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,MAAM,EAAE,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAEtD,KAAK,CAAC,GAAG,CAAmB,MAA+B,EAAE,EAAM;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACvC,GAAG,EAAE;gBACH,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;gBAC7B,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE;aAClB;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAe,CAAA;QAC1C,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAmB,MAAgC,EAAE,EAAsB;QACrF,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,EAAc;YACtB,EAAE,EAAE,EAAc;SACnB,CAAA;QACD,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;oBAC1C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC1C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC1D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC1C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAE,CAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC7B,MAAM,EAAE,OAAO;SAChB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAmB,MAAe;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACvC,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7C,gDAAgD;gBAChD,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACxC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aAC9C;SACF,CAAC,CAAA;QAEF,MAAM,OAAO,CAAA;IACf,CAAC;IAED,KAAK,CAAC,CAAC,YAAY,CACjB,MAAsB,EACtB,OAA8B;QAE9B,IAAI,MAAM,GAAuB,SAAS,CAAA;QAE1C,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAe,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;YAClF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACvD,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACpC,CAAC;YACD,OAAO,CAAC,KAAK,CACX,gBAAgB,EAChB,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EACrC,wBAAwB,EACxB,QAAQ,EAAE,UAAU,CACrB,CAAA;YACD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACzB,MAAK;YACP,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,WAAW,CAChB,MAAsB,EACtB,OAA8B,EAC9B,SAAS,GAAG,GAAG;QAEf,IAAI,MAAM,GAAuB,SAAS,CAAA;QAE1C,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAe,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YAC7F,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;YAClG,MAAM,QAAQ,CAAA;YACd,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACzB,MAAK;YACP,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAA;QAC9B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,MAAsB,EACtB,OAA8B,EAC9B,MAA0B,EAC1B,QAAiB;QAEjB,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CACpC;YACE,IAAI,EAAE;gBACJ,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;gBAC7B,MAAM;gBACN,QAAQ;gBACR,OAAO,EACL,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnB,KAAK,EAAE,CAAC,CAAC,KAAe;oBACxB,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;iBACpG,CAAC,CAAC,IAAI,EAAE;aACZ;SACF,EACD,EAAE,CACH,CAAe,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAsB,EACtB,OAA8B,EAC9B,MAAe;QAEf,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC9F,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAA;YACnC,OAAO,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACxF,CAAC;QACD,+CAA+C;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEO,KAAK,CAAC,SAAS,CAAI,GAAqB;QAC9C,MAAM,GAAG,GAAQ,EAAE,CAAA;QACnB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,SAAS,CAAmB,MAA+B,EAAE,IAAkB;QACrF,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAC1C,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,qBAAqB;gBACrB,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC3C,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,YAAY,CAAC,CAAA;gBAC/C,CAAC;YACH,CAAC;YACD,MAAM,GAAG,EAAE,CAAA;QACb,CAAC;QAED,MAAM,GAAG,GAAG,IAAK,MAAyB,CAAC,EAAE,CAAM,CAClD;QAAC,GAAW,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AA+DD,MAAM,GAAG,GAAiD;IACxD,GAAG,EAAE,oBAAoB,CAAC,EAAE;IAC5B,IAAI,EAAE,oBAAoB,CAAC,EAAE;IAC7B,GAAG,EAAE,oBAAoB,CAAC,EAAE;IAC5B,IAAI,EAAE,oBAAoB,CAAC,EAAE;IAC7B,GAAG,EAAE,oBAAoB,CAAC,EAAE;IAC5B,IAAI,EAAE,oBAAoB,CAAC,EAAE;IAC7B,EAAE,EAAE,oBAAoB,CAAC,EAAE;IAC3B,QAAQ,EAAE,oBAAoB,CAAC,MAAM;IACrC,IAAI,EAAE,oBAAoB,CAAC,IAAI;IAC/B,UAAU,EAAE,oBAAoB,CAAC,QAAQ;IACzC,SAAS,EAAE,oBAAoB,CAAC,OAAO;IACvC,SAAS,EAAE,oBAAoB,CAAC,OAAO;CACxC,CAAA;AAED,SAAS,SAAS,CAAC,CAAM;IACvB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;IACzB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;IACzB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;IAC1B,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;SAC7B,CAAA;IACH,CAAC;IAED,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QAC5B,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,cAAc,EAAE,CAAC;SAClB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QAC5B,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;IAC1B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;SAClD,CAAA;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,CAAC;KACb,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAa;IACxC,OAAO;QACL,eAAe,EAAE,SAAS;KAC3B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAA;IACzE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dex-price.test.js","sourceRoot":"","sources":["../../src/utils/dex-price.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,oBAAoB;IAEpB,MAAM,aAAa,GAAG,wBAAwB,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAA;IAEjE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAClE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC1D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"dex-price.test.js","sourceRoot":"","sources":["../../src/utils/dex-price.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,oBAAoB;IAEpB,MAAM,aAAa,GAAG,wBAAwB,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAA;IAEjE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAClE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC1D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../../src/utils/erc20.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,oBAAoB;IAEpB,MAAM,aAAa,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAA;QAEvG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAA;QAEvG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../../src/utils/erc20.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,oBAAoB;IAEpB,MAAM,aAAa,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAA;QAEvG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAA;QAEvG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"price.test.js","sourceRoot":"","sources":["../../src/utils/price.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,EAAmB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAE/B,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC3B,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAwB,EAAE,EAAE;YAC7E,OAAO,OAAO,CAAC,OAAO,CACpB,gBAAgB,CAAC,MAAM,CAAC;gBACtB,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,KAAK,EAAE,UAAU,EAAE;aACpB,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,8BAA8B,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3B,CAAC;QACD,mFAAmF;QACnF,wBAAwB;IAC1B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"price.test.js","sourceRoot":"","sources":["../../src/utils/price.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,8BAA8B,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,EAAmB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAE/B,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC3B,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,OAAwB,EAAE,EAAE;YAC3D,OAAO,OAAO,CAAC,OAAO,CACpB,gBAAgB,CAAC,MAAM,CAAC;gBACtB,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,KAAK,EAAE,UAAU,EAAE;aACpB,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,8BAA8B,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3B,CAAC;QACD,mFAAmF;QACnF,wBAAwB;IAC1B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
- "version": "2.39.7-rc.3",
3
+ "version": "2.39.7-rc.31",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -83,8 +83,8 @@
83
83
  "typedoc": "^0.26.0",
84
84
  "utility-types": "^3.11.0",
85
85
  "yaml": "^2.3.4",
86
- "@sentio/protos": "2.39.7-rc.3",
87
- "@sentio/runtime": "^2.39.7-rc.3"
86
+ "@sentio/protos": "2.39.7-rc.31",
87
+ "@sentio/runtime": "^2.39.7-rc.31"
88
88
  },
89
89
  "peerDependencies": {
90
90
  "tsup": "npm:@sentio/tsup@^6.7.2"
@@ -93,7 +93,6 @@
93
93
  "@certusone/wormhole-sdk": "^0.10.16",
94
94
  "@types/google-protobuf": "^3.15.12",
95
95
  "@types/mkdirp": "^1.0.2",
96
- "jest": "^29.7.0",
97
96
  "tslib": "^2.6.2"
98
97
  },
99
98
  "engines": {
@@ -115,6 +114,6 @@
115
114
  "gen:store": "tsx src/store/run.ts src/store/tests src/store/tests/generated",
116
115
  "gen:sui": "tsx src/sui/codegen/run.ts src/sui/abis src/sui/builtin && pnpm gen:sui_test",
117
116
  "gen:sui_test": "tsx src/sui/codegen/run.ts src/sui/tests/abis src/sui/tests/types",
118
- "test": "NODE_OPTIONS=--experimental-vm-modules pnpm jest --runInBand --detectOpenHandles"
117
+ "test": "glob -c 'tsx --test' '**/*.test.ts'"
119
118
  }
120
119
  }
@@ -1,4 +1,4 @@
1
- import { BaseContract, DeferredTopicFilter, TransactionResponseParams } from 'ethers'
1
+ import { BaseContract, DeferredTopicFilter, LogDescription, TransactionResponseParams } from 'ethers'
2
2
 
3
3
  import { BoundContractView, ContractContext, ContractView, GlobalContext } from './context.js'
4
4
  import {
@@ -351,14 +351,9 @@ export abstract class BaseProcessor<
351
351
  )
352
352
  const logParam = log as any as { topics: Array<string>; data: string }
353
353
 
354
+ let parsed: LogDescription | null = null
354
355
  try {
355
- const parsed = contractView.rawContract.interface.parseLog(logParam)
356
-
357
- if (parsed) {
358
- const event: TypedEvent = { ...log, name: parsed.name, args: fixEmptyKey(parsed) }
359
- await handler(event, ctx)
360
- return ctx.stopAndGetResult()
361
- }
356
+ parsed = contractView.rawContract.interface.parseLog(logParam)
362
357
  } catch (e) {
363
358
  // RangeError data out-of-bounds
364
359
  if (e instanceof Error) {
@@ -369,6 +364,11 @@ export abstract class BaseProcessor<
369
364
  }
370
365
  throw e
371
366
  }
367
+ if (parsed) {
368
+ const event: TypedEvent = { ...log, name: parsed.name, args: fixEmptyKey(parsed) }
369
+ await handler(event, ctx)
370
+ return ctx.stopAndGetResult()
371
+ }
372
372
  return ProcessResult.fromPartial({})
373
373
  }
374
374
  })
@@ -12,7 +12,7 @@ export abstract class EthContext extends BaseContext {
12
12
  address: string
13
13
  private readonly log?: LogParams
14
14
  readonly block?: BlockParams
15
- private readonly trace?: Trace
15
+ readonly trace?: Trace
16
16
  readonly blockNumber: number
17
17
  readonly transactionHash?: string
18
18
  readonly transaction?: TransactionResponseParams
@@ -4,9 +4,17 @@ import PQueue from 'p-queue'
4
4
  import { Endpoints } from '@sentio/runtime'
5
5
  import { EthChainId } from '@sentio/chain'
6
6
  import { LRUCache } from 'lru-cache'
7
+ import { metrics } from '@opentelemetry/api'
7
8
 
8
9
  export const DummyProvider = new JsonRpcProvider('', Network.from(1))
9
10
 
11
+ const meter = metrics.getMeter('processor_provider')
12
+ const hit_count = meter.createCounter('provider_hit_count')
13
+ const miss_count = meter.createCounter('provider_miss_count')
14
+ const queue_size = meter.createGauge('provider_queue_size')
15
+ const total_duration = meter.createCounter('provider_total_duration')
16
+ const total_queued = meter.createCounter('provider_total_queued')
17
+
10
18
  const providers = new Map<string, JsonRpcProvider>()
11
19
 
12
20
  // export function getEthChainId(networkish?: EthContext | EthChainId): EthChainId {
@@ -97,10 +105,6 @@ class QueuedStaticJsonRpcProvider extends JsonRpcProvider {
97
105
  // return 1024
98
106
  // }
99
107
  })
100
- hits = 0
101
- misses = 0
102
- totalDuration = 0
103
- totalQueued = 0
104
108
 
105
109
  constructor(url: string, network: Network, concurrency: number, batchCount = 1) {
106
110
  // TODO re-enable match when possible
@@ -116,13 +120,14 @@ class QueuedStaticJsonRpcProvider extends JsonRpcProvider {
116
120
  const block = params[params.length - 1]
117
121
  let perform = this.#performCache.get(tag)
118
122
  if (!perform) {
119
- this.misses++
123
+ miss_count.add(1)
120
124
  const queued: number = Date.now()
121
125
  perform = this.executor.add(() => {
122
126
  const started = Date.now()
123
- this.totalQueued += started - queued
127
+ total_queued.add(started - queued)
128
+
124
129
  return super.send(method, params).finally(() => {
125
- this.totalDuration += Date.now() - started
130
+ total_duration.add(Date.now() - started)
126
131
  })
127
132
  })
128
133
  perform.catch((e) => {
@@ -134,6 +139,8 @@ class QueuedStaticJsonRpcProvider extends JsonRpcProvider {
134
139
  }, 1000)
135
140
  })
136
141
 
142
+ queue_size.record(this.executor.size)
143
+
137
144
  this.#performCache.set(tag, perform)
138
145
  // For non latest block call, we cache permanently, otherwise we cache for one minute
139
146
  if (block === 'latest') {
@@ -144,7 +151,7 @@ class QueuedStaticJsonRpcProvider extends JsonRpcProvider {
144
151
  }, 60 * 1000)
145
152
  }
146
153
  } else {
147
- this.hits++
154
+ hit_count.add(1)
148
155
  }
149
156
 
150
157
  const result = await perform
@@ -153,15 +160,4 @@ class QueuedStaticJsonRpcProvider extends JsonRpcProvider {
153
160
  }
154
161
  return result
155
162
  }
156
-
157
- stats() {
158
- const count = this.hits + this.misses
159
- return {
160
- queueSize: this.executor.size,
161
- hits: this.hits,
162
- misses: this.misses,
163
- avgDuration: count == 0 ? 0 : this.totalDuration / count,
164
- avgQueued: count == 0 ? 0 : this.totalQueued / count
165
- }
166
- }
167
163
  }
@@ -26,6 +26,7 @@ interface Import {
26
26
  interface Field {
27
27
  name: string
28
28
  type: string
29
+ optional?: boolean
29
30
  annotations: string[]
30
31
  }
31
32
 
@@ -159,7 +160,8 @@ async function codegenInternal(schema: GraphQLSchema, source: string, target: st
159
160
  } else {
160
161
  fields.push({
161
162
  name: f.name,
162
- type: type,
163
+ optional: !f.type.toString().endsWith('!'),
164
+ type: type.replace(' | undefined', ''),
163
165
  annotations
164
166
  })
165
167
  }
@@ -200,7 +202,9 @@ ${classes
200
202
  (c) => `
201
203
  ${c.annotations.join('\n')}
202
204
  export class ${c.name} ${c.interfaces.length > 0 ? `implements ${c.interfaces.join(', ')}` : ''} {
203
- ${c.fields.map((f) => `${f.annotations.map((a) => `\n\t${a}`).join('')}\n\t${f.name}: ${f.type}`).join('\n')}
205
+ ${c.fields
206
+ .map((f) => `${f.annotations.map((a) => `\n\t${a}`).join('')}\n\t${f.name}${f.optional ? '?' : ''}: ${f.type}`)
207
+ .join('\n')}
204
208
 
205
209
  constructor(data: Partial<${c.name}>) {}
206
210
 
@@ -126,11 +126,11 @@ export const IntConverter: ValueConverter<Int | undefined> = {
126
126
  }
127
127
  }
128
128
  return {
129
- intValue: value
129
+ intValue: Math.floor(value)
130
130
  }
131
131
  },
132
132
  to(v) {
133
- return v.intValue
133
+ return v.intValue as Int
134
134
  }
135
135
  }
136
136
 
@@ -0,0 +1,29 @@
1
+ export interface CursorOptions {
2
+ initCursor?: string
3
+ pageSize?: number
4
+ }
5
+
6
+ export class Cursor {
7
+ _cursor?: string
8
+ private _done = false
9
+ readonly pageSize?: number
10
+ constructor(options?: CursorOptions) {
11
+ this._cursor = options?.initCursor
12
+ this.pageSize = options?.pageSize
13
+ }
14
+
15
+ get cursor(): string | undefined {
16
+ return this._cursor
17
+ }
18
+
19
+ set cursor(cursor: string | undefined) {
20
+ if (!cursor) {
21
+ this._done = true
22
+ }
23
+ this._cursor = cursor
24
+ }
25
+
26
+ get hasNext(): boolean {
27
+ return !this._done
28
+ }
29
+ }
@@ -3,3 +3,4 @@ export * from './types.js'
3
3
  export * from './store.js'
4
4
  export * from './context.js'
5
5
  export * from './convert.js'
6
+ export * from './cursor.js'
@@ -6,7 +6,7 @@ const customScalars = ['BigInt', 'BigDecimal', 'Timestamp', 'JSON', 'Bytes', 'ID
6
6
 
7
7
  const baseSchema = buildASTSchema(
8
8
  parse(`
9
- directive @entity on OBJECT
9
+ directive @entity(immutable: Boolean! = false, sparse: Boolean! = false) on OBJECT
10
10
  directive @query on INTERFACE
11
11
  directive @derivedFrom(field: String!) on FIELD_DEFINITION
12
12
  directive @unique on FIELD_DEFINITION