@sentio/sdk 2.54.0-rc.9 → 2.54.1-rc.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.
@@ -15,7 +15,7 @@ export function Entity(entityName) {
15
15
  const target = BaseClass.prototype;
16
16
  for (const [propertyKey, type] of Object.entries(meta)) {
17
17
  if (type.isRelation && type.relationName) {
18
- const relationName = type.relationName;
18
+ const relationName = type.relationName.endsWith('!') ? type.relationName.slice(0, -1) : type.relationName;
19
19
  const idGetter = function () {
20
20
  return handleError(this.constructor.entityName, propertyKey, () => type.to(this._data.fields[propertyKey]));
21
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,cAAc,EAEf,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,SAAS,WAAW,CAAC,MAAc,EAAE,GAAW,EAAE,EAAa;IAC7D,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,kBAAkB,MAAM,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACvF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,UAAkB;IACvC,OAAO,UAAiC,SAAY;QAClD,MAAM,IAAI,GAAyC,SAAiB,CAAC,IAAI,IAAI,EAAE,CAAA;QAC/E,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAA;QAClC,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAA;gBACzG,MAAM,QAAQ,GAAG;oBACf,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;gBAC9G,CAAC,CAAA;gBACD,MAAM,QAAQ,GAAG,UAAqB,KAAU;oBAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAC1F,IAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,CAAA;gBACH,CAAC,CAAA;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAA;gBAErE,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;oBACpC,GAAG,EAAE,QAAQ;oBACb,GAAG,EAAE,QAAQ;iBACd,CAAC,CAAA;gBACF,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;oBAC1C,GAAG,EAAE;wBACH,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;4BACvB,OAAO,OAAO,CAAC,GAAG,CAChB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gCACb,OAAO,QAAQ,EAAE,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;4BAC1C,CAAC,CAAC,CACH,CAAA;wBACH,CAAC;6BAAM,CAAC;4BACN,OAAO,QAAQ,EAAE,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;wBAC3C,CAAC;oBACH,CAAC;oBACD,GAAG,EAAE,UAAU,KAAK;wBAClB,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;4BAC7B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gCACf,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;4BACxB,CAAC,CAAC,CAAA;wBACJ,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;wBAC5B,CAAC;oBACH,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;oBAC1C,YAAY,EAAE,IAAI;oBAClB,GAAG,EAAE;wBACH,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;oBAC9G,CAAC;oBACD,GAAG,EAAE,UAAU,KAAK;wBAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAC1F,IAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,CAAA;oBACH,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,KAAM,SAAQ,SAAS;YACnB,KAAK,GAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;YAC3C,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;YAC9B,YAAY,GAAG,IAAW;gBACxB,KAAK,EAAE,CAAA;gBACP,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,IAAI,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;oBAClB,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;SACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC/C,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAA;YACf,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC5C,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE;IAC1C,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC/C,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAA;YACf,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC;QAED,IAAI,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,uBAAuB;YACvB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAA;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACT,aAAa,GAAG,IAAI,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACpD,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAA0B;IAC/C,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAA;YACjC,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;YAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAA;QAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;QACxB,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAA;IAChC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;AAC7C,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAEjD,MAAM,UAAU,QAAQ,CAAC,MAAW,EAAE,WAAmB;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAA;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9B,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,MAAc;IAChC,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC/C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAChD,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,MAAc;IACjC,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC/C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACxD,CAAC,CAAA;AACH,CAAC"}
@@ -8,7 +8,6 @@ export interface EntityClass<T> {
8
8
  export declare function getEntityName<T>(entity: EntityClass<T> | T | string): string;
9
9
  export declare class Store {
10
10
  private readonly context;
11
- private cache;
12
11
  constructor(context: StoreContext);
13
12
  get<T extends Entity>(entity: EntityClass<T> | string, id: ID): Promise<T | undefined>;
14
13
  delete<T extends Entity>(entity: EntityClass<T> | T | T[], id?: string | string[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { DatabaseSchema } from '../core/index.js';
2
2
  import { DBRequest_DBOperator } from '@sentio/protos';
3
3
  import { PluginManager } from '@sentio/runtime';
4
- import { LocalCache } from './cache.js';
5
4
  import { serializeRichValue } from './util.js';
6
5
  export function getEntityName(entity) {
7
6
  if (entity == null) {
@@ -20,16 +19,11 @@ export function getEntityName(entity) {
20
19
  }
21
20
  export class Store {
22
21
  context;
23
- cache = new LocalCache();
24
22
  constructor(context) {
25
23
  this.context = context;
26
24
  }
27
25
  async get(entity, id) {
28
26
  const entityName = getEntityName(entity);
29
- const cachedData = this.cache.get(entityName, id);
30
- if (cachedData) {
31
- return Promise.resolve(this.newEntity(entity, cachedData));
32
- }
33
27
  const promise = this.context.sendRequest({
34
28
  get: {
35
29
  entity: entityName,
@@ -54,13 +48,11 @@ export class Store {
54
48
  for (const i of id) {
55
49
  request.entity.push(entityName);
56
50
  request.id.push(i.toString());
57
- this.cache.delete(entityName, i.toString());
58
51
  }
59
52
  }
60
53
  else {
61
54
  request.entity.push(entityName);
62
55
  request.id.push(id);
63
- this.cache.delete(entityName, id);
64
56
  }
65
57
  }
66
58
  else {
@@ -68,7 +60,6 @@ export class Store {
68
60
  for (const e of entities) {
69
61
  request.entity.push(entityName);
70
62
  request.id.push(e.id.toString());
71
- this.cache.delete(entityName, id);
72
63
  }
73
64
  }
74
65
  await this.context.sendRequest({
@@ -85,18 +76,7 @@ export class Store {
85
76
  entityData: entities.map((e) => e._data)
86
77
  }
87
78
  };
88
- const promise = this.context.sendRequest(request);
89
- return promise.then((_data) => {
90
- request.upsert?.entity.forEach((entity, i) => {
91
- this.cache.set({
92
- entity: entity,
93
- data: request.upsert?.entityData[i],
94
- genBlockChain: '',
95
- genBlockTime: undefined,
96
- genBlockNumber: 0n
97
- });
98
- });
99
- });
79
+ await this.context.sendRequest(request);
100
80
  }
101
81
  async *listIterator(entity, filters) {
102
82
  let cursor = undefined;
@@ -154,9 +134,6 @@ export class Store {
154
134
  }) || []
155
135
  }
156
136
  }, 3600));
157
- response.entityList?.entities?.forEach((entity) => {
158
- this.cache.set(entity);
159
- });
160
137
  return response;
161
138
  }
162
139
  async list(entity, filters, cursor) {
@@ -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;AAIjD,OAAO,EAAE,oBAAoB,EAAc,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAM9C,MAAM,UAAU,aAAa,CAAI,MAAmC;IAClE,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,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QAExC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACvC,GAAG,EAAE;gBACH,MAAM,EAAE,UAAU;gBAClB,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,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QACxC,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,UAAU,CAAC,CAAA;oBAC/B,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,UAAU,CAAC,CAAA;gBAC/B,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,UAAU,CAAC,CAAA;gBAC/B,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;YACd,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;SACW,CAAA;QACd,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IACzC,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,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,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAC9C;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;oBACjB,IAAI,MAAmB,CAAA;oBACvB,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;wBACb,KAAK,IAAI,CAAC;wBACV,KAAK,QAAQ,CAAC;wBACd,KAAK,SAAS,CAAC;wBACf,KAAK,SAAS;4BACZ,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;gCAC7B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gCAC3C,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;4BACjC,MAAK;wBACP;4BACE,kCAAkC;4BAClC,MAAM,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;oBAC1C,CAAC;oBAED,OAAO;wBACL,KAAK,EAAE,CAAC,CAAC,KAAe;wBACxB,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACb,KAAK,EAAE;4BACL,MAAM;yBACP;qBACF,CAAA;gBACH,CAAC,CAAC,IAAI,EAAE;aACX;SACF,EACD,IAAI,CACL,CAAe,CAAA;QAEhB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAsB,EACtB,OAA+B,EAC/B,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,IAAI,EAAE,CAAC,CAAC,CAAA;IACjE,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,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"}
@@ -0,0 +1,22 @@
1
+ import { StoreContext } from '../store/context.js';
2
+ import { DBRequest } from '@sentio/protos';
3
+ import { GraphQLSchema } from 'graphql/index.js';
4
+ export declare class MemoryDatabase {
5
+ readonly dbContext: StoreContext;
6
+ db: Map<string, Record<string, any>>;
7
+ lastDbRequest: DBRequest | undefined;
8
+ schema: GraphQLSchema;
9
+ constructor(dbContext: StoreContext);
10
+ start(): void;
11
+ stop(): void;
12
+ hasEntity(entity: string, id: string): any;
13
+ protected upsert(entity: string, id: string, data: any): void;
14
+ protected delete(entity: string, id: string): void;
15
+ protected getById(entity: string, id: string): any;
16
+ private fillDerivedFromFields;
17
+ private processRequest;
18
+ reset(): void;
19
+ private listEntities;
20
+ }
21
+ export declare function withStoreContext(ctx: StoreContext, fn: () => Promise<void>): () => Promise<void>;
22
+ //# sourceMappingURL=memory-database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-database.d.ts","sourceRoot":"","sources":["../../src/testing/memory-database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAgB,aAAa,EAAmB,MAAM,kBAAkB,CAAA;AAO/E,qBAAa,cAAc;IAKb,QAAQ,CAAC,SAAS,EAAE,YAAY;IAJ5C,EAAE,mCAAyC;IACpC,aAAa,EAAE,SAAS,GAAG,SAAS,CAAA;IAC3C,MAAM,EAAE,aAAa,CAAA;gBAEA,SAAS,EAAE,YAAY;IAM5C,KAAK;IAIL,IAAI;IAKG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAK3C,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAetD,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAO3C,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAU5C,OAAO,CAAC,qBAAqB;IAyC7B,OAAO,CAAC,cAAc;IA6DtB,KAAK;IAIL,OAAO,CAAC,YAAY;CAQrB;AAmCD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,uBAI1E"}
@@ -0,0 +1,202 @@
1
+ import { DatabaseSchemaState } from '../core/database-schema.js';
2
+ import { parse } from 'graphql/index.js';
3
+ import { buildSchema } from '../store/schema.js';
4
+ import { GraphQLList, GraphQLNonNull, GraphQLObjectType } from 'graphql';
5
+ import { PluginManager } from '@sentio/runtime';
6
+ export class MemoryDatabase {
7
+ dbContext;
8
+ db = new Map();
9
+ lastDbRequest;
10
+ schema;
11
+ constructor(dbContext) {
12
+ this.dbContext = dbContext;
13
+ const source = DatabaseSchemaState.INSTANCE.getValues()[0].source;
14
+ const doc = parse(source);
15
+ this.schema = buildSchema(doc);
16
+ }
17
+ start() {
18
+ this.dbContext.subject.subscribe(this.processRequest.bind(this));
19
+ }
20
+ stop() {
21
+ this.dbContext.subject.unsubscribe();
22
+ this.dbContext.subject.complete();
23
+ }
24
+ hasEntity(entity, id) {
25
+ const entityDB = this.db.get(entity);
26
+ return entityDB ? entityDB[id] : undefined;
27
+ }
28
+ upsert(entity, id, data) {
29
+ const entityDB = this.db.get(entity) ?? {};
30
+ entityDB[id] = { entity, fields: data.fields };
31
+ this.db.set(entity, entityDB);
32
+ const entityClass = this.schema.getType(entity);
33
+ if (entityClass && entityClass instanceof GraphQLObjectType) {
34
+ for (const intf of entityClass.getInterfaces()) {
35
+ const intfName = intf.name;
36
+ const intfDB = this.db.get(intfName) ?? {};
37
+ intfDB[id] = { entity, fields: data.fields };
38
+ this.db.set(intfName, intfDB);
39
+ }
40
+ }
41
+ }
42
+ delete(entity, id) {
43
+ const entityDB = this.db.get(entity);
44
+ if (entityDB) {
45
+ delete entityDB[id];
46
+ }
47
+ }
48
+ getById(entity, id) {
49
+ const entityDB = this.db.get(entity);
50
+ if (entityDB) {
51
+ const result = entityDB[id];
52
+ return this.fillDerivedFromFields(entity, id, result);
53
+ }
54
+ return undefined;
55
+ }
56
+ // a quick and dirty way to mimic how derivedFrom fields are filled in the real database
57
+ fillDerivedFromFields(entity, id, result) {
58
+ const entityClass = this.schema.getType(entity);
59
+ if (entityClass && entityClass instanceof GraphQLObjectType) {
60
+ for (const field of Object.values(entityClass.getFields())) {
61
+ const derivedFrom = GetDerivedFrom(field);
62
+ if (derivedFrom) {
63
+ const elemType = getElemType(field.type);
64
+ const elemClass = this.schema.getType(elemType.name);
65
+ if (elemClass && elemClass instanceof GraphQLObjectType) {
66
+ const derivedField = elemClass.getFields()[derivedFrom];
67
+ if (derivedField) {
68
+ const elemDb = this.db.get(elemType.name);
69
+ if (elemDb) {
70
+ for (const elemID of Object.keys(elemDb)) {
71
+ const value = elemDb[elemID];
72
+ const deriveField = value.fields[derivedFrom];
73
+ let hasRelation = false;
74
+ if (deriveField?.stringValue === id) {
75
+ hasRelation = true;
76
+ }
77
+ if (deriveField.listValue) {
78
+ hasRelation = deriveField.listValue.values.some((v) => v.stringValue === id);
79
+ }
80
+ if (hasRelation) {
81
+ const arr = result.fields[field.name];
82
+ if (arr) {
83
+ arr.listValue.values.push({ stringValue: elemID });
84
+ }
85
+ else {
86
+ result.fields[field.name] = { listValue: { values: [{ stringValue: elemID }] } };
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+ return result;
97
+ }
98
+ processRequest(request) {
99
+ const req = request.dbRequest;
100
+ this.lastDbRequest = req;
101
+ if (req) {
102
+ if (req.upsert) {
103
+ const { entityData, entity } = req.upsert;
104
+ entityData.forEach((d, i) => {
105
+ const id = d.fields['id'].stringValue;
106
+ const entityName = entity[i];
107
+ this.upsert(entityName, id, d);
108
+ });
109
+ this.dbContext.result({
110
+ opId: req.opId
111
+ });
112
+ }
113
+ if (req.delete) {
114
+ const { id, entity } = req.delete;
115
+ id.forEach((i, idx) => {
116
+ const entityName = entity[idx];
117
+ this.delete(entityName, i);
118
+ });
119
+ this.dbContext.result({
120
+ opId: req.opId
121
+ });
122
+ }
123
+ if (req.get) {
124
+ const { entity, id } = req.get;
125
+ const data = this.getById(entity, id);
126
+ this.dbContext.result({
127
+ opId: req.opId,
128
+ // entities: { entities: data ? [data] : [] },
129
+ entityList: {
130
+ entities: data ? [toEntity(data)] : []
131
+ }
132
+ });
133
+ }
134
+ if (req.list) {
135
+ const { entity, cursor } = req.list;
136
+ const list = this.listEntities(entity);
137
+ if (cursor) {
138
+ const idx = parseInt(cursor);
139
+ this.dbContext.result({
140
+ opId: req.opId,
141
+ entityList: { entities: list.slice(idx, idx + 1).map((d) => toEntity(d)) },
142
+ nextCursor: idx + 1 < list.length ? `${idx + 1}` : undefined
143
+ });
144
+ }
145
+ else {
146
+ this.dbContext.result({
147
+ opId: req.opId,
148
+ entityList: { entities: list.length ? [toEntity(list[0])] : [] },
149
+ nextCursor: '1'
150
+ });
151
+ }
152
+ }
153
+ }
154
+ }
155
+ reset() {
156
+ this.db.clear();
157
+ }
158
+ listEntities(entity) {
159
+ const entityDB = this.db.get(entity);
160
+ return entityDB
161
+ ? Object.entries(entityDB)
162
+ .sort((a, b) => a[0].localeCompare(b[0]))
163
+ .map(([id, data]) => this.fillDerivedFromFields(entity, id, data))
164
+ : [];
165
+ }
166
+ }
167
+ function toEntity(data) {
168
+ return {
169
+ entity: data.entity,
170
+ genBlockChain: '',
171
+ genBlockNumber: 0n,
172
+ genBlockTime: new Date(),
173
+ data: { fields: data.fields }
174
+ };
175
+ }
176
+ function GetDerivedFrom(field) {
177
+ for (const directive of field.astNode?.directives ?? []) {
178
+ if (directive.name.value === 'derivedFrom') {
179
+ const value = directive.arguments?.[0].value;
180
+ return value?.value;
181
+ }
182
+ }
183
+ return '';
184
+ }
185
+ function getElemType(type) {
186
+ if (type instanceof GraphQLObjectType) {
187
+ return type;
188
+ }
189
+ if (type instanceof GraphQLList) {
190
+ return getElemType(type.ofType);
191
+ }
192
+ if (type instanceof GraphQLNonNull) {
193
+ return getElemType(type.ofType);
194
+ }
195
+ return type;
196
+ }
197
+ export function withStoreContext(ctx, fn) {
198
+ return async () => {
199
+ await PluginManager.INSTANCE.dbContextLocalStorage.run(ctx, fn);
200
+ };
201
+ }
202
+ //# sourceMappingURL=memory-database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-database.js","sourceRoot":"","sources":["../../src/testing/memory-database.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AccountConfig, ContractConfig, DataBinding, DeepPartial, Empty, PreprocessStreamRequest, PreprocessStreamResponse, ProcessBindingResponse, ProcessBindingsRequest, ProcessConfigRequest, ProcessConfigResponse, ProcessorServiceImplementation, ProcessStreamRequest, ProcessStreamResponse, ServerStreamingMethodResult, StartRequest } from '@sentio/protos';
2
2
  import { CallContext } from 'nice-grpc-common';
3
- import { ProcessorServiceImpl } from '@sentio/runtime';
3
+ import { ProcessorServiceImpl, StoreContext } from '@sentio/runtime';
4
4
  import { AptosFacet } from './aptos-facet.js';
5
5
  import { SolanaFacet } from './solana-facet.js';
6
6
  import { EthFacet } from './eth-facet.js';
@@ -15,6 +15,7 @@ export declare class TestProcessorServer implements ProcessorServiceImplementati
15
15
  service: ProcessorServiceImpl;
16
16
  contractConfigs: ContractConfig[];
17
17
  accountConfigs: AccountConfig[];
18
+ storeContext: StoreContext;
18
19
  aptos: AptosFacet;
19
20
  eth: EthFacet;
20
21
  solana: SolanaFacet;
@@ -1 +1 @@
1
- {"version":3,"file":"test-processor-server.d.ts","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAa,oBAAoB,EAAS,MAAM,iBAAiB,CAAA;AAGxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,eAAO,MAAM,YAAY,EAAE,WAA6B,CAAA;AAExD,wBAAgB,SAAS,SAExB;AAED,qBAAa,mBAAoB,YAAW,8BAA8B;IACxE,OAAO,EAAE,oBAAoB,CAAA;IAC7B,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,cAAc,EAAE,aAAa,EAAE,CAAA;IAE/B,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,EAAE,QAAQ,CAAA;IACb,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,aAAa,CAAA;IACvB,GAAG,EAAE,QAAQ,CAAA;gBAED,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAmB5E,KAAK,CAAC,OAAO,GAAE,YAAwC,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAQtG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5D,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhG,eAAe,CACb,OAAO,EAAE,sBAAsB,EAC/B,OAAO,GAAE,WAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAIlC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,WAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI1G,qBAAqB,CACnB,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC7C,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAIlE,wBAAwB,CACtB,QAAQ,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAChD,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;CAOtE"}
1
+ {"version":3,"file":"test-processor-server.d.ts","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAA4B,oBAAoB,EAAS,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGrG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,eAAO,MAAM,YAAY,EAAE,WAA6B,CAAA;AAExD,wBAAgB,SAAS,SAExB;AAED,qBAAa,mBAAoB,YAAW,8BAA8B;IACxE,OAAO,EAAE,oBAAoB,CAAA;IAC7B,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,YAAY,EAAE,YAAY,CAAA;IAE1B,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,EAAE,QAAQ,CAAA;IACb,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,aAAa,CAAA;IACvB,GAAG,EAAE,QAAQ,CAAA;gBAED,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAyB5E,KAAK,CAAC,OAAO,GAAE,YAAwC,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAQtG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5D,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhG,eAAe,CACb,OAAO,EAAE,sBAAsB,EAC/B,OAAO,GAAE,WAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAMlC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,WAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAM1G,qBAAqB,CACnB,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC7C,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAIlE,wBAAwB,CACtB,QAAQ,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAChD,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;CAOtE"}
@@ -1,4 +1,4 @@
1
- import { Endpoints, ProcessorServiceImpl, State } from '@sentio/runtime';
1
+ import { Endpoints, PluginManager, ProcessorServiceImpl, State, StoreContext } from '@sentio/runtime';
2
2
  import { CHAIN_MAP } from '@sentio/chain';
3
3
  import { AptosFacet } from './aptos-facet.js';
4
4
  import { SolanaFacet } from './solana-facet.js';
@@ -8,6 +8,8 @@ import { FuelFacet } from './fuel-facet.js';
8
8
  import { CosmosFacet } from './cosmos-facet.js';
9
9
  import { StarknetFacet } from './starknet-facet.js';
10
10
  import { BTCFacet } from './btc-facet.js';
11
+ import { Subject } from 'rxjs';
12
+ import { MemoryDatabase } from './memory-database.js';
11
13
  export const TEST_CONTEXT = {};
12
14
  export function cleanTest() {
13
15
  State.reset();
@@ -16,6 +18,7 @@ export class TestProcessorServer {
16
18
  service;
17
19
  contractConfigs;
18
20
  accountConfigs;
21
+ storeContext;
19
22
  aptos;
20
23
  eth;
21
24
  solana;
@@ -39,6 +42,11 @@ export class TestProcessorServer {
39
42
  const http = httpEndpoints[k] || '';
40
43
  Endpoints.INSTANCE.chainServer.set(k, http);
41
44
  }
45
+ // start a memory database for testing
46
+ const subject = new Subject();
47
+ this.storeContext = new StoreContext(subject, 1);
48
+ const db = new MemoryDatabase(this.storeContext);
49
+ db.start();
42
50
  }
43
51
  async start(request = { templateInstances: [] }, context = TEST_CONTEXT) {
44
52
  const res = await this.service.start(request, context);
@@ -54,10 +62,14 @@ export class TestProcessorServer {
54
62
  return this.service.getConfig(request, context);
55
63
  }
56
64
  processBindings(request, context = TEST_CONTEXT) {
57
- return this.service.processBindings(request, context);
65
+ return PluginManager.INSTANCE.dbContextLocalStorage.run(this.storeContext, () => {
66
+ return this.service.processBindings(request, context);
67
+ });
58
68
  }
59
69
  processBinding(request, context = TEST_CONTEXT) {
60
- return this.service.processBindings({ bindings: [request] }, context);
70
+ return PluginManager.INSTANCE.dbContextLocalStorage.run(this.storeContext, () => {
71
+ return this.service.processBindings({ bindings: [request] }, context);
72
+ });
61
73
  }
62
74
  processBindingsStream(requests, context) {
63
75
  throw new Error('Method not implemented.');
@@ -1 +1 @@
1
- {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
- "version": "2.54.0-rc.9",
3
+ "version": "2.54.1-rc.1",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -85,8 +85,8 @@
85
85
  "typechain": "^8.3.2",
86
86
  "utility-types": "^3.11.0",
87
87
  "yaml": "^2.3.4",
88
- "@sentio/protos": "2.54.0-rc.9",
89
- "@sentio/runtime": "^2.54.0-rc.9"
88
+ "@sentio/protos": "2.54.1-rc.1",
89
+ "@sentio/runtime": "^2.54.1-rc.1"
90
90
  },
91
91
  "peerDependencies": {
92
92
  "tsup": "npm:@sentio/tsup@^8.3.5-rc.1"
@@ -122,6 +122,7 @@
122
122
  "gen:sui_test": "tsx src/sui/codegen/run.ts src/sui/tests/abis src/sui/tests/types",
123
123
  "test": "glob -c 'tsx --test' '**/*.test.ts'",
124
124
  "test:btc": "tsx --test src/btc/tests/processor.test.ts",
125
+ "test:db": "glob -c 'tsx --test' 'src/store/tests/database.test.ts'",
125
126
  "test:starknet": "tsx --test src/stark/tests/event.test.ts"
126
127
  }
127
128
  }
@@ -34,7 +34,7 @@ export function Entity(entityName: string) {
34
34
  const target = BaseClass.prototype
35
35
  for (const [propertyKey, type] of Object.entries(meta)) {
36
36
  if (type.isRelation && type.relationName) {
37
- const relationName = type.relationName
37
+ const relationName = type.relationName.endsWith('!') ? type.relationName.slice(0, -1) : type.relationName
38
38
  const idGetter = function (this: any) {
39
39
  return handleError(this.constructor.entityName, propertyKey, () => type!.to(this._data.fields[propertyKey]))
40
40
  }
@@ -6,7 +6,6 @@ import type { DBRequest, Entity as EntityStruct, RichValue } from '@sentio/proto
6
6
  import { DBRequest_DBOperator, DBResponse } from '@sentio/protos'
7
7
  import { PluginManager } from '@sentio/runtime'
8
8
  import { Cursor } from './cursor.js'
9
- import { LocalCache } from './cache.js'
10
9
  import { serializeRichValue } from './util.js'
11
10
 
12
11
  export interface EntityClass<T> {
@@ -30,16 +29,10 @@ export function getEntityName<T>(entity: EntityClass<T> | T | string): string {
30
29
  }
31
30
 
32
31
  export class Store {
33
- private cache = new LocalCache()
34
-
35
32
  constructor(private readonly context: StoreContext) {}
36
33
 
37
34
  async get<T extends Entity>(entity: EntityClass<T> | string, id: ID): Promise<T | undefined> {
38
35
  const entityName = getEntityName(entity)
39
- const cachedData = this.cache.get(entityName, id)
40
- if (cachedData) {
41
- return Promise.resolve(this.newEntity(entity, cachedData))
42
- }
43
36
 
44
37
  const promise = this.context.sendRequest({
45
38
  get: {
@@ -68,19 +61,16 @@ export class Store {
68
61
  for (const i of id) {
69
62
  request.entity.push(entityName)
70
63
  request.id.push(i.toString())
71
- this.cache.delete(entityName, i.toString())
72
64
  }
73
65
  } else {
74
66
  request.entity.push(entityName)
75
67
  request.id.push(id)
76
- this.cache.delete(entityName, id)
77
68
  }
78
69
  } else {
79
70
  const entities = Array.isArray(entity) ? entity : [entity]
80
71
  for (const e of entities) {
81
72
  request.entity.push(entityName)
82
73
  request.id.push((e as Entity).id.toString())
83
- this.cache.delete(entityName, id)
84
74
  }
85
75
  }
86
76
 
@@ -99,19 +89,7 @@ export class Store {
99
89
  entityData: entities.map((e: any) => e._data)
100
90
  }
101
91
  } as DBRequest
102
- const promise = this.context.sendRequest(request)
103
-
104
- return promise.then((_data) => {
105
- request.upsert?.entity.forEach((entity, i) => {
106
- this.cache.set({
107
- entity: entity,
108
- data: request.upsert?.entityData[i],
109
- genBlockChain: '',
110
- genBlockTime: undefined,
111
- genBlockNumber: 0n
112
- })
113
- })
114
- })
92
+ await this.context.sendRequest(request)
115
93
  }
116
94
 
117
95
  async *listIterator<T extends Entity, P extends keyof T, O extends Operators<T[P]>>(
@@ -192,10 +170,6 @@ export class Store {
192
170
  3600
193
171
  )) as DBResponse
194
172
 
195
- response.entityList?.entities?.forEach((entity) => {
196
- this.cache.set(entity)
197
- })
198
-
199
173
  return response
200
174
  }
201
175
 
@@ -0,0 +1,220 @@
1
+ import { StoreContext } from '../store/context.js'
2
+ import { DBRequest, ProcessStreamResponse } from '@sentio/protos'
3
+ import { GraphQLField, GraphQLSchema, StringValueNode } from 'graphql/index.js'
4
+ import { DatabaseSchemaState } from '../core/database-schema.js'
5
+ import { parse } from 'graphql/index.js'
6
+ import { buildSchema } from '../store/schema.js'
7
+ import { GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLOutputType } from 'graphql'
8
+ import { PluginManager } from '@sentio/runtime'
9
+
10
+ export class MemoryDatabase {
11
+ db = new Map<string, Record<string, any>>()
12
+ public lastDbRequest: DBRequest | undefined
13
+ schema: GraphQLSchema
14
+
15
+ constructor(readonly dbContext: StoreContext) {
16
+ const source = DatabaseSchemaState.INSTANCE.getValues()[0].source
17
+ const doc = parse(source)
18
+ this.schema = buildSchema(doc)
19
+ }
20
+
21
+ start() {
22
+ this.dbContext.subject.subscribe(this.processRequest.bind(this))
23
+ }
24
+
25
+ stop() {
26
+ this.dbContext.subject.unsubscribe()
27
+ this.dbContext.subject.complete()
28
+ }
29
+
30
+ public hasEntity(entity: string, id: string) {
31
+ const entityDB = this.db.get(entity)
32
+ return entityDB ? entityDB[id] : undefined
33
+ }
34
+
35
+ protected upsert(entity: string, id: string, data: any) {
36
+ const entityDB = this.db.get(entity) ?? {}
37
+ entityDB[id] = { entity, fields: data.fields }
38
+ this.db.set(entity, entityDB)
39
+ const entityClass = this.schema.getType(entity)
40
+ if (entityClass && entityClass instanceof GraphQLObjectType) {
41
+ for (const intf of entityClass.getInterfaces()) {
42
+ const intfName = intf.name
43
+ const intfDB = this.db.get(intfName) ?? {}
44
+ intfDB[id] = { entity, fields: data.fields }
45
+ this.db.set(intfName, intfDB)
46
+ }
47
+ }
48
+ }
49
+
50
+ protected delete(entity: string, id: string) {
51
+ const entityDB = this.db.get(entity)
52
+ if (entityDB) {
53
+ delete entityDB[id]
54
+ }
55
+ }
56
+
57
+ protected getById(entity: string, id: string) {
58
+ const entityDB = this.db.get(entity)
59
+ if (entityDB) {
60
+ const result = entityDB[id]
61
+ return this.fillDerivedFromFields(entity, id, result)
62
+ }
63
+ return undefined
64
+ }
65
+
66
+ // a quick and dirty way to mimic how derivedFrom fields are filled in the real database
67
+ private fillDerivedFromFields(entity: string, id: string, result: any) {
68
+ const entityClass = this.schema.getType(entity)
69
+ if (entityClass && entityClass instanceof GraphQLObjectType) {
70
+ for (const field of Object.values(entityClass.getFields())) {
71
+ const derivedFrom = GetDerivedFrom(field)
72
+ if (derivedFrom) {
73
+ const elemType = getElemType(field.type) as GraphQLObjectType
74
+ const elemClass = this.schema.getType(elemType.name)
75
+ if (elemClass && elemClass instanceof GraphQLObjectType) {
76
+ const derivedField = elemClass.getFields()[derivedFrom]
77
+ if (derivedField) {
78
+ const elemDb = this.db.get(elemType.name)
79
+ if (elemDb) {
80
+ for (const elemID of Object.keys(elemDb)) {
81
+ const value = elemDb[elemID]
82
+ const deriveField = value.fields[derivedFrom]
83
+ let hasRelation = false
84
+ if (deriveField?.stringValue === id) {
85
+ hasRelation = true
86
+ }
87
+ if (deriveField.listValue) {
88
+ hasRelation = deriveField.listValue.values.some((v: any) => v.stringValue === id)
89
+ }
90
+ if (hasRelation) {
91
+ const arr = result.fields[field.name]
92
+ if (arr) {
93
+ arr.listValue.values.push({ stringValue: elemID })
94
+ } else {
95
+ result.fields[field.name] = { listValue: { values: [{ stringValue: elemID }] } }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }
103
+ }
104
+ }
105
+ return result
106
+ }
107
+
108
+ private processRequest(request: ProcessStreamResponse) {
109
+ const req = request.dbRequest
110
+ this.lastDbRequest = req
111
+ if (req) {
112
+ if (req.upsert) {
113
+ const { entityData, entity } = req.upsert
114
+ entityData.forEach((d, i) => {
115
+ const id = d.fields['id'].stringValue!
116
+ const entityName = entity[i]
117
+ this.upsert(entityName, id, d)
118
+ })
119
+
120
+ this.dbContext.result({
121
+ opId: req.opId
122
+ })
123
+ }
124
+ if (req.delete) {
125
+ const { id, entity } = req.delete
126
+ id.forEach((i, idx) => {
127
+ const entityName = entity[idx]
128
+ this.delete(entityName, i)
129
+ })
130
+ this.dbContext.result({
131
+ opId: req.opId
132
+ })
133
+ }
134
+
135
+ if (req.get) {
136
+ const { entity, id } = req.get
137
+ const data = this.getById(entity, id)
138
+ this.dbContext.result({
139
+ opId: req.opId,
140
+ // entities: { entities: data ? [data] : [] },
141
+ entityList: {
142
+ entities: data ? [toEntity(data)] : []
143
+ }
144
+ })
145
+ }
146
+ if (req.list) {
147
+ const { entity, cursor } = req.list
148
+ const list = this.listEntities(entity)
149
+
150
+ if (cursor) {
151
+ const idx = parseInt(cursor)
152
+
153
+ this.dbContext.result({
154
+ opId: req.opId,
155
+ entityList: { entities: list.slice(idx, idx + 1).map((d) => toEntity(d)) },
156
+ nextCursor: idx + 1 < list.length ? `${idx + 1}` : undefined
157
+ })
158
+ } else {
159
+ this.dbContext.result({
160
+ opId: req.opId,
161
+ entityList: { entities: list.length ? [toEntity(list[0])] : [] },
162
+ nextCursor: '1'
163
+ })
164
+ }
165
+ }
166
+ }
167
+ }
168
+
169
+ reset() {
170
+ this.db.clear()
171
+ }
172
+
173
+ private listEntities(entity: string) {
174
+ const entityDB = this.db.get(entity)
175
+ return entityDB
176
+ ? Object.entries(entityDB)
177
+ .sort((a, b) => a[0].localeCompare(b[0]))
178
+ .map(([id, data]) => this.fillDerivedFromFields(entity, id, data))
179
+ : []
180
+ }
181
+ }
182
+
183
+ function toEntity(data: any) {
184
+ return {
185
+ entity: data.entity,
186
+ genBlockChain: '',
187
+ genBlockNumber: 0n,
188
+ genBlockTime: new Date(),
189
+ data: { fields: data.fields }
190
+ }
191
+ }
192
+
193
+ function GetDerivedFrom(field: GraphQLField<any, any>): string {
194
+ for (const directive of field.astNode?.directives ?? []) {
195
+ if (directive.name.value === 'derivedFrom') {
196
+ const value = directive.arguments?.[0].value as StringValueNode
197
+ return value?.value
198
+ }
199
+ }
200
+ return ''
201
+ }
202
+
203
+ function getElemType(type: GraphQLOutputType) {
204
+ if (type instanceof GraphQLObjectType) {
205
+ return type
206
+ }
207
+ if (type instanceof GraphQLList) {
208
+ return getElemType(type.ofType)
209
+ }
210
+ if (type instanceof GraphQLNonNull) {
211
+ return getElemType(type.ofType)
212
+ }
213
+ return type
214
+ }
215
+
216
+ export function withStoreContext(ctx: StoreContext, fn: () => Promise<void>) {
217
+ return async () => {
218
+ await PluginManager.INSTANCE.dbContextLocalStorage.run(ctx, fn)
219
+ }
220
+ }
@@ -17,7 +17,7 @@ import {
17
17
  StartRequest
18
18
  } from '@sentio/protos'
19
19
  import { CallContext } from 'nice-grpc-common'
20
- import { Endpoints, ProcessorServiceImpl, State } from '@sentio/runtime'
20
+ import { Endpoints, PluginManager, ProcessorServiceImpl, State, StoreContext } from '@sentio/runtime'
21
21
  import { CHAIN_MAP } from '@sentio/chain'
22
22
 
23
23
  import { AptosFacet } from './aptos-facet.js'
@@ -28,6 +28,8 @@ import { FuelFacet } from './fuel-facet.js'
28
28
  import { CosmosFacet } from './cosmos-facet.js'
29
29
  import { StarknetFacet } from './starknet-facet.js'
30
30
  import { BTCFacet } from './btc-facet.js'
31
+ import { Subject } from 'rxjs'
32
+ import { MemoryDatabase } from './memory-database.js'
31
33
 
32
34
  export const TEST_CONTEXT: CallContext = <CallContext>{}
33
35
 
@@ -39,6 +41,7 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
39
41
  service: ProcessorServiceImpl
40
42
  contractConfigs: ContractConfig[]
41
43
  accountConfigs: AccountConfig[]
44
+ storeContext: StoreContext
42
45
 
43
46
  aptos: AptosFacet
44
47
  eth: EthFacet
@@ -66,6 +69,12 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
66
69
  const http = httpEndpoints[k] || ''
67
70
  Endpoints.INSTANCE.chainServer.set(k, http)
68
71
  }
72
+
73
+ // start a memory database for testing
74
+ const subject = new Subject<DeepPartial<ProcessStreamResponse>>()
75
+ this.storeContext = new StoreContext(subject, 1)
76
+ const db = new MemoryDatabase(this.storeContext)
77
+ db.start()
69
78
  }
70
79
 
71
80
  async start(request: StartRequest = { templateInstances: [] }, context = TEST_CONTEXT): Promise<Empty> {
@@ -88,11 +97,15 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
88
97
  request: ProcessBindingsRequest,
89
98
  context: CallContext = TEST_CONTEXT
90
99
  ): Promise<ProcessBindingResponse> {
91
- return this.service.processBindings(request, context)
100
+ return PluginManager.INSTANCE.dbContextLocalStorage.run(this.storeContext, () => {
101
+ return this.service.processBindings(request, context)
102
+ })
92
103
  }
93
104
 
94
105
  processBinding(request: DataBinding, context: CallContext = TEST_CONTEXT): Promise<ProcessBindingResponse> {
95
- return this.service.processBindings({ bindings: [request] }, context)
106
+ return PluginManager.INSTANCE.dbContextLocalStorage.run(this.storeContext, () => {
107
+ return this.service.processBindings({ bindings: [request] }, context)
108
+ })
96
109
  }
97
110
 
98
111
  processBindingsStream(
@@ -1,11 +0,0 @@
1
- import { ID } from './types.js';
2
- import type { Entity as EntityStruct } from '@sentio/protos';
3
- export declare class LocalCache {
4
- private cache;
5
- getKey(entity: string, id: ID): string;
6
- has(entity: string, id: ID): boolean;
7
- get(entity: string, id: ID): EntityStruct | undefined;
8
- set(entity: EntityStruct): void;
9
- delete(entityName: string, id: string | undefined): void;
10
- }
11
- //# sourceMappingURL=cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/store/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAC/B,OAAO,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE5D,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAuC;IAEpD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;IAI7B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO;IAIpC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,YAAY,GAAG,SAAS;IAIrD,GAAG,CAAC,MAAM,EAAE,YAAY;IAkBxB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS;CAKlD"}
@@ -1,35 +0,0 @@
1
- export class LocalCache {
2
- cache = new Map();
3
- getKey(entity, id) {
4
- return `${entity}-${id}`;
5
- }
6
- has(entity, id) {
7
- return this.cache.has(this.getKey(entity, id));
8
- }
9
- get(entity, id) {
10
- return this.cache.get(this.getKey(entity, id));
11
- }
12
- set(entity) {
13
- const id = entity.data?.fields['id'].stringValue;
14
- if (id) {
15
- const key = this.getKey(entity.entity, id);
16
- let fields = entity.data?.fields || {};
17
- if (this.cache.has(key)) {
18
- const existFields = this.cache.get(key)?.data?.fields || {};
19
- fields = Object.assign(existFields, fields);
20
- }
21
- this.cache.set(key, {
22
- ...entity,
23
- data: {
24
- fields
25
- }
26
- });
27
- }
28
- }
29
- delete(entityName, id) {
30
- if (id) {
31
- this.cache.delete(this.getKey(entityName, id));
32
- }
33
- }
34
- }
35
- //# sourceMappingURL=cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/store/cache.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,UAAU;IACb,KAAK,GAA8B,IAAI,GAAG,EAAE,CAAA;IAEpD,MAAM,CAAC,MAAc,EAAE,EAAM;QAC3B,OAAO,GAAG,MAAM,IAAI,EAAE,EAAE,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,MAAc,EAAE,EAAM;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,GAAG,CAAC,MAAc,EAAE,EAAM;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,GAAG,CAAC,MAAoB;QACtB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,CAAA;QAChD,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAC1C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAA;YACtC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAA;gBAC3D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YAC7C,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBAClB,GAAG,MAAM;gBACT,IAAI,EAAE;oBACJ,MAAM;iBACP;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,UAAkB,EAAE,EAAsB;QAC/C,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;CACF"}
@@ -1,42 +0,0 @@
1
- import { ID } from './types.js'
2
- import type { Entity as EntityStruct } from '@sentio/protos'
3
-
4
- export class LocalCache {
5
- private cache: Map<string, EntityStruct> = new Map()
6
-
7
- getKey(entity: string, id: ID) {
8
- return `${entity}-${id}`
9
- }
10
-
11
- has(entity: string, id: ID): boolean {
12
- return this.cache.has(this.getKey(entity, id))
13
- }
14
-
15
- get(entity: string, id: ID): EntityStruct | undefined {
16
- return this.cache.get(this.getKey(entity, id))
17
- }
18
-
19
- set(entity: EntityStruct) {
20
- const id = entity.data?.fields['id'].stringValue
21
- if (id) {
22
- const key = this.getKey(entity.entity, id)
23
- let fields = entity.data?.fields || {}
24
- if (this.cache.has(key)) {
25
- const existFields = this.cache.get(key)?.data?.fields || {}
26
- fields = Object.assign(existFields, fields)
27
- }
28
- this.cache.set(key, {
29
- ...entity,
30
- data: {
31
- fields
32
- }
33
- })
34
- }
35
- }
36
-
37
- delete(entityName: string, id: string | undefined) {
38
- if (id) {
39
- this.cache.delete(this.getKey(entityName, id))
40
- }
41
- }
42
- }