@activeledger/activeprotocol 5.0.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/es/protocol/adopt.d.ts +23 -0
  2. package/es/protocol/adopt.d.ts.map +1 -0
  3. package/es/protocol/adopt.js +154 -0
  4. package/es/protocol/adopt.js.map +1 -0
  5. package/es/protocol/attest.d.ts +16 -0
  6. package/es/protocol/attest.d.ts.map +1 -0
  7. package/es/protocol/attest.js +58 -0
  8. package/es/protocol/attest.js.map +1 -0
  9. package/es/protocol/index.d.ts +4 -0
  10. package/es/protocol/index.d.ts.map +1 -1
  11. package/es/protocol/index.js +3 -0
  12. package/es/protocol/index.js.map +1 -1
  13. package/es/protocol/interfaces/process.interface.d.ts +29 -0
  14. package/es/protocol/interfaces/process.interface.d.ts.map +1 -1
  15. package/es/protocol/interfaces/vm.interface.d.ts +17 -2
  16. package/es/protocol/interfaces/vm.interface.d.ts.map +1 -1
  17. package/es/protocol/process.d.ts +8 -1
  18. package/es/protocol/process.d.ts.map +1 -1
  19. package/es/protocol/process.js +142 -11
  20. package/es/protocol/process.js.map +1 -1
  21. package/es/protocol/sandbox.d.ts +10 -0
  22. package/es/protocol/sandbox.d.ts.map +1 -0
  23. package/es/protocol/sandbox.js +52 -0
  24. package/es/protocol/sandbox.js.map +1 -0
  25. package/es/protocol/streamUpdater.d.ts.map +1 -1
  26. package/es/protocol/streamUpdater.js +21 -0
  27. package/es/protocol/streamUpdater.js.map +1 -1
  28. package/es/protocol/vm.d.ts +11 -2
  29. package/es/protocol/vm.d.ts.map +1 -1
  30. package/es/protocol/vm.js +105 -20
  31. package/es/protocol/vm.js.map +1 -1
  32. package/lib/protocol/adopt.d.ts +23 -0
  33. package/lib/protocol/adopt.d.ts.map +1 -0
  34. package/lib/protocol/adopt.js +160 -0
  35. package/lib/protocol/adopt.js.map +1 -0
  36. package/lib/protocol/attest.d.ts +16 -0
  37. package/lib/protocol/attest.d.ts.map +1 -0
  38. package/lib/protocol/attest.js +62 -0
  39. package/lib/protocol/attest.js.map +1 -0
  40. package/lib/protocol/index.d.ts +4 -0
  41. package/lib/protocol/index.d.ts.map +1 -1
  42. package/lib/protocol/index.js +5 -0
  43. package/lib/protocol/index.js.map +1 -1
  44. package/lib/protocol/interfaces/process.interface.d.ts +29 -0
  45. package/lib/protocol/interfaces/process.interface.d.ts.map +1 -1
  46. package/lib/protocol/interfaces/vm.interface.d.ts +17 -2
  47. package/lib/protocol/interfaces/vm.interface.d.ts.map +1 -1
  48. package/lib/protocol/process.d.ts +8 -1
  49. package/lib/protocol/process.d.ts.map +1 -1
  50. package/lib/protocol/process.js +142 -11
  51. package/lib/protocol/process.js.map +1 -1
  52. package/lib/protocol/sandbox.d.ts +10 -0
  53. package/lib/protocol/sandbox.d.ts.map +1 -0
  54. package/lib/protocol/sandbox.js +59 -0
  55. package/lib/protocol/sandbox.js.map +1 -0
  56. package/lib/protocol/streamUpdater.d.ts.map +1 -1
  57. package/lib/protocol/streamUpdater.js +21 -0
  58. package/lib/protocol/streamUpdater.js.map +1 -1
  59. package/lib/protocol/vm.d.ts +11 -2
  60. package/lib/protocol/vm.d.ts.map +1 -1
  61. package/lib/protocol/vm.js +105 -20
  62. package/lib/protocol/vm.js.map +1 -1
  63. package/package.json +8 -8
@@ -41,12 +41,15 @@ const activelogger_1 = require("@activeledger/activelogger");
41
41
  const timers_1 = require("timers");
42
42
  const fs = __importStar(require("fs"));
43
43
  const events_1 = require("events");
44
+ const sandbox_1 = require("./sandbox");
45
+ const attest_1 = require("./attest");
44
46
  const readline_1 = require("readline");
