@blue-quickjs/quickjs-runtime 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,6 +30,8 @@ const result = await evaluate({
30
30
  event: { type: 'example' },
31
31
  eventCanonical: { type: 'example' },
32
32
  steps: [],
33
+ currentContract: { id: 'contract-1' },
34
+ currentContractCanonical: { id: { value: 'contract-1' } },
33
35
  },
34
36
  gasLimit: 50_000n,
35
37
  manifest: HOST_V1_MANIFEST,
@@ -1 +1 @@
1
- {"version":3,"file":"deterministic-init.d.ts","sourceRoot":"","sources":["../../src/lib/deterministic-init.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAgCpD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,IAAI,MAAM,CAAC;IACnB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,YAAY,IAAI,MAAM,CAAC;IACvB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,eAAe,CA6FjB"}
1
+ {"version":3,"file":"deterministic-init.d.ts","sourceRoot":"","sources":["../../src/lib/deterministic-init.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAgCpD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,IAAI,MAAM,CAAC;IACnB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,YAAY,IAAI,MAAM,CAAC;IACvB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,eAAe,CA+FjB"}
@@ -12,6 +12,8 @@ export function initializeDeterministicVm(runtime, program, input, gasLimit) {
12
12
  event: validatedInput.event,
13
13
  eventCanonical: validatedInput.eventCanonical,
14
14
  steps: validatedInput.steps,
15
+ currentContract: validatedInput.currentContract ?? null,
16
+ currentContractCanonical: validatedInput.currentContractCanonical ?? null,
15
17
  });
16
18
  const ffi = createDeterministicExports(runtime.module);
17
19
  const manifestPtr = writeBytes(runtime.module, manifestBytes);
@@ -18,6 +18,8 @@ export interface InputEnvelope {
18
18
  event: DV;
19
19
  eventCanonical: DV;
20
20
  steps: DV;
21
+ currentContract?: DV;
22
+ currentContractCanonical?: DV;
21
23
  }
22
24
  export interface InputValidationOptions {
23
25
  dvLimits?: Partial<DvLimits>;
@@ -1 +1 @@
1
- {"version":3,"file":"quickjs-runtime.d.ts","sourceRoot":"","sources":["../../src/lib/quickjs-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EAGF,QAAQ,EAET,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,qBAAqB,CAGlE,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,EAAE,CAAC;IACV,cAAc,EAAE,EAAE,CAAC;IACnB,KAAK,EAAE,EAAE,CAAC;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,0BAA0B,GAClC,cAAc,GACd,eAAe,GACf,eAAe,GACf,cAAc,GACd,eAAe,GACf,aAAa,GACb,cAAc,GACd,YAAY,CAAC;AAEjB,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,IAAI,EAAE,0BAA0B;aAEhC,IAAI,CAAC,EAAE,MAAM;gBAFb,IAAI,EAAE,0BAA0B,EAChD,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA,EAC7B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKhC;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,wBAAwB,GACjC,eAAe,CAyCjB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,sBAAsB,GAC/B,aAAa,CAkBf"}
1
+ {"version":3,"file":"quickjs-runtime.d.ts","sourceRoot":"","sources":["../../src/lib/quickjs-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EAGF,QAAQ,EAET,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,qBAAqB,CAGlE,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,EAAE,CAAC;IACV,cAAc,EAAE,EAAE,CAAC;IACnB,KAAK,EAAE,EAAE,CAAC;IACV,eAAe,CAAC,EAAE,EAAE,CAAC;IACrB,wBAAwB,CAAC,EAAE,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,0BAA0B,GAClC,cAAc,GACd,eAAe,GACf,eAAe,GACf,cAAc,GACd,eAAe,GACf,aAAa,GACb,cAAc,GACd,YAAY,CAAC;AAEjB,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,IAAI,EAAE,0BAA0B;aAEhC,IAAI,CAAC,EAAE,MAAM;gBAFb,IAAI,EAAE,0BAA0B,EAChD,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA,EAC7B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKhC;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,wBAAwB,GACjC,eAAe,CAyCjB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,sBAAsB,GAC/B,aAAa,CA8Cf"}
@@ -45,14 +45,28 @@ export function validateProgramArtifact(value, options) {
45
45
  export function validateInputEnvelope(value, options) {
46
46
  const dvLimits = normalizeDvLimits(options?.dvLimits);
47
47
  const input = expectPlainObject(value, 'input');
48
- enforceExactKeys(input, ['event', 'eventCanonical', 'steps'], 'input');
48
+ enforceExactKeys(input, [
49
+ 'event',
50
+ 'eventCanonical',
51
+ 'steps',
52
+ 'currentContract',
53
+ 'currentContractCanonical',
54
+ ], 'input');
49
55
  const event = validateDvField(input.event, dvLimits, 'input.event');
50
56
  const eventCanonical = validateDvField(input.eventCanonical, dvLimits, 'input.eventCanonical');
51
57
  const steps = validateDvField(input.steps, dvLimits, 'input.steps');
58
+ const currentContract = input.currentContract === undefined
59
+ ? null
60
+ : validateDvField(input.currentContract, dvLimits, 'input.currentContract');
61
+ const currentContractCanonical = input.currentContractCanonical === undefined
62
+ ? currentContract
63
+ : validateDvField(input.currentContractCanonical, dvLimits, 'input.currentContractCanonical');
52
64
  return {
53
65
  event,
54
66
  eventCanonical,
55
67
  steps,
68
+ currentContract,
69
+ currentContractCanonical,
56
70
  };
57
71
  }
58
72
  function validateDvField(value, limits, path) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blue-quickjs/quickjs-runtime",
3
- "version": "0.2.4",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -23,9 +23,9 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "tslib": "^2.3.0",
26
- "@blue-quickjs/abi-manifest": "0.2.4",
27
- "@blue-quickjs/dv": "0.2.4",
28
- "@blue-quickjs/quickjs-wasm": "0.2.4"
26
+ "@blue-quickjs/abi-manifest": "0.3.0",
27
+ "@blue-quickjs/quickjs-wasm": "0.3.0",
28
+ "@blue-quickjs/dv": "0.3.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@blue-quickjs/test-harness": "0.0.1"