@sentio/sdk 2.55.2 → 2.55.3-rc.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"base-context.d.ts","sourceRoot":"","sources":["../../src/core/base-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,8BAAsB,WAAW;IAC/B,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,kBAAkB,CAAA;IAC/B,OAAO,CAAC,MAAM,CAAO;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,IAAI,CAQX;IAEM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC;IAQzC,SAAS,aAAa,UAAU,EAAE,MAAM,GAAG,SAAS;IAQpD,gBAAgB,IAAI,aAAa;IASjC,OAAO,CAAC,aAAa,CAAoC;IAEzD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;IAmBzD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;IAEpF,QAAQ,CAAC,UAAU,IAAI,OAAO;IAE9B,IAAI,KAAK,UAKR;IAGD,SAAS;CAMV"}
1
+ {"version":3,"file":"base-context.d.ts","sourceRoot":"","sources":["../../src/core/base-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,8BAAsB,WAAW;IAC/B,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,kBAAkB,CAAA;IAC/B,OAAO,CAAC,MAAM,CAAO;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,IAAI,CAQX;IAEM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC;IAQzC,SAAS,aAAa,UAAU,EAAE,MAAM,GAAG,SAAS;IAQpD,gBAAgB,IAAI,aAAa;IASjC,OAAO,CAAC,aAAa,CAAoC;IAEzD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;IAmBzD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;IAEpF,QAAQ,CAAC,UAAU,IAAI,OAAO;IAE9B,IAAI,KAAK,UAQR;IAGD,SAAS;CAMV"}
@@ -63,7 +63,10 @@ export class BaseContext {
63
63
  }
64
64
  get store() {
65
65
  if (this._store == null) {
66
- console.warn('Store is not set, please initialize the processor with your database schema first.');
66
+ this.initStore();
67
+ if (this._store == null) {
68
+ console.warn('Store is not set, please initialize the processor with your database schema first.');
69
+ }
67
70
  }
68
71
  return this._store;
69
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-context.js","sourceRoot":"","sources":["../../src/core/base-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAU,MAAM,YAAY,CAAA;AAE1C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,OAAgB,WAAW;IAC/B,KAAK,CAAO;IACZ,WAAW,CAAoB;IACvB,MAAM,CAAO;IACrB,UAAU,CAAQ;IACV,MAAM,CAAS;IAEf,IAAI,GAAsC;QAChD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,MAAM,EAAE;YACN,aAAa,EAAE,KAAK;SACrB;KACF,CAAA;IAEM,MAAM,CAAC,GAA2B;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,kEAAkE,CAAC,CAAA;QAC5G,CAAC;IACH,CAAC;IAED,YAAsB,UAA8B;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,SAAS,EAAE,CAAA;IAClB,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAA;QACpF,CAAC;IACH,CAAC;IAEO,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAA;IAEzD,WAAW,CAAC,IAAY,EAAE,MAAc;QACtC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG;oBACT,GAAG,IAAI,CAAC,UAAU;oBAClB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC;iBAC1C,CAAA;gBACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACxC,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO;YACL,GAAG,IAAI,CAAC,UAAU;YAClB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC;SAC1C,CAAA;IACH,CAAC;IAMD,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAA;QACpG,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,oEAAoE;IACpE,SAAS;QACP,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAA;QACzE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"base-context.js","sourceRoot":"","sources":["../../src/core/base-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/base-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC1F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC,8BAAsB,qBAAqB,CAAC,SAAS,SAAS,QAAQ,CAAE,SAAQ,aAAa,CAAC,SAAS,CAAC;IACtG,SAAS,aAAa,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC;CAc9E;AAED,qBAAa,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAA;IACP,WAAW,EAAE,CAAC,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAA;CAQ1B"}
1
+ {"version":3,"file":"base-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/base-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC,8BAAsB,qBAAqB,CAAC,SAAS,SAAS,QAAQ,CAAE,SAAQ,aAAa,CAAC,SAAS,CAAC;IACtG,SAAS,aAAa,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC;CAa9E;AAED,qBAAa,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAA;IACP,WAAW,EAAE,CAAC,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAA;CAQ1B"}
@@ -1,4 +1,4 @@
1
- import { addFuelProcessor, FuelProcessor } from './fuel-processor.js';
1
+ import { FuelProcessor } from './fuel-processor.js';
2
2
  // import { FuelCall } from './context.js'
3
3
  import { FuelChainId } from '@sentio/chain';
4
4
  import { proxyProcessor } from '../utils/metrics.js';
@@ -14,7 +14,6 @@ export class FuelAbstractProcessor extends FuelProcessor {
14
14
  ...config,
15
15
  abi
16
16
  });
17
- addFuelProcessor(config, this);
18
17
  return proxyProcessor(this);
19
18
  }
