wao 0.4.10 → 0.5.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/cjs/ao.js CHANGED
@@ -559,18 +559,19 @@ var AO = /*#__PURE__*/function () {
559
559
  });
560
560
  case 17:
561
561
  pid = _context8.sent;
562
- _context8.next = 23;
562
+ _context8.next = 24;
563
563
  break;
564
564
  case 20:
565
565
  _context8.prev = 20;
566
566
  _context8.t0 = _context8["catch"](10);
567
+ console.log(_context8.t0);
567
568
  err = _context8.t0;
568
- case 23:
569
+ case 24:
569
570
  return _context8.abrupt("return", {
570
571
  err: err,
571
572
  pid: pid
572
573
  });
573
- case 24:
574
+ case 25:
574
575
  case "end":
575
576
  return _context8.stop();
576
577
  }
package/cjs/aoconnect.js CHANGED
@@ -40,7 +40,16 @@ var pkg = (_WarpArBundles$defaul = WarpArBundles["default"]) !== null && _WarpAr
40
40
  var DataItem = pkg.DataItem;
41
41
  var connect = exports.connect = function connect(mem) {
42
42
  var _mem;
43
- (_mem = mem) !== null && _mem !== void 0 ? _mem : mem = new _armem["default"]();
43
+ var isMem = ((_mem = mem) === null || _mem === void 0 ? void 0 : _mem.__type__) === "mem";
44
+ if (!isMem) {
45
+ var _mem2;
46
+ var args = {};
47
+ if ((_mem2 = mem) !== null && _mem2 !== void 0 && _mem2.SU_URL) {
48
+ args = mem;
49
+ args.scheduler = _test.scheduler;
50
+ }
51
+ mem = new _armem["default"](args);
52
+ }
44
53
  var ar = new _tar["default"]({
45
54
  mem: mem
46
55
  });
@@ -133,12 +142,14 @@ var connect = exports.connect = function connect(mem) {
133
142
  };
134
143
  var spawn = /*#__PURE__*/function () {
135
144
  var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
136
- var _opt$module, _mem$wasms$mod$data, _opt$tags, _opt$tags2;
145
+ var _opt$module, _mem$wasms$mod, _format, _opt$tags, _opt$tags2;
137
146
  var opt,
138
147
  mod,
139
148
  _module,
140
149
  __dirname,
150
+ format,
141
151
  wasm,
152
+ _mem$wasms$mod2,
142
153
  handle,
143
154
  ex,
144
155
  _iterator,
@@ -148,6 +159,7 @@ var connect = exports.connect = function connect(mem) {
148
159
  id,
149
160
  owner,
150
161
  item,
162
+ __tags,
151
163
  _tags,
152
164
  res,
153
165
  memory,
@@ -189,25 +201,38 @@ var connect = exports.connect = function connect(mem) {
189
201
  return (0, _utils.dirname)();
190
202
  case 9:
191
203
  __dirname = _context.sent;
192
- wasm = (_mem$wasms$mod$data = mem.wasms[mod].data) !== null && _mem$wasms$mod$data !== void 0 ? _mem$wasms$mod$data : (0, _fs.readFileSync)((0, _path.resolve)(__dirname, "lua/".concat(mem.wasms[mod].file, ".wasm")));
193
- _context.next = 13;
204
+ format = null;
205
+ wasm = (_mem$wasms$mod = mem.wasms[mod]) === null || _mem$wasms$mod === void 0 ? void 0 : _mem$wasms$mod.data;
206
+ if (!wasm) {
207
+ if ((_mem$wasms$mod2 = mem.wasms[mod]) !== null && _mem$wasms$mod2 !== void 0 && _mem$wasms$mod2.file) {
208
+ wasm = (0, _fs.readFileSync)((0, _path.resolve)(__dirname, "lua/".concat(mem.wasms[mod].file, ".wasm")));
209
+ format = mem.wasms[mod].format;
210
+ } else if (mem.txs[mod]) {
211
+ wasm = Buffer.from(mem.txs[mod].data, "base64");
212
+ format = (0, _utils.tags)(mem.txs[mod].tags)["Module-Format"];
213
+ }
214
+ } else {
215
+ format = mem.wasms[mod].format;
216
+ }
217
+ (_format = format) !== null && _format !== void 0 ? _format : format = "wasm64-unknown-emscripten-draft_2024_02_15";
218
+ _context.next = 16;
194
219
  return (0, _aoLoader["default"])(wasm, {
195
- format: mem.wasms[mod].format,
220
+ format: format,
196
221
  mode: "test",
197
222
  WeaveDrive: WeaveDrive
198
223
  });
199
- case 13:
224
+ case 16:
200
225
  handle = _context.sent;
201
226
  _module = {
202
227
  handle: handle,
203
228
  id: mod
204
229
  };
205
230
  if (mod) {
206
- _context.next = 17;
231
+ _context.next = 20;
207
232
  break;
208
233
  }
209
234
  throw Error("module not found");
210
- case 17:
235
+ case 20:
211
236
  opt.tags = (0, _utils.buildTags)(null, (0, _ramda.mergeLeft)((0, _utils.tags)((_opt$tags = opt.tags) !== null && _opt$tags !== void 0 ? _opt$tags : []), {
212
237
  "Data-Protocol": "ao",
213
238
  Variant: "ao.TN.1",
@@ -234,20 +259,24 @@ var connect = exports.connect = function connect(mem) {
234
259
  name: "Type",
235
260
  value: "Process"
236
261
  });
237
- _context.next = 25;
262
+ _context.next = 28;
238
263
  return ar.dataitem({
264
+ item: opt.item,
239
265
  data: opt.data,
240
266
  signer: opt.signer,
241
267
  tags: (0, _utils.tags)(opt.tags)
242
268
  });
243
- case 25:
269
+ case 28:
244
270
  _yield$ar$dataitem = _context.sent;
245
271
  id = _yield$ar$dataitem.id;
246
272
  owner = _yield$ar$dataitem.owner;
247
273
  item = _yield$ar$dataitem.item;
248
- _context.next = 31;
274
+ __tags = _yield$ar$dataitem.tags;
275
+ opt.tags = (0, _utils.buildTags)(null, __tags);
276
+ if (opt.item) opt.data = _base64url["default"].decode(item.data);
277
+ _context.next = 37;
249
278
  return ar.postItem(item, _test.su.jwk);
250
- case 31:
279
+ case 37:
251
280
  _tags = (0, _utils.tags)(opt.tags);
252
281
  res = null;
253
282
  memory = null;
@@ -265,8 +294,8 @@ var connect = exports.connect = function connect(mem) {
265
294
  txs: [],
266
295
  opt: opt
267
296
  };
268
- if (!_tags["On-Boot"]) {
269
- _context.next = 49;
297
+ if (!(_tags["On-Boot"] || true)) {
298
+ _context.next = 55;
270
299
  break;
271
300
  }
272
301
  data = "";
@@ -279,51 +308,51 @@ var connect = exports.connect = function connect(mem) {
279
308
  auth: _test.mu.addr
280
309
  });
281
310
  _t = (0, _utils.tags)(msg.Tags);
282
- _context.next = 43;
311
+ _context.next = 49;
283
312
  return _module.handle(null, msg, _env);
284
- case 43:
313
+ case 49:
285
314
  res = _context.sent;
286
315
  p.memory = res.Memory;
287
316
  delete res.Memory;
288
317
  p.res[id] = res;
289
- _context.next = 50;
318
+ _context.next = 56;
290
319
  break;
291
- case 49:
320
+ case 55:
292
321
  p.height += 1;
293
- case 50:
322
+ case 56:
294
323
  mem.msgs[id] = opt;
295
324
  mem.env[id] = p;
296
325
  if (!_tags["Cron-Interval"]) {
297
- _context.next = 76;
326
+ _context.next = 82;
298
327
  break;
299
328
  }
300
329
  _tags$CronInterval$s = _tags["Cron-Interval"].split("-"), _tags$CronInterval$s2 = _slicedToArray(_tags$CronInterval$s, 2), num = _tags$CronInterval$s2[0], unit = _tags$CronInterval$s2[1];
301
330
  _int = 0;
302
331
  _context.t0 = unit.replace(/s$/, "");
303
- _context.next = _context.t0 === "millisecond" ? 58 : _context.t0 === "second" ? 60 : _context.t0 === "minute" ? 62 : _context.t0 === "hour" ? 64 : _context.t0 === "day" ? 66 : _context.t0 === "month" ? 68 : _context.t0 === "year" ? 70 : 72;
332
+ _context.next = _context.t0 === "millisecond" ? 64 : _context.t0 === "second" ? 66 : _context.t0 === "minute" ? 68 : _context.t0 === "hour" ? 70 : _context.t0 === "day" ? 72 : _context.t0 === "month" ? 74 : _context.t0 === "year" ? 76 : 78;
304
333
  break;
305
- case 58:
334
+ case 64:
306
335
  _int = num;
307
- return _context.abrupt("break", 72);
308
- case 60:
336
+ return _context.abrupt("break", 78);
337
+ case 66:
309
338
  _int = num * 1000;
310
- return _context.abrupt("break", 72);
311
- case 62:
339
+ return _context.abrupt("break", 78);
340
+ case 68:
312
341
  _int = num * 1000 * 60;
313
- return _context.abrupt("break", 72);
314
- case 64:
342
+ return _context.abrupt("break", 78);
343
+ case 70:
315
344
  _int = num * 1000 * 60 * 60;
316
- return _context.abrupt("break", 72);
317
- case 66:
345
+ return _context.abrupt("break", 78);
346
+ case 72:
318
347
  _int = num * 1000 * 60 * 60 * 24;
319
- return _context.abrupt("break", 72);
320
- case 68:
348
+ return _context.abrupt("break", 78);
349
+ case 74:
321
350
  _int = num * 1000 * 60 * 60 * 24 * 30;
322
- return _context.abrupt("break", 72);
323
- case 70:
351
+ return _context.abrupt("break", 78);
352
+ case 76:
324
353
  _int = num * 1000 * 60 * 60 * 24 * 365;
325
- return _context.abrupt("break", 72);
326
- case 72:
354
+ return _context.abrupt("break", 78);
355
+ case 78:
327
356
  cronTags = [];
328
357
  for (k in _tags) {
329
358
  if (/^Cron-Tag-/.test(k)) {
@@ -335,9 +364,9 @@ var connect = exports.connect = function connect(mem) {
335
364
  }
336
365
  mem.env[id].cronTags = cronTags;
337
366
  mem.env[id].span = _int;
338
- case 76:
367
+ case 82:
339
368
  return _context.abrupt("return", id);
340
- case 77:
369
+ case 83:
341
370
  case "end":
342
371
  return _context.stop();
343
372
  }
@@ -359,7 +388,7 @@ var connect = exports.connect = function connect(mem) {
359
388
  var _assign = /*#__PURE__*/function () {
360
389
  var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opt) {
361
390
  var _opt$tags3;
362
- var p, _opt, hash, _yield$ar$dataitem2, id, owner, item, _opt$data2, _ref6, _opt$from, _res$Messages, _res$Spawns, _res$Assignments, msg, _env, res, _iterator2, _step2, v, _iterator3, _step3, _v, _tags, _iterator4, _step4, _v2, _iterator5, _step5, v2;
391
+ var p, _opt, hash, _yield$ar$dataitem2, id, owner, item, _opt$data2, _ref6, _opt$from, _res$Messages, _res$Spawns, _res$Assignments, data, _tags, from, raw_owner, hashBuffer, msg, _env, res, _iterator2, _step2, v, _iterator3, _step3, _v, __tags, _iterator4, _step4, _v2, _iterator5, _step5, v2;
363
392
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
364
393
  while (1) switch (_context2.prev = _context2.next) {
365
394
  case 0:
@@ -397,16 +426,47 @@ var connect = exports.connect = function connect(mem) {
397
426
  return ar.postItem(item, _test.su.jwk);
398
427
  case 14:
399
428
  _context2.prev = 14;
400
- msg = genMsg(opt.message, p, (_opt$data2 = _opt.data) !== null && _opt$data2 !== void 0 ? _opt$data2 : "", _opt.tags, (_ref6 = (_opt$from = _opt.from) !== null && _opt$from !== void 0 ? _opt$from : opt.from) !== null && _ref6 !== void 0 ? _ref6 : owner, _test.mu.addr);
429
+ data = (_opt$data2 = _opt.data) !== null && _opt$data2 !== void 0 ? _opt$data2 : "";
430
+ _tags = _opt.tags;
431
+ from = (_ref6 = (_opt$from = _opt.from) !== null && _opt$from !== void 0 ? _opt$from : opt.from) !== null && _ref6 !== void 0 ? _ref6 : owner;
432
+ if (!_opt.item) {
433
+ _context2.next = 35;
434
+ break;
435
+ }
436
+ _context2.prev = 19;
437
+ data = _base64url["default"].decode(_opt.item.data);
438
+ _tags = _opt.item.tags;
439
+ if (from) {
440
+ _context2.next = 30;
441
+ break;
442
+ }
443
+ raw_owner = _opt.item.rawOwner;
444
+ _context2.t0 = Buffer;
445
+ _context2.next = 27;
446
+ return _crypto["default"].subtle.digest("SHA-256", raw_owner);
447
+ case 27:
448
+ _context2.t1 = _context2.sent;
449
+ hashBuffer = _context2.t0.from.call(_context2.t0, _context2.t1);
450
+ from = _base64url["default"].encode(hashBuffer);
451
+ case 30:
452
+ _context2.next = 35;
453
+ break;
454
+ case 32:
455
+ _context2.prev = 32;
456
+ _context2.t2 = _context2["catch"](19);
457
+ console.log(_context2.t2);
458
+ case 35:
459
+ // check: is owner=mu.addr right?
460
+ msg = genMsg(opt.message, p, data, _tags, from, _test.mu.addr);
401
461
  _env = genEnv({
402
462
  pid: p.id,
403
463
  owner: p.owner,
404
464
  module: p.module,
405
465
  auth: _test.mu.addr
406
466
  });
407
- _context2.next = 19;
467
+ _context2.next = 39;
408
468
  return p.handle(p.memory, msg, _env);
409
- case 19:
469
+ case 39:
410
470
  res = _context2.sent;
411
471
  p.memory = res.Memory;
412
472
  delete res.Memory;
@@ -417,19 +477,19 @@ var connect = exports.connect = function connect(mem) {
417
477
  }, opt));
418
478
  mem.msgs[opt.message] = _opt;
419
479
  _iterator2 = _createForOfIteratorHelper((_res$Messages = res.Messages) !== null && _res$Messages !== void 0 ? _res$Messages : []);
420
- _context2.prev = 27;
480
+ _context2.prev = 47;
421
481
  _iterator2.s();
422
- case 29:
482
+ case 49:
423
483
  if ((_step2 = _iterator2.n()).done) {
424
- _context2.next = 36;
484
+ _context2.next = 56;
425
485
  break;
426
486
  }
427
487
  v = _step2.value;
428
488
  if (!mem.env[v.Target]) {
429
- _context2.next = 34;
489
+ _context2.next = 54;
430
490
  break;
431
491
  }
432
- _context2.next = 34;
492
+ _context2.next = 54;
433
493
  return message({
434
494
  process: v.Target,
435
495
  tags: v.Tags,
@@ -437,121 +497,121 @@ var connect = exports.connect = function connect(mem) {
437
497
  signer: _test.mu.signer,
438
498
  from: opt.process
439
499
  });
440
- case 34:
441
- _context2.next = 29;
500
+ case 54:
501
+ _context2.next = 49;
442
502
  break;
443
- case 36:
444
- _context2.next = 41;
503
+ case 56:
504
+ _context2.next = 61;
445
505
  break;
446
- case 38:
447
- _context2.prev = 38;
448
- _context2.t0 = _context2["catch"](27);
449
- _iterator2.e(_context2.t0);
450
- case 41:
451
- _context2.prev = 41;
506
+ case 58:
507
+ _context2.prev = 58;
508
+ _context2.t3 = _context2["catch"](47);
509
+ _iterator2.e(_context2.t3);
510
+ case 61:
511
+ _context2.prev = 61;
452
512
  _iterator2.f();
453
- return _context2.finish(41);
454
- case 44:
513
+ return _context2.finish(61);
514
+ case 64:
455
515
  _iterator3 = _createForOfIteratorHelper((_res$Spawns = res.Spawns) !== null && _res$Spawns !== void 0 ? _res$Spawns : []);
456
- _context2.prev = 45;
516
+ _context2.prev = 65;
457
517
  _iterator3.s();
458
- case 47:
518
+ case 67:
459
519
  if ((_step3 = _iterator3.n()).done) {
460
- _context2.next = 54;
520
+ _context2.next = 74;
461
521
  break;
462
522
  }
463
523
  _v = _step3.value;
464
- _tags = (0, _utils.tags)(_v.Tags);
465
- _context2.next = 52;
524
+ __tags = (0, _utils.tags)(_v.Tags);
525
+ _context2.next = 72;
466
526
  return spawn({
467
- module: _tags.Module,
527
+ module: __tags.Module,
468
528
  scheduler: _test.scheduler,
469
529
  tags: _v.Tags,
470
530
  data: _v.Data,
471
- from: _tags["From-Process"],
531
+ from: __tags["From-Process"],
472
532
  signer: _test.mu.signer
473
533
  });
474
- case 52:
475
- _context2.next = 47;
534
+ case 72:
535
+ _context2.next = 67;
476
536
  break;
477
- case 54:
478
- _context2.next = 59;
537
+ case 74:
538
+ _context2.next = 79;
479
539
  break;
480
- case 56:
481
- _context2.prev = 56;
482
- _context2.t1 = _context2["catch"](45);
483
- _iterator3.e(_context2.t1);
484
- case 59:
485
- _context2.prev = 59;
540
+ case 76:
541
+ _context2.prev = 76;
542
+ _context2.t4 = _context2["catch"](65);
543
+ _iterator3.e(_context2.t4);
544
+ case 79:
545
+ _context2.prev = 79;
486
546
  _iterator3.f();
487
- return _context2.finish(59);
488
- case 62:
547
+ return _context2.finish(79);
548
+ case 82:
489
549
  _iterator4 = _createForOfIteratorHelper((_res$Assignments = res.Assignments) !== null && _res$Assignments !== void 0 ? _res$Assignments : []);
490
- _context2.prev = 63;
550
+ _context2.prev = 83;
491
551
  _iterator4.s();
492
- case 65:
552
+ case 85:
493
553
  if ((_step4 = _iterator4.n()).done) {
494
- _context2.next = 86;
554
+ _context2.next = 106;
495
555
  break;
496
556
  }
497
557
  _v2 = _step4.value;
498
558
  _iterator5 = _createForOfIteratorHelper(_v2.Processes);
499
- _context2.prev = 68;
559
+ _context2.prev = 88;
500
560
  _iterator5.s();
501
- case 70:
561
+ case 90:
502
562
  if ((_step5 = _iterator5.n()).done) {
503
- _context2.next = 76;
563
+ _context2.next = 96;
504
564
  break;
505
565
  }
506
566
  v2 = _step5.value;
507
- _context2.next = 74;
567
+ _context2.next = 94;
508
568
  return _assign({
509
569
  message: _v2.Message,
510
570
  process: v2,
511
571
  from: opt.process,
512
572
  signer: _test.mu.signer
513
573
  });
514
- case 74:
515
- _context2.next = 70;
574
+ case 94:
575
+ _context2.next = 90;
516
576
  break;
517
- case 76:
518
- _context2.next = 81;
577
+ case 96:
578
+ _context2.next = 101;
519
579
  break;
520
- case 78:
521
- _context2.prev = 78;
522
- _context2.t2 = _context2["catch"](68);
523
- _iterator5.e(_context2.t2);
524
- case 81:
525
- _context2.prev = 81;
580
+ case 98:
581
+ _context2.prev = 98;
582
+ _context2.t5 = _context2["catch"](88);
583
+ _iterator5.e(_context2.t5);
584
+ case 101:
585
+ _context2.prev = 101;
526
586
  _iterator5.f();
527
- return _context2.finish(81);
528
- case 84:
529
- _context2.next = 65;
587
+ return _context2.finish(101);
588
+ case 104:
589
+ _context2.next = 85;
530
590
  break;
531
- case 86:
532
- _context2.next = 91;
591
+ case 106:
592
+ _context2.next = 111;
533
593
  break;
534
- case 88:
535
- _context2.prev = 88;
536
- _context2.t3 = _context2["catch"](63);
537
- _iterator4.e(_context2.t3);
538
- case 91:
539
- _context2.prev = 91;
594
+ case 108:
595
+ _context2.prev = 108;
596
+ _context2.t6 = _context2["catch"](83);
597
+ _iterator4.e(_context2.t6);
598
+ case 111:
599
+ _context2.prev = 111;
540
600
  _iterator4.f();
541
- return _context2.finish(91);
542
- case 94:
601
+ return _context2.finish(111);
602
+ case 114:
543
603
  return _context2.abrupt("return", id);
544
- case 97:
545
- _context2.prev = 97;
546
- _context2.t4 = _context2["catch"](14);
547
- console.log(_context2.t4);
548
- case 100:
604
+ case 117:
605
+ _context2.prev = 117;
606
+ _context2.t7 = _context2["catch"](14);
607
+ console.log(_context2.t7);
608
+ case 120:
549
609
  return _context2.abrupt("return", null);
550
- case 101:
610
+ case 121:
551
611
  case "end":
552
612
  return _context2.stop();
553
613
  }
554
- }, _callee2, null, [[14, 97], [27, 38, 41, 44], [45, 56, 59, 62], [63, 88, 91, 94], [68, 78, 81, 84]]);
614
+ }, _callee2, null, [[14, 117], [19, 32], [47, 58, 61, 64], [65, 76, 79, 82], [83, 108, 111, 114], [88, 98, 101, 104]]);
555
615
  }));
556
616
  return function assign(_x) {
557
617
  return _ref5.apply(this, arguments);
@@ -559,13 +619,20 @@ var connect = exports.connect = function connect(mem) {
559
619
  }();
560
620
  var message = /*#__PURE__*/function () {
561
621
  var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opt) {
562
- var _opt$tags4;
563
- var p, ex, _iterator6, _step6, v, _yield$ar$dataitem3, item, id, owner;
622
+ var _opt$item$id, _opt$item, _opt$owner;
623
+ var p, ex, id, owner, item, _opt$tags4, _iterator6, _step6, v, _yield$ar$dataitem3;
564
624
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
565
625
  while (1) switch (_context3.prev = _context3.next) {
566
626
  case 0:
567
627
  p = mem.env[opt.process];
568
628
  ex = false;
629
+ id = (_opt$item$id = opt === null || opt === void 0 || (_opt$item = opt.item) === null || _opt$item === void 0 ? void 0 : _opt$item.id) !== null && _opt$item$id !== void 0 ? _opt$item$id : "";
630
+ owner = (_opt$owner = opt.owner) !== null && _opt$owner !== void 0 ? _opt$owner : "";
631
+ item = opt.item;
632
+ if (!(!opt.item && opt.signer)) {
633
+ _context3.next = 15;
634
+ break;
635
+ }
569
636
  _iterator6 = _createForOfIteratorHelper(opt.tags);
570
637
  try {
571
638
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -583,32 +650,33 @@ var connect = exports.connect = function connect(mem) {
583
650
  Type: "Message",
584
651
  SDK: "aoconnect"
585
652
  }));
586
- _context3.next = 7;
653
+ _context3.next = 11;
587
654
  return ar.dataitem({
588
655
  data: opt.data,
589
656
  signer: opt.signer,
590
657
  tags: (0, _utils.tags)(opt.tags),
591
658
  target: opt.process
592
659
  });
593
- case 7:
660
+ case 11:
594
661
  _yield$ar$dataitem3 = _context3.sent;
595
662
  item = _yield$ar$dataitem3.item;
596
663
  id = _yield$ar$dataitem3.id;
597
664
  owner = _yield$ar$dataitem3.owner;
598
- _context3.next = 13;
665
+ case 15:
666
+ _context3.next = 17;
599
667
  return ar.postItem(item, _test.su.jwk);
600
- case 13:
668
+ case 17:
601
669
  mem.msgs[id] = opt;
602
- _context3.next = 16;
670
+ _context3.next = 20;
603
671
  return _assign({
604
672
  message: id,
605
673
  process: opt.process,
606
674
  from: owner,
607
675
  signer: _test.mu.signer
608
676
  });
609
- case 16:
677
+ case 20:
610
678
  return _context3.abrupt("return", id);
611
- case 17:
679
+ case 21:
612
680
  case "end":
613
681
  return _context3.stop();
614
682
  }
@@ -681,6 +749,7 @@ var connect = exports.connect = function connect(mem) {
681
749
  }(),
682
750
  spawn: spawn,
683
751
  assign: _assign,
752
+ ar: ar,
684
753
  result: function () {
685
754
  var _result = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(opt) {
686
755
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
@@ -770,20 +839,38 @@ var connect = exports.connect = function connect(mem) {
770
839
  }(),
771
840
  dryrun: function () {
772
841
  var _dryrun = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(opt) {
773
- var p, _yield$ar$dataitem4, id, owner, _opt$data3, msg, _env, res;
842
+ var _opt$id, _opt$owner2;
843
+ var p, id, owner, _yield$ar$dataitem4, _opt$data3, cloneMemory, msg, _env, res;
774
844
  return _regeneratorRuntime().wrap(function _callee9$(_context9) {
775
845
  while (1) switch (_context9.prev = _context9.next) {
776
846
  case 0:
777
847
  p = mem.env[opt.process];
778
- _context9.next = 3;
848
+ id = (_opt$id = opt.id) !== null && _opt$id !== void 0 ? _opt$id : "";
849
+ owner = (_opt$owner2 = opt.owner) !== null && _opt$owner2 !== void 0 ? _opt$owner2 : "";
850
+ if (!(!opt.id && opt.signer)) {
851
+ _context9.next = 10;
852
+ break;
853
+ }
854
+ ;
855
+ _context9.next = 7;
779
856
  return ar.dataitem(_objectSpread(_objectSpread({}, opt), {}, {
780
857
  target: opt.process
781
858
  }));
782
- case 3:
859
+ case 7:
783
860
  _yield$ar$dataitem4 = _context9.sent;
784
861
  id = _yield$ar$dataitem4.id;
785
862
  owner = _yield$ar$dataitem4.owner;
786
- _context9.prev = 6;
863
+ case 10:
864
+ _context9.prev = 10;
865
+ cloneMemory = function cloneMemory(memory) {
866
+ var buffer = memory.buffer.slice(0); // Clone the ArrayBuffer
867
+ return new WebAssembly.Memory({
868
+ initial: memory.buffer.byteLength / 65536,
869
+ // Memory size in pages (64KB per page)
870
+ maximum: memory.maximum || undefined,
871
+ shared: memory.shared || false // Retain sharing if applicable
872
+ });
873
+ };
787
874
  msg = genMsg(id, p, (_opt$data3 = opt.data) !== null && _opt$data3 !== void 0 ? _opt$data3 : "", opt.tags, owner, _test.mu.addr, true);
788
875
  _env = genEnv({
789
876
  pid: p.id,
@@ -791,22 +878,22 @@ var connect = exports.connect = function connect(mem) {
791
878
  module: p.module,
792
879
  auth: _test.mu.addr
793
880
  });
794
- _context9.next = 11;
881
+ _context9.next = 16;
795
882
  return p.handle(p.memory, msg, _env);
796
- case 11:
883
+ case 16:
797
884
  res = _context9.sent;
798
885
  return _context9.abrupt("return", res);
799
- case 15:
800
- _context9.prev = 15;
801
- _context9.t0 = _context9["catch"](6);
886
+ case 20:
887
+ _context9.prev = 20;
888
+ _context9.t0 = _context9["catch"](10);
802
889
  console.log(_context9.t0);
803
- case 18:
890
+ case 23:
804
891
  return _context9.abrupt("return", null);
805
- case 19:
892
+ case 24:
806
893
  case "end":
807
894
  return _context9.stop();
808
895
  }
809
- }, _callee9, null, [[6, 15]]);
896
+ }, _callee9, null, [[10, 20]]);
810
897
  }));
811
898
  function dryrun(_x7) {
812
899
  return _dryrun.apply(this, arguments);