45
47
  class VirtualMachine extends events.EventEmitter {
46
48
  selfHost;
47
49
  secured;
48
50
  db;
49
51
  dbev;
52
+ reloadRequests = new Set();
50
53
  static isolateBackend = null;
51
54
  static registerIsolateBackend(backend) {
52
55
  VirtualMachine.isolateBackend = backend;
@@ -60,6 +63,11 @@ class VirtualMachine extends events.EventEmitter {
60
63
  maxTimeout;
61
64
  scriptFinishedExec = {};
62
65
  timeoutTimers = {};
66
+ executions = {};
67
+ hostDependence = {};
68
+ static discardEvents = {
69
+ post: () => Promise.resolve({ ok: true }),
70
+ };
63
71
  constructor(selfHost, secured, db, dbev) {
64
72
  super();
65
73
  this.selfHost = selfHost;
@@ -79,6 +87,34 @@ class VirtualMachine extends events.EventEmitter {
79
87
  }
80
88
  return this.smartContracts[umid];
81
89
  }
90
+ sandboxed(umid, fn) {
91
+ const execution = this.executions[umid];
92
+ if (!execution || execution.supernode)
93
+ return fn();
94
+ return (0, sandbox_1.runSandboxed)({ onBlocked: (what) => this.markHostDependent(umid, `blocked:${what}`) }, fn);
95
+ }
96
+ markHostDependent(umid, reason) {
97
+ const reasons = (this.hostDependence[umid] ||= []);
98
+ if (reasons.indexOf(reason) === -1)
99
+ reasons.push(reason);
100
+ }
101
+ getExecutionReport(umid) {
102
+ const contract = this.smartContracts[umid];
103
+ const reasons = (this.hostDependence[umid] || []).slice();
104
+ if (contract && typeof contract.getSupernodeDependence === "function") {
105
+ for (const reason of contract.getSupernodeDependence()) {
106
+ if (reasons.indexOf(reason) === -1)
107
+ reasons.push(reason);
108
+ }
109
+ }
110
+ return {
111
+ supernodeDependent: reasons.length > 0,
112
+ dependence: reasons,
113
+ adopt: contract && typeof contract.exportAdoptDeclarations === "function"
114
+ ? contract.exportAdoptDeclarations()
115
+ : [],
116
+ };
117
+ }
82
118
  getActivityStreamsFromVM(umid) {
83
119
  const contract = this.getContract(umid, "getActivityStreamsFromVM");
84
120
  if (!contract)
@@ -149,7 +185,15 @@ class VirtualMachine extends events.EventEmitter {
149
185
  activelogger_1.ActiveLogger.info(`[AC] - Calling Shutdown - ${umid}`);
150
186
  this.smartContracts[umid].shutdown();
151
187
  }
188
+ const execution = this.executions[umid];
189
+ const instance = this.smartContracts[umid];
152
190
  (0, timers_1.setTimeout)(() => {
191
+ if (execution) {
192
+ if (this.smartContracts[umid] !== instance)
193
+ return;
194
+ delete this.executions[umid];
195
+ delete this.hostDependence[umid];
196
+ }
153
197
  delete this.smartContracts[umid];
154
198
  delete this.events[umid];
155
199
  delete this.scriptFinishedExec[umid];
@@ -183,7 +227,13 @@ class VirtualMachine extends events.EventEmitter {
183
227
  getInputs(umid) {
184
228
  return this.contractReferences[umid].inputs;
185
229
  }
186
- initialise(payload, contractName) {
230
+ eventStamp(payload) {
231
+ if (activeoptions_1.ActiveOptions.get("build", 0) < 40300)
232
+ return undefined;
233
+ const ms = new Date(payload.date).getTime();
234
+ return Number.isFinite(ms) ? ms : undefined;
235
+ }
236
+ initialise(payload, contractName, execution) {
187
237
  if (!this.contractReferences) {
188
238
  this.contractReferences = {};
189
239
  }
@@ -194,7 +244,14 @@ class VirtualMachine extends events.EventEmitter {
194
244
  tx: payload.transaction,
195
245
  key: payload.key,
196
246
  };
197
- this.events[payload.umid] = new activequery_1.EventEngine(this.dbev, payload.transaction.$contract, payload.umid);
247
+ if (execution) {
248
+ this.executions[payload.umid] = execution;
249
+ this.hostDependence[payload.umid] = [];
250
+ }
251
+ else {
252
+ delete this.executions[payload.umid];
253
+ }
254
+ this.events[payload.umid] = new activequery_1.EventEngine(execution?.dryRun ? VirtualMachine.discardEvents : this.dbev, payload.transaction.$contract, payload.umid, this.eventStamp(payload));
198
255
  return Promise.resolve()
199
256
  .then(async () => {
200
257
  const contractData = payload.contractData?.data ? payload.contractData : {};
@@ -225,13 +282,23 @@ class VirtualMachine extends events.EventEmitter {
225
282
  if (!this.contracts[payload.contractLocation]) {
226
283
  this.contracts[payload.contractLocation] = await backend.load(payload.contractLocation);
227
284
  }
228
- this.smartContracts[payload.umid] = await this.contracts[payload.contractLocation].instantiate(constructorArgs);
285
+ this.smartContracts[payload.umid] = await this.sandboxed(payload.umid, () => this.contracts[payload.contractLocation].instantiate(constructorArgs));
229
286
  }
230
287
  else {
231
- if (!this.contracts[payload.contractLocation]) {
232
- this.contracts[payload.contractLocation] = require(payload.contractLocation).default;
233
- }
234
- this.smartContracts[payload.umid] = new this.contracts[payload.contractLocation](...constructorArgs);
288
+ this.sandboxed(payload.umid, () => {
289
+ if (!this.contracts[payload.contractLocation]) {
290
+ this.contracts[payload.contractLocation] = require(payload.contractLocation).default;
291
+ }
292
+ this.smartContracts[payload.umid] = new this.contracts[payload.contractLocation](...constructorArgs);
293
+ });
294
+ }
295
+ if (execution &&
296
+ typeof this.smartContracts[payload.umid].setHostMode === "function") {
297
+ this.smartContracts[payload.umid].setHostMode(execution.supernode);
298
+ }
299
+ if (typeof this.smartContracts[payload.umid].setReservedStreams ===
300
+ "function") {
301
+ this.smartContracts[payload.umid].setReservedStreams(activeoptions_1.ActiveOptions.get("build", 0) >= attest_1.Attestation.BUILD);
235
302
  }
236
303
  if ("setEvent" in this.smartContracts[payload.umid]) {
237
304
  this.smartContracts[payload.umid].setEvent(this.events[payload.umid]);
@@ -264,7 +331,7 @@ class VirtualMachine extends events.EventEmitter {
264
331
  const contract = this.getContract(umid, "read");
265
332
  if (!contract)
266
333
  return reject("VM Error : Contract not found");
267
- const read = contract[readMethod]?.();
334
+ const read = this.sandboxed(umid, () => contract[readMethod]?.());
268
335
  resolve(read ? read : false);
269
336
  }
270
337
  catch (error) {
@@ -292,7 +359,7 @@ class VirtualMachine extends events.EventEmitter {
292
359
  const contract = this.getContract(umid, "verify");
293
360
  if (!contract)
294
361
  return reject("VM Error : Contract not found");
295
- const verify = contract.verify?.(sigless);
362
+ const verify = this.sandboxed(umid, () => contract.verify?.(sigless));
296
363
  resolve(verify ? verify : true);
297
364
  }
298
365
  catch (error) {
@@ -321,7 +388,7 @@ class VirtualMachine extends events.EventEmitter {
321
388
  const contract = this.getContract(umid, "vote");
322
389
  if (!contract)
323
390
  return reject("VM Error : Contract not found");
324
- resolve(await contract.vote());
391
+ resolve(await this.sandboxed(umid, () => contract.vote()));
325
392
  }
326
393
  catch (error) {
327
394
  activelogger_1.ActiveLogger.debug(error, `VM Contract Vote - Error`);
@@ -349,7 +416,7 @@ class VirtualMachine extends events.EventEmitter {
349
416
  const contract = this.getContract(umid, "commit");
350
417
  if (!contract)
351
418
  return reject("VM Error : Contract not found");
352
- await contract.commit(possibleTerritoriality);
419
+ await this.sandboxed(umid, () => contract.commit(possibleTerritoriality));
353
420
  resolve(true);
354
421
  }
355
422
  catch (error) {
@@ -378,7 +445,7 @@ class VirtualMachine extends events.EventEmitter {
378
445
  let result = Promise.resolve();
379
446
  const contract = this.getContract(umid, "reconcile");
380
447
  if (contract && contract.reconcile) {
381
- result = contract.reconcile();
448
+ result = this.sandboxed(umid, () => contract.reconcile());
382
449
  }
383
450
  resolve(await result);
384
451
  }
@@ -396,7 +463,12 @@ class VirtualMachine extends events.EventEmitter {
396
463
  }
397
464
  });
398
465
  }
466
+ takeReloadRequest(umid) {
467
+ return this.reloadRequests.delete(umid);
468
+ }
399
469
  postProcess(territoriality, who, umid) {
470
+ if (this.executions[umid]?.dryRun)
471
+ return Promise.resolve(undefined);
400
472
  return new Promise(async (resolve, reject) => {
401
473
  this.scriptFinishedExec[umid] = false;
402
474
  this.setPhase("post", umid);
@@ -407,13 +479,13 @@ class VirtualMachine extends events.EventEmitter {
407
479
  let result = Promise.resolve();
408
480
  const contract = this.getContract(umid, "postProcess");
409
481
  if (contract && "postProcess" in contract) {
410
- result = contract.postProcess(territoriality, who);
482
+ result = this.sandboxed(umid, () => contract.postProcess(territoriality, who));
411
483
  }
412
484
  if (this.contractReferences[umid]?.tx?.$namespace == "default") {
413
485
  if (contract && "sysConfig" in contract) {
414
486
  if (contract.configReload()) {
415
487
  activelogger_1.ActiveLogger.info("Reloading Configuration Request");
416
- this.emit("reload");
488
+ this.reloadRequests.add(umid);
417
489
  }
418
490
  }
419
491
  }
@@ -455,26 +527,39 @@ class VirtualMachine extends events.EventEmitter {
455
527
  }
456
528
  }
457
529
  listenForVolatile() {
458
- this.emitter.on("getVolatile", async (umid, streamId) => {
530
+ this.emitter.on("getVolatile", (umid, streamId) => (0, sandbox_1.runUnsandboxed)(async () => {
531
+ const execution = this.executions[umid];
532
+ if (execution &&
533
+ !execution.supernode &&
534
+ !execution.volatileHeld?.(streamId)) {
535
+ this.markHostDependent(umid, `volatile:${streamId}`);
536
+ }
459
537
  try {
460
- const volatile = await this.db.get(`${streamId}:volatile`);
538
+ const volatile = await (execution?.db || this.db).get(`${streamId}:volatile`);
461
539
  this.emitter.emit(`volatileFetched-${umid}${streamId}`, null, volatile);
462
540
  }
463
541
  catch (error) {
464
542
  this.emitter.emit(`volatileFetched-${umid}${streamId}`, error);
465
543
  }
466
- });
544
+ }));
467
545
  }
468
546
  listenForFetch() {
469
- this.emitter.on("getStreamData", async (umid, streamId) => {
547
+ this.emitter.on("getStreamData", (umid, streamId) => (0, sandbox_1.runUnsandboxed)(async () => {
548
+ const execution = this.executions[umid];
549
+ if (execution &&
550
+ !execution.supernode &&
551
+ streamId.endsWith(":volatile") &&
552
+ !execution.volatileHeld?.(streamId.slice(0, -":volatile".length))) {
553
+ this.markHostDependent(umid, `volatile:${streamId.slice(0, -":volatile".length)}`);
554
+ }
470
555
  try {
471
- const data = await this.db.get(streamId);
556
+ const data = await (this.executions[umid]?.db || this.db).get(streamId);
472
557
  this.emitter.emit(`getStreamDataFetched-${umid}${streamId}`, null, data);
473
558
  }
474
559
  catch (error) {
475
560
  this.emitter.emit(`getStreamDataFetched-${umid}${streamId}`, error);
476
561
  }
477
- });
562
+ }));
478
563
  }
479
564
  checkTimeout(type, timedout, umid) {
480
565
  if (this.timeoutTimers[umid]) {
@@ -1 +1 @@
1
- {"version":3,"file":"vm.js","sourceRoot":"","sources":["../../src/protocol/vm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm.js","sourceRoot":"","sources":["../../src/protocol/vm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@activeledger/activeprotocol",
3
- "version": "5.0.1",
3
+ "version": "5.1.0",
4
4
  "engines": {
5
5
  "node": ">=24.0.0"
6
6
  },
@@ -42,13 +42,13 @@
42
42
  "jsnext:main": "./es/index.js",
43
43
  "module": "./es/index.js",
44
44
  "dependencies": {
45
- "@activeledger/activecontracts": "5.0.1",
46
- "@activeledger/activecrypto": "5.0.1",
47
- "@activeledger/activedefinitions": "5.0.1",
48
- "@activeledger/activelogger": "5.0.1",
49
- "@activeledger/activeoptions": "5.0.1",
50
- "@activeledger/activequery": "5.0.1",
51
- "@activeledger/activetoolkits": "5.0.1",
45
+ "@activeledger/activecontracts": "5.1.0",
46
+ "@activeledger/activecrypto": "5.1.0",
47
+ "@activeledger/activedefinitions": "5.1.0",
48
+ "@activeledger/activelogger": "5.1.0",
49
+ "@activeledger/activeoptions": "5.1.0",
50
+ "@activeledger/activequery": "5.1.0",
51
+ "@activeledger/activetoolkits": "5.1.0",
52
52
  "@types/node": "24.10.1",
53
53
  "typescript": "7.0.2"
54
54
  }