20
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-processor.js","sourceRoot":"","sources":["../../src/fuel/base-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAA;AAE1F,0CAA0C;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,OAAgB,qBAAkD,SAAQ,aAAwB;IACtG,YAAsB,GAAY,EAAE,MAAyC;QAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG;gBACP,OAAO,EAAE,WAAW,CAAC,YAAY;gBACjC,OAAO,EAAE,GAAG;aACb,CAAA;QACH,CAAC;QACD,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,GAAG;SACJ,CAAC,CAAA;QACF,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC9B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,SAAS;IACpB,IAAI,CAAG;IACP,WAAW,CAAG;IACd,UAAU,CAAsB;IAChC,IAAI,CAAqB;CAQ1B"}
1
+ {"version":3,"file":"base-processor.js","sourceRoot":"","sources":["../../src/fuel/base-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAA;AAExE,0CAA0C;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,OAAgB,qBAAkD,SAAQ,aAAwB;IACtG,YAAsB,GAAY,EAAE,MAAyC;QAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG;gBACP,OAAO,EAAE,WAAW,CAAC,YAAY;gBACjC,OAAO,EAAE,GAAG;aACb,CAAA;QACH,CAAC;QACD,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,GAAG;SACJ,CAAC,CAAA;QACF,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,SAAS;IACpB,IAAI,CAAG;IACP,WAAW,CAAG;IACd,UAAU,CAAsB;IAChC,IAAI,CAAqB;CAQ1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"AAkDA,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAW9D"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"AA8DA,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAW9D"}
@@ -4,6 +4,7 @@ import path from 'path';
4
4
  import { mkdirpSync } from 'mkdirp';
5
5
  import { schemaFromFile } from './schema.js';
6
6
  import chalk from 'chalk';
7
+ import { upperFirst } from '../fuel/codegen/utils.js';
7
8
  export async function codegen(srcDir, outputDir) {
8
9
  for (const file of fs.readdirSync(srcDir)) {
9
10
  const f = path.join(srcDir, file);
@@ -99,15 +100,23 @@ async function codegenInternal(schema, source, target) {
99
100
  if (t instanceof GraphQLObjectType) {
100
101
  if (isEntity(t)) {
101
102
  const fields = [];
103
+ const methods = [];
102
104
  for (const f of Object.values(t.getFields())) {
103
105
  const type = genType(f.type);
104
106
  const annotations = [];
105
107
  addTypeAnnotations(f.type, annotations);
106
108
  if (isRelationType(f.type)) {
107
109
  fields.push({
108
- name: f.name,
110
+ name: '_' + f.name,
109
111
  type: `Promise<${type}>`,
110
- annotations
112
+ annotations,
113
+ private: true
114
+ });
115
+ methods.push({
116
+ name: f.name,
117
+ returnType: `Promise<${type}>`,
118
+ body: `return this._${f.name}`,
119
+ annotations: []
111
120
  });
112
121
  const isMany = type.startsWith('Array');
113
122
  fields.push({
@@ -115,6 +124,27 @@ async function codegenInternal(schema, source, target) {
115
124
  type: isMany ? `Array<ID | undefined>` : `ID`,
116
125
  annotations: []
117
126
  });
127
+ // should no setter for derived fields
128
+ if (!isDerived(f)) {
129
+ if (isMany) {
130
+ methods.push({
131
+ name: `set${upperFirst(f.name)}`,
132
+ parameters: [`${f.name}: ${type}`],
133
+ returnType: ``,
134
+ body: `if (${f.name}) this.${f.name}IDs = ${f.name}.map((e) => e.id)`,
135
+ annotations: []
136
+ });
137
+ }
138
+ else {
139
+ methods.push({
140
+ name: `set${upperFirst(f.name)}`,
141
+ parameters: [`${f.name}: ${type}`],
142
+ returnType: ``,
143
+ body: `if (${f.name}) this.${f.name}ID = ${f.name}.id`,
144
+ annotations: []
145
+ });
146
+ }
147
+ }
118
148
  }
119
149
  else {
120
150
  fields.push({
@@ -128,6 +158,7 @@ async function codegenInternal(schema, source, target) {
128
158
  classes.push({
129
159
  name: t.name,
130
160
  fields,
161
+ methods,
131
162
  annotations: [`@Entity("${t.name}")`],
132
163
  parent: 'AbstractEntity',
133
164
  interfaces: t.getInterfaces().map((i) => i.name)
@@ -177,7 +208,7 @@ ${c.fields
177
208
  .filter((f) => !f.type.startsWith('Promise<')) // Filter out Promise fields
178
209
  .map((f) => {
179
210
  const isRequired = f.annotations.some((a) => a.includes('@Required'));
180
- return ` ${f.name}${isRequired ? '' : '?'}: ${f.type.replace(' | undefined', '')};`;
211
+ return ` ${f.private ? 'private ' : ''}${f.name}${isRequired ? '' : '?'}: ${f.type.replace(' | undefined', '')};`;
181
212
  })
182
213
  .join('\n')}
183
214
  }`
@@ -190,6 +221,7 @@ ${c.fields
190
221
  .map((f) => `${f.annotations.map((a) => `\n\t${a}`).join('')}\n\t${f.name}${f.optional ? '?' : ''}: ${f.type}`)
191
222
  .join('\n')}
192
223
  ${isEntity ? `constructor(data: ${c.name}ConstructorInput) {super()}` : ''}
224
+ ${(c.methods ?? []).map(genMethod).join('\n')}
193
225
  }`;
194
226
  })
195
227
  .join('\n')}
@@ -227,6 +259,12 @@ function genType(type, required) {
227
259
  throw new Error('Unsupported type: ' + type);
228
260
  }
229
261
  }
262
+ function genMethod(method) {
263
+ return `${method.annotations.map((a) => `@${a}`).join('\n')}
264
+ ${method.name}(${method.parameters?.join(', ') ?? ''})${method.returnType ? `: ${method.returnType}` : ''} {
265
+ ${method.body}
266
+ }`;
267
+ }
230
268
  function isRelationType(type) {
231
269
  if (type instanceof GraphQLNonNull) {
232
270
  return isRelationType(type.ofType);
@@ -244,4 +282,7 @@ function isRelationType(type) {
244
282
  function isEntity(t) {
245
283
  return t.astNode?.directives?.some((d) => d.name.value == 'entity');
246
284
  }
285
+ function isDerived(f) {
286
+ return f.astNode?.directives?.some((d) => d.name.value == 'derivedFrom');
287
+ }
247
288
  //# sourceMappingURL=codegen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAcL,cAAc,EACf,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3C,KAAK,WAAW,GAAG;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAAE,CAAA;AAUhD,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,IACtB,CAAC,SAAS,WAAW,aAAa,CAAC;kBA6D3B,GAAG,EAAE;;wBAFV,UAAU;;;MAe/B;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,YACR,GAAG,eAAe,MAAM,UAelD;AAED,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,YACjB,GAAG,eAAe,MAAM,UAuBlD;AAED,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,YACtB,GAAG,eAAe,MAAM,UAclD;AAED,eAAO,MAAM,QAAQ,WAhBM,GAAG,eAAe,MAAM,SAgBR,CAAA;AAC3C,eAAO,MAAM,SAAS,WAjBK,GAAG,eAAe,MAAM,SAiBN,CAAA;AAC7C,eAAO,MAAM,WAAW,WAlBG,GAAG,eAAe,MAAM,SAkBF,CAAA;AACjD,eAAO,MAAM,gBAAgB,WAnBF,GAAG,eAAe,MAAM,SAmBQ,CAAA;AAC3D,eAAO,MAAM,YAAY,WApBE,GAAG,eAAe,MAAM,SAoBA,CAAA;AACnD,eAAO,MAAM,YAAY,WArBE,GAAG,eAAe,MAAM,SAqBA,CAAA;AACnD,eAAO,MAAM,aAAa,WAtBC,GAAG,eAAe,MAAM,SAsBE,CAAA;AACrD,eAAO,MAAM,eAAe,WAvBD,GAAG,eAAe,MAAM,SAuBM,CAAA;AACzD,eAAO,MAAM,WAAW,WAxBG,GAAG,eAAe,MAAM,SAwBF,CAAA;AAEjD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,QAOxD;AAED,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,YACP,GAAG,eAAe,MAAM,UAGlD;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,YACR,GAAG,eAAe,MAAM,UAGlD"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAcL,cAAc,EACf,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3C,KAAK,WAAW,GAAG;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAAE,CAAA;AAUhD,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,IACtB,CAAC,SAAS,WAAW,aAAa,CAAC;kBA4D3B,GAAG,EAAE;;wBAFV,UAAU;;;MAe/B;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,YACR,GAAG,eAAe,MAAM,UAelD;AAED,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,YACjB,GAAG,eAAe,MAAM,UAuBlD;AAED,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,YACtB,GAAG,eAAe,MAAM,UAclD;AAED,eAAO,MAAM,QAAQ,WAhBM,GAAG,eAAe,MAAM,SAgBR,CAAA;AAC3C,eAAO,MAAM,SAAS,WAjBK,GAAG,eAAe,MAAM,SAiBN,CAAA;AAC7C,eAAO,MAAM,WAAW,WAlBG,GAAG,eAAe,MAAM,SAkBF,CAAA;AACjD,eAAO,MAAM,gBAAgB,WAnBF,GAAG,eAAe,MAAM,SAmBQ,CAAA;AAC3D,eAAO,MAAM,YAAY,WApBE,GAAG,eAAe,MAAM,SAoBA,CAAA;AACnD,eAAO,MAAM,YAAY,WArBE,GAAG,eAAe,MAAM,SAqBA,CAAA;AACnD,eAAO,MAAM,aAAa,WAtBC,GAAG,eAAe,MAAM,SAsBE,CAAA;AACrD,eAAO,MAAM,eAAe,WAvBD,GAAG,eAAe,MAAM,SAuBM,CAAA;AACzD,eAAO,MAAM,WAAW,WAxBG,GAAG,eAAe,MAAM,SAwBF,CAAA;AAEjD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,QAOxD;AAED,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,YACP,GAAG,eAAe,MAAM,UAGlD;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,YACR,GAAG,eAAe,MAAM,UAGlD"}
@@ -16,13 +16,14 @@ export function Entity(entityName) {
16
16
  for (const [propertyKey, type] of Object.entries(meta)) {
17
17
  if (type.isRelation && type.relationName) {
18
18
  const relationName = type.relationName.endsWith('!') ? type.relationName.slice(0, -1) : type.relationName;
19
+ const key = propertyKey.startsWith('_') ? propertyKey.slice(1) : propertyKey;
19
20
  const idGetter = function () {
20
- return handleError(this.constructor.entityName, propertyKey, () => type.to(this._data.fields[propertyKey]));
21
+ return handleError(this.constructor.entityName, key, () => type.to(this._data.fields[key]));
21
22
  };
22
23
  const idSetter = function (value) {
23
- this._data.fields[propertyKey] = handleError(this.constructor.entityName, propertyKey, () => type.from(value));
24
+ this._data.fields[key] = handleError(this.constructor.entityName, key, () => type.from(value));
24
25
  };
25
- const idKey = type.isArray ? propertyKey + 'IDs' : propertyKey + 'ID';
26
+ const idKey = type.isArray ? key + 'IDs' : key + 'ID';
26
27
  Reflect.defineProperty(target, idKey, {
27
28
  get: idGetter,
28
29
  set: idSetter
@@ -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":"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"}
@@ -1,12 +1,14 @@
1
1
  import { StoreContext } from '../store/context.js';
2
2
  import { DBRequest } from '@sentio/protos';
3
3
  import { GraphQLSchema } from 'graphql/index.js';
4
+ import { Store } from '../store/store.js';
4
5
  export declare class MemoryDatabase {
5
6
  readonly dbContext: StoreContext;
6
7
  db: Map<string, Record<string, any>>;
7
8
  lastDbRequest: DBRequest | undefined;
8
9
  schema: GraphQLSchema;
9
10
  constructor(dbContext: StoreContext);
11
+ get store(): Store;
10
12
  start(): void;
11
13
  stop(): void;
12
14
  hasEntity(entity: string, id: string): any;
@@ -1 +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;IAQ5C,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;IAkEtB,KAAK;IAIL,OAAO,CAAC,YAAY;CAQrB;AAmCD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,uBAI1E"}
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,EACL,SAAS,EAOV,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAgB,aAAa,EAA0B,MAAM,kBAAkB,CAAA;AAOtF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,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;IAQ5C,IAAI,KAAK,UAER;IAED,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;IAkEtB,KAAK;IAIL,OAAO,CAAC,YAAY;CAkBrB;AA0ID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,uBAI1E"}
@@ -1,8 +1,12 @@
1
- import { DatabaseSchemaState } from '../core/database-schema.js';
1
+ import { DBRequest_DBOperator } from '@sentio/protos';
2
2
  import { parse } from 'graphql/index.js';
3
+ import { DatabaseSchemaState } from '../core/database-schema.js';
3
4
  import { buildSchema } from '../store/schema.js';
4
5
  import { GraphQLList, GraphQLNonNull, GraphQLObjectType } from 'graphql';
5
6
  import { PluginManager } from '@sentio/runtime';
7
+ import { BigDecimalConverter, BigIntConverter } from '../store/convert.js';
8
+ import { BigDecimal } from '@sentio/bigdecimal';
9
+ import { Store } from '../store/store.js';
6
10
  export class MemoryDatabase {
7
11
  dbContext;
8
12
  db = new Map();
@@ -16,6 +20,9 @@ export class MemoryDatabase {
16
20
  this.schema = buildSchema(doc);
17
21
  }
18
22
  }
23
+ get store() {
24
+ return new Store(this.dbContext);
25
+ }
19
26
  start() {
20
27
  this.dbContext.subject.subscribe(this.processRequest.bind(this));
21
28
  }
@@ -76,7 +83,7 @@ export class MemoryDatabase {
76
83
  if (deriveField?.stringValue === id) {
77
84
  hasRelation = true;
78
85
  }
79
- if (deriveField.listValue) {
86
+ if (deriveField?.listValue) {
80
87
  hasRelation = deriveField.listValue.values.some((v) => v.stringValue === id);
81
88
  }
82
89
  if (hasRelation) {
@@ -138,8 +145,8 @@ export class MemoryDatabase {
138
145
  });
139
146
  }
140
147
  if (req.list) {
141
- const { entity, cursor } = req.list;
142
- const list = this.listEntities(entity);
148
+ const { entity, cursor, filters } = req.list;
149
+ const list = this.listEntities(entity, filters);
143
150
  if (cursor) {
144
151
  const idx = parseInt(cursor);
145
152
  this.dbContext.result({
@@ -161,14 +168,112 @@ export class MemoryDatabase {
161
168
  reset() {
162
169
  this.db.clear();
163
170
  }
164
- listEntities(entity) {
171
+ listEntities(entity, filters) {
165
172
  const entityDB = this.db.get(entity);
166
- return entityDB
173
+ const entities = entityDB
167
174
  ? Object.entries(entityDB)
168
175
  .sort((a, b) => a[0].localeCompare(b[0]))
169
176
  .map(([id, data]) => this.fillDerivedFromFields(entity, id, data))
170
177
  : [];
178
+ if (!filters || filters.length === 0) {
179
+ return entities;
180
+ }
181
+ let results = [];
182
+ for (const f of filters ?? []) {
183
+ results = entities.filter((e) => filter(e, f));
184
+ }
185
+ return results;
186
+ }
187
+ }
188
+ function filter(entity, filter) {
189
+ const value = entity.fields[filter.field];
190
+ switch (filter.op) {
191
+ case DBRequest_DBOperator.EQ:
192
+ return equal(value, filter.value);
193
+ case DBRequest_DBOperator.NE:
194
+ return !equal(value, filter.value);
195
+ case DBRequest_DBOperator.GT:
196
+ return greaterThan(value, filter.value);
197
+ case DBRequest_DBOperator.LT:
198
+ return lessThan(value, filter.value);
199
+ case DBRequest_DBOperator.GE:
200
+ return greaterThan(value, filter.value) || equal(value, filter.value);
201
+ case DBRequest_DBOperator.LE:
202
+ return lessThan(value, filter.value) || equal(value, filter.value);
203
+ case DBRequest_DBOperator.IN:
204
+ return filter.value?.values.some((v) => equal(value, { values: [v] }));
205
+ case DBRequest_DBOperator.NOT_IN:
206
+ return !filter.value?.values.some((v) => equal(value, { values: [v] }));
207
+ case DBRequest_DBOperator.HAS_ALL:
208
+ return filter.value?.values.every((v) => equal(value, { values: [v] }));
209
+ case DBRequest_DBOperator.HAS_ANY:
210
+ for (const a of filter.value?.values ?? []) {
211
+ if ((value.listValue?.values ?? []).some((v) => equal(a, { values: [v] }))) {
212
+ return true;
213
+ }
214
+ }
215
+ return false;
216
+ case DBRequest_DBOperator.LIKE:
217
+ return like(value.stringValue, filter.value?.values[0]?.stringValue);
218
+ default:
219
+ return false;
220
+ }
221
+ }
222
+ function equal(field, value) {
223
+ if (field.stringValue !== undefined) {
224
+ return field.stringValue === value?.values[0]?.stringValue;
225
+ }
226
+ if (field.listValue) {
227
+ return field.listValue.values.every((v, i) => {
228
+ const vv = value?.values[i];
229
+ return equal(v, vv ? { values: [vv] } : undefined);
230
+ });
231
+ }
232
+ const a = toNumber(field);
233
+ const b = toNumber(value?.values[0]);
234
+ if (a !== undefined && b !== undefined) {
235
+ return new BigDecimal(a.toString()).eq(new BigDecimal(b.toString()));
171
236
  }
237
+ return false;
238
+ }
239
+ function greaterThan(field, value) {
240
+ const a = toNumber(field);
241
+ const b = toNumber(value?.values[0]);
242
+ if (a !== undefined && b !== undefined) {
243
+ const sa = a.toString();
244
+ const sb = b.toString();
245
+ return new BigDecimal(sa).isGreaterThan(new BigDecimal(sb));
246
+ }
247
+ else {
248
+ return false;
249
+ }
250
+ }
251
+ function lessThan(field, value) {
252
+ const a = toNumber(field);
253
+ const b = toNumber(value?.values[0]);
254
+ if (a !== undefined && b !== undefined) {
255
+ const sa = a.toString();
256
+ const sb = b.toString();
257
+ return new BigDecimal(sa).isLessThan(new BigDecimal(sb));
258
+ }
259
+ else {
260
+ return false;
261
+ }
262
+ }
263
+ function toNumber(value) {
264
+ if (value?.intValue !== undefined) {
265
+ return value.intValue;
266
+ }
267
+ if (value?.floatValue !== undefined) {
268
+ return value.floatValue;
269
+ }
270
+ if (value?.bigintValue !== undefined) {
271
+ return BigIntConverter.to(value);
272
+ }
273
+ if (value?.bigdecimalValue !== undefined) {
274
+ return BigDecimalConverter.to(value);
275
+ }
276
+ return undefined;
172
277
  }
173
278
  function toEntity(data) {
174
279
  return {
@@ -179,6 +284,13 @@ function toEntity(data) {
179
284
  data: { fields: data.fields }
180
285
  };
181
286
  }
287
+ function like(field, value) {
288
+ if (field === undefined || value === undefined) {
289
+ return false;
290
+ }
291
+ const regex = new RegExp(value.replace(/%/g, '.*').replace(/_/g, '.'));
292
+ return regex.test(field);
293
+ }
182
294
  function GetDerivedFrom(field) {
183
295
  for (const directive of field.astNode?.directives ?? []) {
184
296
  if (directive.name.value === 'derivedFrom') {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-database.js","sourceRoot":"","sources":["../../src/testing/memory-database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-database.js","sourceRoot":"","sources":["../../src/testing/memory-database.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { FuelFacet } from './fuel-facet.js';
9
9
  import { CosmosFacet } from './cosmos-facet.js';
10
10
  import { StarknetFacet } from './starknet-facet.js';
11
11
  import { BTCFacet } from './btc-facet.js';
12
+ import { MemoryDatabase } from './memory-database.js';
12
13
  export declare const TEST_CONTEXT: CallContext;
13
14
  export declare function cleanTest(): void;
14
15
  export declare class TestProcessorServer implements ProcessorServiceImplementation {
@@ -24,6 +25,7 @@ export declare class TestProcessorServer implements ProcessorServiceImplementati
24
25
  cosmos: CosmosFacet;
25
26
  starknet: StarknetFacet;
26
27
  btc: BTCFacet;
28
+ db: MemoryDatabase;
27
29
  constructor(loader: () => Promise<any>, httpEndpoints?: Record<string, string>);
28
30
  start(request?: StartRequest, context?: CallContext): Promise<Empty>;
29
31
  stop(request: Empty, context?: CallContext): Promise<Empty>;
@@ -32,5 +34,7 @@ export declare class TestProcessorServer implements ProcessorServiceImplementati
32
34
  processBinding(request: DataBinding, context?: CallContext): Promise<ProcessBindingResponse>;
33
35
  processBindingsStream(requests: AsyncIterable<ProcessStreamRequest>, context: CallContext): ServerStreamingMethodResult<DeepPartial<ProcessStreamResponse>>;
34
36
  preprocessBindingsStream(requests: AsyncIterable<PreprocessStreamRequest>, context: CallContext): ServerStreamingMethodResult<DeepPartial<PreprocessStreamResponse>>;
37
+ private initDb;
38
+ get store(): import("../store/store.js").Store;
35
39
  }
36
40
  //# sourceMappingURL=test-processor-server.d.ts.map
@@ -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,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
+ {"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;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,eAAO,MAAM,YAAY,EAAE,WAA6B,CAAA;AAExD,wBAAgB,SAAS,SAKxB;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;IACb,EAAE,EAAE,cAAc,CAAA;gBAEN,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAuB5E,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;IAOlC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,WAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAO1G,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;IAOrE,OAAO,CAAC,MAAM;IAOd,IAAI,KAAK,sCAER;CACF"}
@@ -10,9 +10,13 @@ import { StarknetFacet } from './starknet-facet.js';
10
10
  import { BTCFacet } from './btc-facet.js';
11
11
  import { Subject } from 'rxjs';
12
12
  import { MemoryDatabase } from './memory-database.js';
13
+ import { DatabaseSchemaState } from '../core/database-schema.js';
13
14
  export const TEST_CONTEXT = {};
14
15
  export function cleanTest() {
16
+ // retain the DatabaseSchemaState
17
+ const state = State.INSTANCE.stateMap.get(DatabaseSchemaState.INSTANCE.key());
15
18
  State.reset();
19
+ State.INSTANCE.stateMap.set(DatabaseSchemaState.INSTANCE.key(), state);
16
20
  }
17
21
  export class TestProcessorServer {
18
22
  service;
@@ -27,6 +31,7 @@ export class TestProcessorServer {
27
31
  cosmos;
28
32
  starknet;
29
33
  btc;
34
+ db;
30
35
  constructor(loader, httpEndpoints = {}) {
31
36
  cleanTest();
32
37
  this.service = new ProcessorServiceImpl(loader);
@@ -45,8 +50,6 @@ export class TestProcessorServer {
45
50
  // start a memory database for testing
46
51
  const subject = new Subject();
47
52
  this.storeContext = new StoreContext(subject, 1);
48
- const db = new MemoryDatabase(this.storeContext);
49
- db.start();
50
53
  }
51
54
  async start(request = { templateInstances: [] }, context = TEST_CONTEXT) {
52
55
  const res = await this.service.start(request, context);
@@ -62,11 +65,13 @@ export class TestProcessorServer {
62
65
  return this.service.getConfig(request, context);
63
66
  }
64
67
  processBindings(request, context = TEST_CONTEXT) {
68
+ this.initDb();
65
69
  return PluginManager.INSTANCE.dbContextLocalStorage.run(this.storeContext, () => {
66
70
  return this.service.processBindings(request, context);
67
71
  });
68
72
  }
69
73
  processBinding(request, context = TEST_CONTEXT) {
74
+ this.initDb();
70
75
  return PluginManager.INSTANCE.dbContextLocalStorage.run(this.storeContext, () => {
71
76
  return this.service.processBindings({ bindings: [request] }, context);
72
77
  });
@@ -77,5 +82,17 @@ export class TestProcessorServer {
77
82
  preprocessBindingsStream(requests, context) {
78
83
  throw new Error('Method not implemented.');
79
84
  }
85
+ // processBindingsStream(request: AsyncIterable<ProcessStreamRequest>, context: CallContext) {
86
+ // return this.service.processBindingsStream(request, context)
87
+ // }
88
+ initDb() {
89
+ if (this.db == null) {
90
+ this.db = new MemoryDatabase(this.storeContext);
91
+ this.db.start();
92
+ }
93
+ }
94
+ get store() {
95
+ return this.db.store;
96
+ }
80
97
  }
81
98
  //# sourceMappingURL=test-processor-server.js.map
@@ -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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"}
@@ -28,7 +28,7 @@ export function getPriceClient(basePath = Endpoints.INSTANCE.priceFeedAPI) {
28
28
  }
29
29
  const priceMap = new LRUCache({
30
30
  max: 100000,
31
- ttl: 1000 * 60 * 60 // 1 hour
31
+ ttl: 1000 * 60 * 5 // 5 minutes
32
32
  });
33
33
  let priceClient;
34
34
  async function getPriceByTypeOrSymbol(date, coinId, options) {
@@ -120,7 +120,7 @@ export async function getPriceBySymbol(symbol, date, options) {
120
120
  return getPriceByTypeOrSymbol(date, { symbol }, options);
121
121
  }
122
122
  function dateString(date) {
123
- return [date.getUTCDate(), date.getUTCMonth() + 1, date.getUTCFullYear()].join('-');
123
+ return [date.getHours(), date.getUTCDate(), date.getUTCMonth() + 1, date.getUTCFullYear()].join('-');
124
124
  }
125
125
  /**
126
126
  * get coins that has price, return results are list of coin id with both symbol and address field set
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/utils/price.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/utils/price.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.55.2",
3
+ "version": "2.55.3-rc.2",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -86,8 +86,8 @@
86
86
  "typechain": "^8.3.2",
87
87
  "utility-types": "^3.11.0",
88
88
  "yaml": "^2.3.4",
89
- "@sentio/protos": "2.55.2",
90
- "@sentio/runtime": "^2.55.2"
89
+ "@sentio/protos": "2.55.3-rc.2",
90
+ "@sentio/runtime": "^2.55.3-rc.2"
91
91
  },
92
92
  "peerDependencies": {
93
93
  "tsup": "npm:@sentio/tsup@^8.3.5-rc.1"
@@ -76,7 +76,10 @@ export abstract class BaseContext {
76
76
 
77
77
  get store() {
78
78
  if (this._store == null) {
79
- console.warn('Store is not set, please initialize the processor with your database schema first.')
79
+ this.initStore()
80
+ if (this._store == null) {
81
+ console.warn('Store is not set, please initialize the processor with your database schema first.')
82
+ }
80
83
  }
81
84
  return this._store
82
85
  }
@@ -1,4 +1,4 @@
1
- import { addFuelProcessor, FuelProcessor, FuelProcessorConfig } from './fuel-processor.js'
1
+ import { FuelProcessor, FuelProcessorConfig } from './fuel-processor.js'
2
2
  import { Contract, JsonAbi } from 'fuels'
3
3
  // import { FuelCall } from './context.js'
4
4
  import { FuelChainId } from '@sentio/chain'
@@ -17,7 +17,6 @@ export abstract class FuelAbstractProcessor<TContract extends Contract> extends
17
17
  ...config,
18
18
  abi
19
19
  })
20
- addFuelProcessor(config, this)
21
20
  return proxyProcessor(this)
22
21
  }
23
22
  }
@@ -16,6 +16,8 @@ import path from 'path'
16
16
  import { mkdirpSync } from 'mkdirp'
17
17
  import { schemaFromFile } from './schema.js'
18
18
  import chalk from 'chalk'
19
+ import { upperFirst } from '../fuel/codegen/utils.js'
20
+ import { GraphQLField } from 'graphql/index.js'
19
21
 
20
22
  interface Import {
21
23
  module: string
@@ -28,11 +30,21 @@ interface Field {
28
30
  type: string
29
31
  optional?: boolean
30
32
  annotations: string[]
33
+ private?: boolean
34
+ }
35
+
36
+ interface Method {
37
+ name: string
38
+ returnType?: string
39
+ body: string
40
+ annotations: string[]
41
+ parameters?: string[]
31
42
  }
32
43
 
33
44
  interface Class {
34
45
  name: string
35
46
  fields: Field[]
47
+ methods?: Method[]
36
48
  annotations: string[]
37
49
  parent?: string
38
50
  interfaces: string[]
@@ -144,15 +156,23 @@ async function codegenInternal(schema: GraphQLSchema, source: string, target: st
144
156
  if (t instanceof GraphQLObjectType) {
145
157
  if (isEntity(t)) {
146
158
  const fields: Field[] = []
159
+ const methods: Method[] = []
147
160
  for (const f of Object.values(t.getFields())) {
148
161
  const type = genType(f.type)
149
162
  const annotations: string[] = []
150
163
  addTypeAnnotations(f.type, annotations)
151
164
  if (isRelationType(f.type)) {
152
165
  fields.push({
153
- name: f.name,
166
+ name: '_' + f.name,
154
167
  type: `Promise<${type}>`,
155
- annotations
168
+ annotations,
169
+ private: true
170
+ })
171
+ methods.push({
172
+ name: f.name,
173
+ returnType: `Promise<${type}>`,
174
+ body: `return this._${f.name}`,
175
+ annotations: []
156
176
  })
157
177
  const isMany = type.startsWith('Array')
158
178
  fields.push({
@@ -160,6 +180,26 @@ async function codegenInternal(schema: GraphQLSchema, source: string, target: st
160
180
  type: isMany ? `Array<ID | undefined>` : `ID`,
161
181
  annotations: []
162
182
  })
183
+ // should no setter for derived fields
184
+ if (!isDerived(f)) {
185
+ if (isMany) {
186
+ methods.push({
187
+ name: `set${upperFirst(f.name)}`,
188
+ parameters: [`${f.name}: ${type}`],
189
+ returnType: ``,
190
+ body: `if (${f.name}) this.${f.name}IDs = ${f.name}.map((e) => e.id)`,
191
+ annotations: []
192
+ })
193
+ } else {
194
+ methods.push({
195
+ name: `set${upperFirst(f.name)}`,
196
+ parameters: [`${f.name}: ${type}`],
197
+ returnType: ``,
198
+ body: `if (${f.name}) this.${f.name}ID = ${f.name}.id`,
199
+ annotations: []
200
+ })
201
+ }
202
+ }
163
203
  } else {
164
204
  fields.push({
165
205
  name: f.name,
@@ -172,6 +212,7 @@ async function codegenInternal(schema: GraphQLSchema, source: string, target: st
172
212
  classes.push({
173
213
  name: t.name,
174
214
  fields,
215
+ methods,
175
216
  annotations: [`@Entity("${t.name}")`],
176
217
  parent: 'AbstractEntity',
177
218
  interfaces: t.getInterfaces().map((i) => i.name)
@@ -225,12 +266,11 @@ ${c.fields
225
266
  .filter((f) => !f.type.startsWith('Promise<')) // Filter out Promise fields
226
267
  .map((f) => {
227
268
  const isRequired = f.annotations.some((a) => a.includes('@Required'))
228
- return ` ${f.name}${isRequired ? '' : '?'}: ${f.type.replace(' | undefined', '')};`
269
+ return ` ${f.private ? 'private ' : ''}${f.name}${isRequired ? '' : '?'}: ${f.type.replace(' | undefined', '')};`
229
270
  })
230
271
  .join('\n')}
231
272
  }`
232
273
  : ''
233
-
234
274
  return `
235
275
  ${constructorInterface}
236
276
  ${c.annotations.join('\n')}
@@ -239,6 +279,7 @@ ${c.fields
239
279
  .map((f) => `${f.annotations.map((a) => `\n\t${a}`).join('')}\n\t${f.name}${f.optional ? '?' : ''}: ${f.type}`)
240
280
  .join('\n')}
241
281
  ${isEntity ? `constructor(data: ${c.name}ConstructorInput) {super()}` : ''}
282
+ ${(c.methods ?? []).map(genMethod).join('\n')}
242
283
  }`
243
284
  })
244
285
  .join('\n')}
@@ -276,6 +317,13 @@ function genType(type: GraphQLOutputType, required?: boolean): string {
276
317
  }
277
318
  }
278
319
 
320
+ function genMethod(method: Method) {
321
+ return `${method.annotations.map((a) => `@${a}`).join('\n')}
322
+ ${method.name}(${method.parameters?.join(', ') ?? ''})${method.returnType ? `: ${method.returnType}` : ''} {
323
+ ${method.body}
324
+ }`
325
+ }
326
+
279
327
  function isRelationType(type: GraphQLOutputType): boolean {
280
328
  if (type instanceof GraphQLNonNull) {
281
329
  return isRelationType(type.ofType)
@@ -291,3 +339,7 @@ function isRelationType(type: GraphQLOutputType): boolean {
291
339
  function isEntity(t: GraphQLObjectType) {
292
340
  return t.astNode?.directives?.some((d) => d.name.value == 'entity')
293
341
  }
342
+
343
+ function isDerived(f: GraphQLField<any, any>) {
344
+ return f.astNode?.directives?.some((d) => d.name.value == 'derivedFrom')
345
+ }
@@ -35,15 +35,14 @@ export function Entity(entityName: string) {
35
35
  for (const [propertyKey, type] of Object.entries(meta)) {
36
36
  if (type.isRelation && type.relationName) {
37
37
  const relationName = type.relationName.endsWith('!') ? type.relationName.slice(0, -1) : type.relationName
38
+ const key = propertyKey.startsWith('_') ? propertyKey.slice(1) : propertyKey
38
39
  const idGetter = function (this: any) {
39
- return handleError(this.constructor.entityName, propertyKey, () => type!.to(this._data.fields[propertyKey]))
40
+ return handleError(this.constructor.entityName, key, () => type!.to(this._data.fields[key]))
40
41
  }
41
42
  const idSetter = function (this: any, value: any) {
42
- this._data.fields[propertyKey] = handleError(this.constructor.entityName, propertyKey, () =>
43
- type!.from(value)
44
- )
43
+ this._data.fields[key] = handleError(this.constructor.entityName, key, () => type!.from(value))
45
44
  }
46
- const idKey = type.isArray ? propertyKey + 'IDs' : propertyKey + 'ID'
45
+ const idKey = type.isArray ? key + 'IDs' : key + 'ID'
47
46
 
48
47
  Reflect.defineProperty(target, idKey, {
49
48
  get: idGetter,
@@ -1,11 +1,21 @@
1
1
  import { StoreContext } from '../store/context.js'
2
- import { DBRequest, ProcessStreamResponse } from '@sentio/protos'
3
- import { GraphQLField, GraphQLSchema, StringValueNode } from 'graphql/index.js'
2
+ import {
3
+ DBRequest,
4
+ DBRequest_DBFilter,
5
+ DBRequest_DBOperator,
6
+ ProcessStreamResponse,
7
+ RichStruct,
8
+ RichValue,
9
+ RichValueList
10
+ } from '@sentio/protos'
11
+ import { GraphQLField, GraphQLSchema, parse, StringValueNode } from 'graphql/index.js'
4
12
  import { DatabaseSchemaState } from '../core/database-schema.js'
5
- import { parse } from 'graphql/index.js'
6
13
  import { buildSchema } from '../store/schema.js'
7
14
  import { GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLOutputType } from 'graphql'
8
15
  import { PluginManager } from '@sentio/runtime'
16
+ import { BigDecimalConverter, BigIntConverter } from '../store/convert.js'
17
+ import { BigDecimal } from '@sentio/bigdecimal'
18
+ import { Store } from '../store/store.js'
9
19
 
10
20
  export class MemoryDatabase {
11
21
  db = new Map<string, Record<string, any>>()
@@ -20,6 +30,10 @@ export class MemoryDatabase {
20
30
  }
21
31
  }
22
32
 
33
+ get store() {
34
+ return new Store(this.dbContext)
35
+ }
36
+
23
37
  start() {
24
38
  this.dbContext.subject.subscribe(this.processRequest.bind(this))
25
39
  }
@@ -86,7 +100,7 @@ export class MemoryDatabase {
86
100
  if (deriveField?.stringValue === id) {
87
101
  hasRelation = true
88
102
  }
89
- if (deriveField.listValue) {
103
+ if (deriveField?.listValue) {
90
104
  hasRelation = deriveField.listValue.values.some((v: any) => v.stringValue === id)
91
105
  }
92
106
  if (hasRelation) {
@@ -151,8 +165,8 @@ export class MemoryDatabase {
151
165
  })
152
166
  }
153
167
  if (req.list) {
154
- const { entity, cursor } = req.list
155
- const list = this.listEntities(entity)
168
+ const { entity, cursor, filters } = req.list
169
+ const list = this.listEntities(entity, filters)
156
170
 
157
171
  if (cursor) {
158
172
  const idx = parseInt(cursor)
@@ -177,16 +191,121 @@ export class MemoryDatabase {
177
191
  this.db.clear()
178
192
  }
179
193
 
180
- private listEntities(entity: string) {
194
+ private listEntities(entity: string, filters?: DBRequest_DBFilter[]) {
181
195
  const entityDB = this.db.get(entity)
182
- return entityDB
196
+ const entities = entityDB
183
197
  ? Object.entries(entityDB)
184
198
  .sort((a, b) => a[0].localeCompare(b[0]))
185
199
  .map(([id, data]) => this.fillDerivedFromFields(entity, id, data))
186
200
  : []
201
+
202
+ if (!filters || filters.length === 0) {
203
+ return entities
204
+ }
205
+
206
+ let results = []
207
+ for (const f of filters ?? []) {
208
+ results = entities.filter((e) => filter(e, f))
209
+ }
210
+ return results
187
211
  }
188
212
  }
189
213
 
214
+ function filter(entity: RichStruct, filter: DBRequest_DBFilter) {
215
+ const value = entity.fields[filter.field]
216
+
217
+ switch (filter.op) {
218
+ case DBRequest_DBOperator.EQ:
219
+ return equal(value, filter.value)
220
+ case DBRequest_DBOperator.NE:
221
+ return !equal(value, filter.value)
222
+ case DBRequest_DBOperator.GT:
223
+ return greaterThan(value, filter.value)
224
+ case DBRequest_DBOperator.LT:
225
+ return lessThan(value, filter.value)
226
+ case DBRequest_DBOperator.GE:
227
+ return greaterThan(value, filter.value) || equal(value, filter.value)
228
+ case DBRequest_DBOperator.LE:
229
+ return lessThan(value, filter.value) || equal(value, filter.value)
230
+ case DBRequest_DBOperator.IN:
231
+ return filter.value?.values.some((v) => equal(value, { values: [v] }))
232
+ case DBRequest_DBOperator.NOT_IN:
233
+ return !filter.value?.values.some((v) => equal(value, { values: [v] }))
234
+ case DBRequest_DBOperator.HAS_ALL:
235
+ return filter.value?.values.every((v) => equal(value, { values: [v] }))
236
+ case DBRequest_DBOperator.HAS_ANY:
237
+ for (const a of filter.value?.values ?? []) {
238
+ if ((value.listValue?.values ?? []).some((v) => equal(a, { values: [v] }))) {
239
+ return true
240
+ }
241
+ }
242
+ return false
243
+ case DBRequest_DBOperator.LIKE:
244
+ return like(value.stringValue, filter.value?.values[0]?.stringValue)
245
+ default:
246
+ return false
247
+ }
248
+ }
249
+
250
+ function equal(field: RichValue, value?: RichValueList): boolean {
251
+ if (field.stringValue !== undefined) {
252
+ return field.stringValue === value?.values[0]?.stringValue
253
+ }
254
+ if (field.listValue) {
255
+ return field.listValue.values.every((v, i) => {
256
+ const vv = value?.values[i]
257
+ return equal(v, vv ? { values: [vv] } : undefined)
258
+ })
259
+ }
260
+ const a = toNumber(field)
261
+ const b = toNumber(value?.values[0])
262
+ if (a !== undefined && b !== undefined) {
263
+ return new BigDecimal(a.toString()).eq(new BigDecimal(b.toString()))
264
+ }
265
+
266
+ return false
267
+ }
268
+
269
+ function greaterThan(field: RichValue, value?: RichValueList) {
270
+ const a = toNumber(field)
271
+ const b = toNumber(value?.values[0])
272
+ if (a !== undefined && b !== undefined) {
273
+ const sa = a.toString()
274
+ const sb = b.toString()
275
+ return new BigDecimal(sa).isGreaterThan(new BigDecimal(sb))
276
+ } else {
277
+ return false
278
+ }
279
+ }
280
+
281
+ function lessThan(field: RichValue, value: RichValueList | undefined) {
282
+ const a = toNumber(field)
283
+ const b = toNumber(value?.values[0])
284
+ if (a !== undefined && b !== undefined) {
285
+ const sa = a.toString()
286
+ const sb = b.toString()
287
+ return new BigDecimal(sa).isLessThan(new BigDecimal(sb))
288
+ } else {
289
+ return false
290
+ }
291
+ }
292
+
293
+ function toNumber(value?: RichValue) {
294
+ if (value?.intValue !== undefined) {
295
+ return value.intValue
296
+ }
297
+ if (value?.floatValue !== undefined) {
298
+ return value.floatValue
299
+ }
300
+ if (value?.bigintValue !== undefined) {
301
+ return BigIntConverter.to(value) as bigint
302
+ }
303
+ if (value?.bigdecimalValue !== undefined) {
304
+ return BigDecimalConverter.to(value) as BigDecimal
305
+ }
306
+ return undefined
307
+ }
308
+
190
309
  function toEntity(data: any) {
191
310
  return {
192
311
  entity: data.entity,
@@ -197,6 +316,14 @@ function toEntity(data: any) {
197
316
  }
198
317
  }
199
318
 
319
+ function like(field?: string, value?: string) {
320
+ if (field === undefined || value === undefined) {
321
+ return false
322
+ }
323
+ const regex = new RegExp(value.replace(/%/g, '.*').replace(/_/g, '.'))
324
+ return regex.test(field)
325
+ }
326
+
200
327
  function GetDerivedFrom(field: GraphQLField<any, any>): string {
201
328
  for (const directive of field.astNode?.directives ?? []) {
202
329
  if (directive.name.value === 'derivedFrom') {
@@ -30,11 +30,15 @@ import { StarknetFacet } from './starknet-facet.js'
30
30
  import { BTCFacet } from './btc-facet.js'
31
31
  import { Subject } from 'rxjs'
32
32
  import { MemoryDatabase } from './memory-database.js'
33
+ import { DatabaseSchemaState } from '../core/database-schema.js'
33
34
 
34
35
  export const TEST_CONTEXT: CallContext = <CallContext>{}
35
36
 
36
37
  export function cleanTest() {
38
+ // retain the DatabaseSchemaState
39
+ const state = State.INSTANCE.stateMap.get(DatabaseSchemaState.INSTANCE.key())
37
40
  State.reset()
41
+ State.INSTANCE.stateMap.set(DatabaseSchemaState.INSTANCE.key(), state)
38
42
  }
39
43
 
40
44
  export class TestProcessorServer implements ProcessorServiceImplementation {
@@ -51,6 +55,7 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
51
55
  cosmos: CosmosFacet
52
56
  starknet: StarknetFacet
53
57
  btc: BTCFacet
58
+ db: MemoryDatabase
54
59
 
55
60
  constructor(loader: () => Promise<any>, httpEndpoints: Record<string, string> = {}) {
56
61
  cleanTest()
@@ -73,8 +78,6 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
73
78
  // start a memory database for testing
74
79
  const subject = new Subject<DeepPartial<ProcessStreamResponse>>()
75
80
  this.storeContext = new StoreContext(subject, 1)
76
- const db = new MemoryDatabase(this.storeContext)
77
- db.start()
78
81
  }
79
82
 
80
83
  async start(request: StartRequest = { templateInstances: [] }, context = TEST_CONTEXT): Promise<Empty> {
@@ -97,12 +100,14 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
97
100
  request: ProcessBindingsRequest,
98
101
  context: CallContext = TEST_CONTEXT
99
102
  ): Promise<ProcessBindingResponse> {
103
+ this.initDb()
100
104
  return PluginManager.INSTANCE.dbContextLocalStorage.run(this.storeContext, () => {
101
105
  return this.service.processBindings(request, context)
102
106
  })
103
107
  }
104
108
 
105
109
  processBinding(request: DataBinding, context: CallContext = TEST_CONTEXT): Promise<ProcessBindingResponse> {
110
+ this.initDb()
106
111
  return PluginManager.INSTANCE.dbContextLocalStorage.run(this.storeContext, () => {
107
112
  return this.service.processBindings({ bindings: [request] }, context)
108
113
  })
@@ -125,4 +130,14 @@ export class TestProcessorServer implements ProcessorServiceImplementation {
125
130
  // processBindingsStream(request: AsyncIterable<ProcessStreamRequest>, context: CallContext) {
126
131
  // return this.service.processBindingsStream(request, context)
127
132
  // }
133
+ private initDb() {
134
+ if (this.db == null) {
135
+ this.db = new MemoryDatabase(this.storeContext)
136
+ this.db.start()
137
+ }
138
+ }
139
+
140
+ get store() {
141
+ return this.db.store
142
+ }
128
143
  }
@@ -32,7 +32,7 @@ export function getPriceClient(basePath = Endpoints.INSTANCE.priceFeedAPI) {
32
32
 
33
33
  const priceMap = new LRUCache<string, Promise<number | undefined>>({
34
34
  max: 100000,
35
- ttl: 1000 * 60 * 60 // 1 hour
35
+ ttl: 1000 * 60 * 5 // 5 minutes
36
36
  })
37
37
 
38
38
  let priceClient: PriceApi
@@ -151,7 +151,7 @@ export async function getPriceBySymbol(
151
151
  }
152
152
 
153
153
  function dateString(date: Date) {
154
- return [date.getUTCDate(), date.getUTCMonth() + 1, date.getUTCFullYear()].join('-')
154
+ return [date.getHours(), date.getUTCDate(), date.getUTCMonth() + 1, date.getUTCFullYear()].join('-')
155
155
  }
156
156
 
157
157
  /**