wao 0.4.1 → 0.4.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.
- package/cjs/aoconnect.js +230 -242
- package/cjs/armem.js +1 -0
- package/cjs/tar.js +73 -32
- package/cjs/tgql.js +11 -11
- package/esm/.cache/opt.json +1 -1
- package/esm/aoconnect.js +82 -59
- package/esm/armem.js +1 -0
- package/esm/tar.js +25 -6
- package/esm/tgql.js +5 -4
- package/package.json +1 -1
package/cjs/aoconnect.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.connect = void 0;
|
|
8
8
|
var _warpArbundles = require("warp-arbundles");
|
|
9
|
+
var _crypto = _interopRequireDefault(require("crypto"));
|
|
9
10
|
var _base64url = _interopRequireDefault(require("base64url"));
|
|
10
11
|
var _utils = require("./utils.js");
|
|
11
12
|
var _armem = _interopRequireDefault(require("./armem.js"));
|
|
@@ -185,7 +186,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
185
186
|
}();
|
|
186
187
|
var spawn = /*#__PURE__*/function () {
|
|
187
188
|
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
188
|
-
var _opt$module, _opt$tags;
|
|
189
|
+
var _opt$module, _opt$tags, _opt$tags2;
|
|
189
190
|
var opt,
|
|
190
191
|
mod,
|
|
191
192
|
__dirname,
|
|
@@ -264,9 +265,18 @@ var connect = exports.connect = function connect(mem) {
|
|
|
264
265
|
}
|
|
265
266
|
throw Error("module not found");
|
|
266
267
|
case 17:
|
|
268
|
+
opt.tags = (0, _utils.buildTags)(null, (0, _ramda.mergeLeft)((0, _utils.tags)((_opt$tags = opt.tags) !== null && _opt$tags !== void 0 ? _opt$tags : []), {
|
|
269
|
+
"Data-Protocol": "ao",
|
|
270
|
+
Variant: "ao.TN.1",
|
|
271
|
+
Type: "Process",
|
|
272
|
+
SDK: "aoconnect",
|
|
273
|
+
Module: opt.module,
|
|
274
|
+
Scheduler: opt.scheduler,
|
|
275
|
+
"Content-Type": "text/plain"
|
|
276
|
+
}));
|
|
267
277
|
_module = mem.modmap[mod];
|
|
268
278
|
ex = false;
|
|
269
|
-
(_opt$
|
|
279
|
+
(_opt$tags2 = opt.tags) !== null && _opt$tags2 !== void 0 ? _opt$tags2 : opt.tags = [];
|
|
270
280
|
_iterator = _createForOfIteratorHelper(opt.tags);
|
|
271
281
|
try {
|
|
272
282
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -282,27 +292,29 @@ var connect = exports.connect = function connect(mem) {
|
|
|
282
292
|
name: "Type",
|
|
283
293
|
value: "Process"
|
|
284
294
|
});
|
|
285
|
-
_context2.next =
|
|
295
|
+
_context2.next = 26;
|
|
286
296
|
return ar.dataitem({
|
|
287
297
|
data: opt.data,
|
|
288
298
|
signer: opt.signer,
|
|
289
299
|
tags: (0, _utils.tags)(opt.tags)
|
|
290
300
|
});
|
|
291
|
-
case
|
|
301
|
+
case 26:
|
|
292
302
|
_yield$ar$dataitem2 = _context2.sent;
|
|
293
303
|
id = _yield$ar$dataitem2.id;
|
|
294
304
|
owner = _yield$ar$dataitem2.owner;
|
|
295
305
|
item = _yield$ar$dataitem2.item;
|
|
296
|
-
_context2.next =
|
|
306
|
+
_context2.next = 32;
|
|
297
307
|
return ar.postItem(item, _test.su.jwk);
|
|
298
|
-
case
|
|
308
|
+
case 32:
|
|
299
309
|
_tags = (0, _utils.tags)(opt.tags);
|
|
300
310
|
res = null;
|
|
301
311
|
memory = null;
|
|
302
312
|
p = {
|
|
303
313
|
id: id,
|
|
314
|
+
epochs: [],
|
|
304
315
|
handle: _module.handle,
|
|
305
316
|
module: _module.id,
|
|
317
|
+
hash: id,
|
|
306
318
|
memory: memory,
|
|
307
319
|
owner: owner,
|
|
308
320
|
height: 0,
|
|
@@ -312,7 +324,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
312
324
|
opt: opt
|
|
313
325
|
};
|
|
314
326
|
if (!_tags["On-Boot"]) {
|
|
315
|
-
_context2.next =
|
|
327
|
+
_context2.next = 50;
|
|
316
328
|
break;
|
|
317
329
|
}
|
|
318
330
|
data = "";
|
|
@@ -325,51 +337,51 @@ var connect = exports.connect = function connect(mem) {
|
|
|
325
337
|
auth: _test.mu.addr
|
|
326
338
|
});
|
|
327
339
|
_t = (0, _utils.tags)(msg.Tags);
|
|
328
|
-
_context2.next =
|
|
340
|
+
_context2.next = 44;
|
|
329
341
|
return _module.handle(null, msg, _env);
|
|
330
|
-
case
|
|
342
|
+
case 44:
|
|
331
343
|
res = _context2.sent;
|
|
332
344
|
p.memory = res.Memory;
|
|
333
345
|
delete res.Memory;
|
|
334
346
|
p.res[id] = res;
|
|
335
|
-
_context2.next =
|
|
347
|
+
_context2.next = 51;
|
|
336
348
|
break;
|
|
337
|
-
case 49:
|
|
338
|
-
p.height += 1;
|
|
339
349
|
case 50:
|
|
350
|
+
p.height += 1;
|
|
351
|
+
case 51:
|
|
340
352
|
mem.msgs[id] = opt;
|
|
341
353
|
mem.env[id] = p;
|
|
342
354
|
if (!_tags["Cron-Interval"]) {
|
|
343
|
-
_context2.next =
|
|
355
|
+
_context2.next = 77;
|
|
344
356
|
break;
|
|
345
357
|
}
|
|
346
358
|
_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];
|
|
347
359
|
_int = 0;
|
|
348
360
|
_context2.t0 = unit.replace(/s$/, "");
|
|
349
|
-
_context2.next = _context2.t0 === "millisecond" ?
|
|
361
|
+
_context2.next = _context2.t0 === "millisecond" ? 59 : _context2.t0 === "second" ? 61 : _context2.t0 === "minute" ? 63 : _context2.t0 === "hour" ? 65 : _context2.t0 === "day" ? 67 : _context2.t0 === "month" ? 69 : _context2.t0 === "year" ? 71 : 73;
|
|
350
362
|
break;
|
|
351
|
-
case
|
|
363
|
+
case 59:
|
|
352
364
|
_int = num;
|
|
353
|
-
return _context2.abrupt("break",
|
|
354
|
-
case
|
|
365
|
+
return _context2.abrupt("break", 73);
|
|
366
|
+
case 61:
|
|
355
367
|
_int = num * 1000;
|
|
356
|
-
return _context2.abrupt("break",
|
|
357
|
-
case
|
|
368
|
+
return _context2.abrupt("break", 73);
|
|
369
|
+
case 63:
|
|
358
370
|
_int = num * 1000 * 60;
|
|
359
|
-
return _context2.abrupt("break",
|
|
360
|
-
case
|
|
371
|
+
return _context2.abrupt("break", 73);
|
|
372
|
+
case 65:
|
|
361
373
|
_int = num * 1000 * 60 * 60;
|
|
362
|
-
return _context2.abrupt("break",
|
|
363
|
-
case
|
|
374
|
+
return _context2.abrupt("break", 73);
|
|
375
|
+
case 67:
|
|
364
376
|
_int = num * 1000 * 60 * 60 * 24;
|
|
365
|
-
return _context2.abrupt("break",
|
|
366
|
-
case
|
|
377
|
+
return _context2.abrupt("break", 73);
|
|
378
|
+
case 69:
|
|
367
379
|
_int = num * 1000 * 60 * 60 * 24 * 30;
|
|
368
|
-
return _context2.abrupt("break",
|
|
369
|
-
case
|
|
380
|
+
return _context2.abrupt("break", 73);
|
|
381
|
+
case 71:
|
|
370
382
|
_int = num * 1000 * 60 * 60 * 24 * 365;
|
|
371
|
-
return _context2.abrupt("break",
|
|
372
|
-
case
|
|
383
|
+
return _context2.abrupt("break", 73);
|
|
384
|
+
case 73:
|
|
373
385
|
cronTags = [];
|
|
374
386
|
for (k in _tags) {
|
|
375
387
|
if (/^Cron-Tag-/.test(k)) {
|
|
@@ -381,9 +393,9 @@ var connect = exports.connect = function connect(mem) {
|
|
|
381
393
|
}
|
|
382
394
|
mem.env[id].cronTags = cronTags;
|
|
383
395
|
mem.env[id].span = _int;
|
|
384
|
-
case 76:
|
|
385
|
-
return _context2.abrupt("return", id);
|
|
386
396
|
case 77:
|
|
397
|
+
return _context2.abrupt("return", id);
|
|
398
|
+
case 78:
|
|
387
399
|
case "end":
|
|
388
400
|
return _context2.stop();
|
|
389
401
|
}
|
|
@@ -393,125 +405,242 @@ var connect = exports.connect = function connect(mem) {
|
|
|
393
405
|
return _ref6.apply(this, arguments);
|
|
394
406
|
};
|
|
395
407
|
}();
|
|
396
|
-
|
|
408
|
+
function genHashChain(previousHash) {
|
|
409
|
+
var previousMessageId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
410
|
+
var hasher = _crypto["default"].createHash("sha256");
|
|
411
|
+
hasher.update(Buffer.from(previousHash, "base64url"));
|
|
412
|
+
if (previousMessageId) {
|
|
413
|
+
hasher.update(Buffer.from(previousMessageId, "base64url"));
|
|
414
|
+
}
|
|
415
|
+
return (0, _base64url["default"])(hasher.digest());
|
|
416
|
+
}
|
|
417
|
+
var _assign = /*#__PURE__*/function () {
|
|
397
418
|
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opt) {
|
|
398
|
-
var
|
|
419
|
+
var _opt$tags3;
|
|
420
|
+
var p, _opt, hash, _yield$ar$dataitem3, id, owner, item, _opt$data2, _ref8, _opt$from, _res$Messages, _res$Spawns, _res$Assignments, msg, _env, res, _iterator2, _step2, v, _iterator3, _step3, _v, _tags, _iterator4, _step4, _v2, _iterator5, _step5, v2;
|
|
399
421
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
400
422
|
while (1) switch (_context3.prev = _context3.next) {
|
|
401
423
|
case 0:
|
|
402
424
|
p = mem.env[opt.process];
|
|
403
|
-
_opt =
|
|
404
|
-
|
|
425
|
+
_opt = mem.msgs[opt.message];
|
|
426
|
+
hash = genHashChain(p.hash, opt.message);
|
|
427
|
+
p.hash = hash;
|
|
428
|
+
opt.tags = (0, _utils.buildTags)(null, (0, _ramda.mergeLeft)((0, _utils.tags)((_opt$tags3 = opt.tags) !== null && _opt$tags3 !== void 0 ? _opt$tags3 : []), {
|
|
429
|
+
Timestamp: Date.now(),
|
|
430
|
+
Epoch: p.epochs.length,
|
|
431
|
+
Nonce: "0",
|
|
432
|
+
"Data-Protocol": "ao",
|
|
433
|
+
Variant: "ao.TN.1",
|
|
434
|
+
SDK: "aoconnect",
|
|
435
|
+
Type: "Assignment",
|
|
436
|
+
"Block-Height": mem.height,
|
|
437
|
+
Process: opt.process,
|
|
438
|
+
Message: opt.message,
|
|
439
|
+
"Hash-Chain": hash
|
|
440
|
+
}));
|
|
441
|
+
p.epochs.push([opt.id]);
|
|
442
|
+
_context3.next = 8;
|
|
405
443
|
return ar.dataitem({
|
|
406
|
-
data:
|
|
407
|
-
signer:
|
|
408
|
-
tags: (0, _utils.tags)(
|
|
444
|
+
data: opt.data,
|
|
445
|
+
signer: opt.signer,
|
|
446
|
+
tags: (0, _utils.tags)(opt.tags),
|
|
409
447
|
target: opt.process
|
|
410
448
|
});
|
|
411
|
-
case
|
|
449
|
+
case 8:
|
|
412
450
|
_yield$ar$dataitem3 = _context3.sent;
|
|
413
451
|
id = _yield$ar$dataitem3.id;
|
|
414
452
|
owner = _yield$ar$dataitem3.owner;
|
|
415
453
|
item = _yield$ar$dataitem3.item;
|
|
416
|
-
_context3.next =
|
|
454
|
+
_context3.next = 14;
|
|
417
455
|
return ar.postItem(item, _test.su.jwk);
|
|
418
|
-
case
|
|
419
|
-
_context3.prev =
|
|
420
|
-
msg = genMsg(p, (_opt$data2 = _opt.data) !== null && _opt$data2 !== void 0 ? _opt$data2 : "", _opt.tags, (_opt$from = _opt.from) !== null && _opt$from !== void 0 ? _opt$from : owner, _test.mu.addr);
|
|
456
|
+
case 14:
|
|
457
|
+
_context3.prev = 14;
|
|
458
|
+
msg = genMsg(p, (_opt$data2 = _opt.data) !== null && _opt$data2 !== void 0 ? _opt$data2 : "", _opt.tags, (_ref8 = (_opt$from = _opt.from) !== null && _opt$from !== void 0 ? _opt$from : opt.from) !== null && _ref8 !== void 0 ? _ref8 : owner, _test.mu.addr);
|
|
421
459
|
_env = genEnv({
|
|
422
460
|
pid: p.id,
|
|
423
461
|
owner: p.owner,
|
|
424
462
|
module: p.module,
|
|
425
463
|
auth: _test.mu.addr
|
|
426
464
|
});
|
|
427
|
-
_context3.next =
|
|
465
|
+
_context3.next = 19;
|
|
428
466
|
return p.handle(p.memory, msg, _env);
|
|
429
|
-
case
|
|
467
|
+
case 19:
|
|
430
468
|
res = _context3.sent;
|
|
431
469
|
p.memory = res.Memory;
|
|
432
470
|
delete res.Memory;
|
|
433
|
-
p.res[
|
|
434
|
-
p.results.push(
|
|
471
|
+
p.res[opt.message] = res;
|
|
472
|
+
p.results.push(opt.message);
|
|
435
473
|
p.txs.unshift(_objectSpread({
|
|
436
|
-
id:
|
|
437
|
-
},
|
|
438
|
-
mem.msgs[
|
|
474
|
+
id: opt.message
|
|
475
|
+
}, opt));
|
|
476
|
+
mem.msgs[opt.message] = _opt;
|
|
439
477
|
_iterator2 = _createForOfIteratorHelper((_res$Messages = res.Messages) !== null && _res$Messages !== void 0 ? _res$Messages : []);
|
|
440
|
-
_context3.prev =
|
|
478
|
+
_context3.prev = 27;
|
|
441
479
|
_iterator2.s();
|
|
442
|
-
case
|
|
480
|
+
case 29:
|
|
443
481
|
if ((_step2 = _iterator2.n()).done) {
|
|
444
|
-
_context3.next =
|
|
482
|
+
_context3.next = 36;
|
|
445
483
|
break;
|
|
446
484
|
}
|
|
447
485
|
v = _step2.value;
|
|
448
486
|
if (!mem.env[v.Target]) {
|
|
449
|
-
_context3.next =
|
|
487
|
+
_context3.next = 34;
|
|
450
488
|
break;
|
|
451
489
|
}
|
|
452
|
-
_context3.next =
|
|
453
|
-
return
|
|
490
|
+
_context3.next = 34;
|
|
491
|
+
return message({
|
|
454
492
|
process: v.Target,
|
|
455
493
|
tags: v.Tags,
|
|
456
494
|
data: v.Data,
|
|
457
495
|
signer: _test.mu.signer,
|
|
458
496
|
from: opt.process
|
|
459
497
|
});
|
|
460
|
-
case
|
|
461
|
-
_context3.next =
|
|
498
|
+
case 34:
|
|
499
|
+
_context3.next = 29;
|
|
462
500
|
break;
|
|
463
|
-
case
|
|
464
|
-
_context3.next =
|
|
501
|
+
case 36:
|
|
502
|
+
_context3.next = 41;
|
|
465
503
|
break;
|
|
466
|
-
case
|
|
467
|
-
_context3.prev =
|
|
468
|
-
_context3.t0 = _context3["catch"](
|
|
504
|
+
case 38:
|
|
505
|
+
_context3.prev = 38;
|
|
506
|
+
_context3.t0 = _context3["catch"](27);
|
|
469
507
|
_iterator2.e(_context3.t0);
|
|
470
|
-
case
|
|
471
|
-
_context3.prev =
|
|
508
|
+
case 41:
|
|
509
|
+
_context3.prev = 41;
|
|
472
510
|
_iterator2.f();
|
|
473
|
-
return _context3.finish(
|
|
474
|
-
case
|
|
511
|
+
return _context3.finish(41);
|
|
512
|
+
case 44:
|
|
513
|
+
_iterator3 = _createForOfIteratorHelper((_res$Spawns = res.Spawns) !== null && _res$Spawns !== void 0 ? _res$Spawns : []);
|
|
514
|
+
_context3.prev = 45;
|
|
515
|
+
_iterator3.s();
|
|
516
|
+
case 47:
|
|
517
|
+
if ((_step3 = _iterator3.n()).done) {
|
|
518
|
+
_context3.next = 54;
|
|
519
|
+
break;
|
|
520
|
+
}
|
|
521
|
+
_v = _step3.value;
|
|
522
|
+
_tags = (0, _utils.tags)(_v.Tags);
|
|
523
|
+
_context3.next = 52;
|
|
524
|
+
return spawn({
|
|
525
|
+
module: _tags.Module,
|
|
526
|
+
scheduler: _test.scheduler,
|
|
527
|
+
tags: _v.Tags,
|
|
528
|
+
data: _v.Data,
|
|
529
|
+
from: _tags["From-Process"],
|
|
530
|
+
signer: _test.mu.signer
|
|
531
|
+
});
|
|
532
|
+
case 52:
|
|
533
|
+
_context3.next = 47;
|
|
534
|
+
break;
|
|
535
|
+
case 54:
|
|
536
|
+
_context3.next = 59;
|
|
537
|
+
break;
|
|
538
|
+
case 56:
|
|
539
|
+
_context3.prev = 56;
|
|
540
|
+
_context3.t1 = _context3["catch"](45);
|
|
541
|
+
_iterator3.e(_context3.t1);
|
|
542
|
+
case 59:
|
|
543
|
+
_context3.prev = 59;
|
|
544
|
+
_iterator3.f();
|
|
545
|
+
return _context3.finish(59);
|
|
546
|
+
case 62:
|
|
547
|
+
_iterator4 = _createForOfIteratorHelper((_res$Assignments = res.Assignments) !== null && _res$Assignments !== void 0 ? _res$Assignments : []);
|
|
548
|
+
_context3.prev = 63;
|
|
549
|
+
_iterator4.s();
|
|
550
|
+
case 65:
|
|
551
|
+
if ((_step4 = _iterator4.n()).done) {
|
|
552
|
+
_context3.next = 86;
|
|
553
|
+
break;
|
|
554
|
+
}
|
|
555
|
+
_v2 = _step4.value;
|
|
556
|
+
_iterator5 = _createForOfIteratorHelper(_v2.Processes);
|
|
557
|
+
_context3.prev = 68;
|
|
558
|
+
_iterator5.s();
|
|
559
|
+
case 70:
|
|
560
|
+
if ((_step5 = _iterator5.n()).done) {
|
|
561
|
+
_context3.next = 76;
|
|
562
|
+
break;
|
|
563
|
+
}
|
|
564
|
+
v2 = _step5.value;
|
|
565
|
+
_context3.next = 74;
|
|
566
|
+
return _assign({
|
|
567
|
+
message: _v2.Message,
|
|
568
|
+
process: v2,
|
|
569
|
+
from: opt.process,
|
|
570
|
+
signer: _test.mu.signer
|
|
571
|
+
});
|
|
572
|
+
case 74:
|
|
573
|
+
_context3.next = 70;
|
|
574
|
+
break;
|
|
575
|
+
case 76:
|
|
576
|
+
_context3.next = 81;
|
|
577
|
+
break;
|
|
578
|
+
case 78:
|
|
579
|
+
_context3.prev = 78;
|
|
580
|
+
_context3.t2 = _context3["catch"](68);
|
|
581
|
+
_iterator5.e(_context3.t2);
|
|
582
|
+
case 81:
|
|
583
|
+
_context3.prev = 81;
|
|
584
|
+
_iterator5.f();
|
|
585
|
+
return _context3.finish(81);
|
|
586
|
+
case 84:
|
|
587
|
+
_context3.next = 65;
|
|
588
|
+
break;
|
|
589
|
+
case 86:
|
|
590
|
+
_context3.next = 91;
|
|
591
|
+
break;
|
|
592
|
+
case 88:
|
|
593
|
+
_context3.prev = 88;
|
|
594
|
+
_context3.t3 = _context3["catch"](63);
|
|
595
|
+
_iterator4.e(_context3.t3);
|
|
596
|
+
case 91:
|
|
597
|
+
_context3.prev = 91;
|
|
598
|
+
_iterator4.f();
|
|
599
|
+
return _context3.finish(91);
|
|
600
|
+
case 94:
|
|
475
601
|
return _context3.abrupt("return", id);
|
|
476
|
-
case
|
|
477
|
-
_context3.prev =
|
|
478
|
-
_context3.
|
|
479
|
-
console.log(_context3.
|
|
480
|
-
case
|
|
602
|
+
case 97:
|
|
603
|
+
_context3.prev = 97;
|
|
604
|
+
_context3.t4 = _context3["catch"](14);
|
|
605
|
+
console.log(_context3.t4);
|
|
606
|
+
case 100:
|
|
481
607
|
return _context3.abrupt("return", null);
|
|
482
|
-
case
|
|
608
|
+
case 101:
|
|
483
609
|
case "end":
|
|
484
610
|
return _context3.stop();
|
|
485
611
|
}
|
|
486
|
-
}, _callee3, null, [[
|
|
612
|
+
}, _callee3, null, [[14, 97], [27, 38, 41, 44], [45, 56, 59, 62], [63, 88, 91, 94], [68, 78, 81, 84]]);
|
|
487
613
|
}));
|
|
488
614
|
return function assign(_x2) {
|
|
489
615
|
return _ref7.apply(this, arguments);
|
|
490
616
|
};
|
|
491
617
|
}();
|
|
492
|
-
var
|
|
493
|
-
var
|
|
494
|
-
var
|
|
618
|
+
var message = /*#__PURE__*/function () {
|
|
619
|
+
var _ref9 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(opt) {
|
|
620
|
+
var _opt$tags4;
|
|
621
|
+
var p, ex, _iterator6, _step6, v, _yield$ar$dataitem4, item, id, owner;
|
|
495
622
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
496
623
|
while (1) switch (_context4.prev = _context4.next) {
|
|
497
624
|
case 0:
|
|
498
625
|
p = mem.env[opt.process];
|
|
499
626
|
ex = false;
|
|
500
|
-
|
|
627
|
+
_iterator6 = _createForOfIteratorHelper(opt.tags);
|
|
501
628
|
try {
|
|
502
|
-
for (
|
|
503
|
-
|
|
504
|
-
if (
|
|
629
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
630
|
+
v = _step6.value;
|
|
631
|
+
if (v.name === "Type") ex = true;
|
|
505
632
|
}
|
|
506
633
|
} catch (err) {
|
|
507
|
-
|
|
634
|
+
_iterator6.e(err);
|
|
508
635
|
} finally {
|
|
509
|
-
|
|
636
|
+
_iterator6.f();
|
|
510
637
|
}
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
638
|
+
opt.tags = (0, _utils.buildTags)(null, (0, _ramda.mergeLeft)((0, _utils.tags)((_opt$tags4 = opt.tags) !== null && _opt$tags4 !== void 0 ? _opt$tags4 : []), {
|
|
639
|
+
"Data-Protocol": "ao",
|
|
640
|
+
Variant: "ao.TN.1",
|
|
641
|
+
Type: "Message",
|
|
642
|
+
SDK: "aoconnect"
|
|
643
|
+
}));
|
|
515
644
|
_context4.next = 7;
|
|
516
645
|
return ar.dataitem({
|
|
517
646
|
data: opt.data,
|
|
@@ -527,169 +656,28 @@ var connect = exports.connect = function connect(mem) {
|
|
|
527
656
|
_context4.next = 13;
|
|
528
657
|
return ar.postItem(item, _test.su.jwk);
|
|
529
658
|
case 13:
|
|
530
|
-
_context4.prev = 13;
|
|
531
|
-
msg = genMsg(p, (_opt$data3 = opt.data) !== null && _opt$data3 !== void 0 ? _opt$data3 : "", opt.tags, (_opt$from2 = opt.from) !== null && _opt$from2 !== void 0 ? _opt$from2 : owner, _test.mu.addr);
|
|
532
|
-
_env = genEnv({
|
|
533
|
-
pid: p.id,
|
|
534
|
-
owner: p.owner,
|
|
535
|
-
module: p.module,
|
|
536
|
-
auth: _test.mu.addr
|
|
537
|
-
});
|
|
538
|
-
_context4.next = 18;
|
|
539
|
-
return p.handle(p.memory, msg, _env);
|
|
540
|
-
case 18:
|
|
541
|
-
res = _context4.sent;
|
|
542
|
-
p.memory = res.Memory;
|
|
543
|
-
delete res.Memory;
|
|
544
|
-
p.res[id] = res;
|
|
545
|
-
p.results.push(id);
|
|
546
|
-
p.txs.unshift(_objectSpread({
|
|
547
|
-
id: id
|
|
548
|
-
}, opt));
|
|
549
659
|
mem.msgs[id] = opt;
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
_context4.next = 35;
|
|
556
|
-
break;
|
|
557
|
-
}
|
|
558
|
-
v = _step4.value;
|
|
559
|
-
if (!mem.env[v.Target]) {
|
|
560
|
-
_context4.next = 33;
|
|
561
|
-
break;
|
|
562
|
-
}
|
|
563
|
-
_context4.next = 33;
|
|
564
|
-
return _message({
|
|
565
|
-
process: v.Target,
|
|
566
|
-
tags: v.Tags,
|
|
567
|
-
data: v.Data,
|
|
568
|
-
signer: _test.mu.signer,
|
|
569
|
-
from: opt.process
|
|
570
|
-
});
|
|
571
|
-
case 33:
|
|
572
|
-
_context4.next = 28;
|
|
573
|
-
break;
|
|
574
|
-
case 35:
|
|
575
|
-
_context4.next = 40;
|
|
576
|
-
break;
|
|
577
|
-
case 37:
|
|
578
|
-
_context4.prev = 37;
|
|
579
|
-
_context4.t0 = _context4["catch"](26);
|
|
580
|
-
_iterator4.e(_context4.t0);
|
|
581
|
-
case 40:
|
|
582
|
-
_context4.prev = 40;
|
|
583
|
-
_iterator4.f();
|
|
584
|
-
return _context4.finish(40);
|
|
585
|
-
case 43:
|
|
586
|
-
_iterator5 = _createForOfIteratorHelper((_res$Spawns = res.Spawns) !== null && _res$Spawns !== void 0 ? _res$Spawns : []);
|
|
587
|
-
_context4.prev = 44;
|
|
588
|
-
_iterator5.s();
|
|
589
|
-
case 46:
|
|
590
|
-
if ((_step5 = _iterator5.n()).done) {
|
|
591
|
-
_context4.next = 53;
|
|
592
|
-
break;
|
|
593
|
-
}
|
|
594
|
-
_v = _step5.value;
|
|
595
|
-
_tags = (0, _utils.tags)(_v.Tags);
|
|
596
|
-
_context4.next = 51;
|
|
597
|
-
return spawn({
|
|
598
|
-
module: _tags.Module,
|
|
599
|
-
scheduler: _test.scheduler,
|
|
600
|
-
tags: _v.Tags,
|
|
601
|
-
data: _v.Data,
|
|
602
|
-
from: _tags["From-Process"],
|
|
660
|
+
_context4.next = 16;
|
|
661
|
+
return _assign({
|
|
662
|
+
message: id,
|
|
663
|
+
process: opt.process,
|
|
664
|
+
from: owner,
|
|
603
665
|
signer: _test.mu.signer
|
|
604
666
|
});
|
|
605
|
-
case
|
|
606
|
-
_context4.next = 46;
|
|
607
|
-
break;
|
|
608
|
-
case 53:
|
|
609
|
-
_context4.next = 58;
|
|
610
|
-
break;
|
|
611
|
-
case 55:
|
|
612
|
-
_context4.prev = 55;
|
|
613
|
-
_context4.t1 = _context4["catch"](44);
|
|
614
|
-
_iterator5.e(_context4.t1);
|
|
615
|
-
case 58:
|
|
616
|
-
_context4.prev = 58;
|
|
617
|
-
_iterator5.f();
|
|
618
|
-
return _context4.finish(58);
|
|
619
|
-
case 61:
|
|
620
|
-
_iterator6 = _createForOfIteratorHelper((_res$Assignments = res.Assignments) !== null && _res$Assignments !== void 0 ? _res$Assignments : []);
|
|
621
|
-
_context4.prev = 62;
|
|
622
|
-
_iterator6.s();
|
|
623
|
-
case 64:
|
|
624
|
-
if ((_step6 = _iterator6.n()).done) {
|
|
625
|
-
_context4.next = 85;
|
|
626
|
-
break;
|
|
627
|
-
}
|
|
628
|
-
_v2 = _step6.value;
|
|
629
|
-
_iterator7 = _createForOfIteratorHelper(_v2.Processes);
|
|
630
|
-
_context4.prev = 67;
|
|
631
|
-
_iterator7.s();
|
|
632
|
-
case 69:
|
|
633
|
-
if ((_step7 = _iterator7.n()).done) {
|
|
634
|
-
_context4.next = 75;
|
|
635
|
-
break;
|
|
636
|
-
}
|
|
637
|
-
v2 = _step7.value;
|
|
638
|
-
_context4.next = 73;
|
|
639
|
-
return assign({
|
|
640
|
-
message: _v2.Message,
|
|
641
|
-
process: v2,
|
|
642
|
-
from: opt.process,
|
|
643
|
-
signer: _test.mu.signer
|
|
644
|
-
});
|
|
645
|
-
case 73:
|
|
646
|
-
_context4.next = 69;
|
|
647
|
-
break;
|
|
648
|
-
case 75:
|
|
649
|
-
_context4.next = 80;
|
|
650
|
-
break;
|
|
651
|
-
case 77:
|
|
652
|
-
_context4.prev = 77;
|
|
653
|
-
_context4.t2 = _context4["catch"](67);
|
|
654
|
-
_iterator7.e(_context4.t2);
|
|
655
|
-
case 80:
|
|
656
|
-
_context4.prev = 80;
|
|
657
|
-
_iterator7.f();
|
|
658
|
-
return _context4.finish(80);
|
|
659
|
-
case 83:
|
|
660
|
-
_context4.next = 64;
|
|
661
|
-
break;
|
|
662
|
-
case 85:
|
|
663
|
-
_context4.next = 90;
|
|
664
|
-
break;
|
|
665
|
-
case 87:
|
|
666
|
-
_context4.prev = 87;
|
|
667
|
-
_context4.t3 = _context4["catch"](62);
|
|
668
|
-
_iterator6.e(_context4.t3);
|
|
669
|
-
case 90:
|
|
670
|
-
_context4.prev = 90;
|
|
671
|
-
_iterator6.f();
|
|
672
|
-
return _context4.finish(90);
|
|
673
|
-
case 93:
|
|
667
|
+
case 16:
|
|
674
668
|
return _context4.abrupt("return", id);
|
|
675
|
-
case
|
|
676
|
-
_context4.prev = 96;
|
|
677
|
-
_context4.t4 = _context4["catch"](13);
|
|
678
|
-
console.log(_context4.t4);
|
|
679
|
-
case 99:
|
|
680
|
-
return _context4.abrupt("return", null);
|
|
681
|
-
case 100:
|
|
669
|
+
case 17:
|
|
682
670
|
case "end":
|
|
683
671
|
return _context4.stop();
|
|
684
672
|
}
|
|
685
|
-
}, _callee4
|
|
673
|
+
}, _callee4);
|
|
686
674
|
}));
|
|
687
675
|
return function message(_x3) {
|
|
688
|
-
return
|
|
676
|
+
return _ref9.apply(this, arguments);
|
|
689
677
|
};
|
|
690
678
|
}();
|
|
691
679
|
return {
|
|
692
|
-
message:
|
|
680
|
+
message: message,
|
|
693
681
|
unmonitor: function () {
|
|
694
682
|
var _unmonitor = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(opt) {
|
|
695
683
|
var p;
|
|
@@ -725,7 +713,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
725
713
|
while (1) switch (_context6.prev = _context6.next) {
|
|
726
714
|
case 0:
|
|
727
715
|
_context6.next = 2;
|
|
728
|
-
return
|
|
716
|
+
return message({
|
|
729
717
|
tags: p.cronTags,
|
|
730
718
|
process: opt.process,
|
|
731
719
|
signer: _test.mu.signer,
|
|
@@ -750,7 +738,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
750
738
|
return monitor;
|
|
751
739
|
}(),
|
|
752
740
|
spawn: spawn,
|
|
753
|
-
assign:
|
|
741
|
+
assign: _assign,
|
|
754
742
|
result: function () {
|
|
755
743
|
var _result = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(opt) {
|
|
756
744
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
@@ -840,7 +828,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
840
828
|
}(),
|
|
841
829
|
dryrun: function () {
|
|
842
830
|
var _dryrun = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(opt) {
|
|
843
|
-
var p, _yield$ar$dataitem5, id, owner, _opt$
|
|
831
|
+
var p, _yield$ar$dataitem5, id, owner, _opt$data3, msg, _env, res;
|
|
844
832
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
845
833
|
while (1) switch (_context10.prev = _context10.next) {
|
|
846
834
|
case 0:
|
|
@@ -854,7 +842,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
854
842
|
id = _yield$ar$dataitem5.id;
|
|
855
843
|
owner = _yield$ar$dataitem5.owner;
|
|
856
844
|
_context10.prev = 6;
|
|
857
|
-
msg = genMsg(p, (_opt$
|
|
845
|
+
msg = genMsg(p, (_opt$data3 = opt.data) !== null && _opt$data3 !== void 0 ? _opt$data3 : "", opt.tags, owner, _test.mu.addr, true);
|
|
858
846
|
_env = genEnv({
|
|
859
847
|
pid: p.id,
|
|
860
848
|
owner: p.owner,
|
package/cjs/armem.js
CHANGED
package/cjs/tar.js
CHANGED
|
@@ -99,7 +99,7 @@ var AR = /*#__PURE__*/function (_MAR) {
|
|
|
99
99
|
key: "post",
|
|
100
100
|
value: function () {
|
|
101
101
|
var _post = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
102
|
-
var _ref2$data, data, _ref2$tags, tags, jwk, tx, _tags, _iterator, _step, v;
|
|
102
|
+
var _ref2$data, data, _ref2$tags, tags, jwk, tx, _tags, _iterator, _step, v, owner;
|
|
103
103
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
104
104
|
while (1) switch (_context2.prev = _context2.next) {
|
|
105
105
|
case 0:
|
|
@@ -122,26 +122,21 @@ var AR = /*#__PURE__*/function (_MAR) {
|
|
|
122
122
|
} finally {
|
|
123
123
|
_iterator.f();
|
|
124
124
|
}
|
|
125
|
-
_context2.
|
|
126
|
-
_context2.t1 = tx;
|
|
127
|
-
_context2.t2 = jwk;
|
|
128
|
-
_context2.t3 = _tags;
|
|
129
|
-
_context2.t4 = data;
|
|
130
|
-
_context2.next = 14;
|
|
125
|
+
_context2.next = 9;
|
|
131
126
|
return this.arweave.wallets.jwkToAddress(jwk);
|
|
132
|
-
case
|
|
133
|
-
|
|
134
|
-
|
|
127
|
+
case 9:
|
|
128
|
+
owner = _context2.sent;
|
|
129
|
+
this.mem.addrmap[owner] = jwk.n;
|
|
130
|
+
_context2.next = 13;
|
|
131
|
+
return this.postTx(tx, jwk, {
|
|
135
132
|
recipient: "",
|
|
136
|
-
tags:
|
|
137
|
-
data:
|
|
138
|
-
owner:
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
return _context2.t0.postTx.call(_context2.t0, _context2.t1, _context2.t2, _context2.t6);
|
|
142
|
-
case 18:
|
|
133
|
+
tags: _tags,
|
|
134
|
+
data: data,
|
|
135
|
+
owner: owner
|
|
136
|
+
});
|
|
137
|
+
case 13:
|
|
143
138
|
return _context2.abrupt("return", _context2.sent);
|
|
144
|
-
case
|
|
139
|
+
case 14:
|
|
145
140
|
case "end":
|
|
146
141
|
return _context2.stop();
|
|
147
142
|
}
|
|
@@ -156,7 +151,7 @@ var AR = /*#__PURE__*/function (_MAR) {
|
|
|
156
151
|
key: "postItem",
|
|
157
152
|
value: function () {
|
|
158
153
|
var _postItem = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(item, jwk) {
|
|
159
|
-
var tx, di, rowner, hashBuffer, owner, data, _item;
|
|
154
|
+
var tx, di, data_size, data_type, _iterator2, _step2, t, rowner, hashBuffer, owner, data, _item;
|
|
160
155
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
161
156
|
while (1) switch (_context3.prev = _context3.next) {
|
|
162
157
|
case 0:
|
|
@@ -169,19 +164,39 @@ var AR = /*#__PURE__*/function (_MAR) {
|
|
|
169
164
|
tx.addTag("Bundle-Format", "binary");
|
|
170
165
|
tx.addTag("Bundle-Version", "2.0.0");
|
|
171
166
|
di = new _warpArbundles.DataItem(item.raw);
|
|
167
|
+
data_size = Buffer.byteLength(di.rawData).toString();
|
|
168
|
+
data_type = "";
|
|
169
|
+
_iterator2 = _createForOfIteratorHelper(di.tags);
|
|
170
|
+
try {
|
|
171
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
172
|
+
t = _step2.value;
|
|
173
|
+
if (t.name === "Content-Type") data_type = t.value;
|
|
174
|
+
}
|
|
175
|
+
} catch (err) {
|
|
176
|
+
_iterator2.e(err);
|
|
177
|
+
} finally {
|
|
178
|
+
_iterator2.f();
|
|
179
|
+
}
|
|
172
180
|
rowner = di.rawOwner;
|
|
173
181
|
_context3.t0 = Buffer;
|
|
174
|
-
_context3.next =
|
|
182
|
+
_context3.next = 14;
|
|
175
183
|
return crypto.subtle.digest("SHA-256", rowner);
|
|
176
|
-
case
|
|
184
|
+
case 14:
|
|
177
185
|
_context3.t1 = _context3.sent;
|
|
178
186
|
hashBuffer = _context3.t0.from.call(_context3.t0, _context3.t1);
|
|
179
187
|
owner = _base64url["default"].encode(hashBuffer);
|
|
188
|
+
this.mem.addrmap[owner] = di.owner;
|
|
180
189
|
data = di.data;
|
|
181
190
|
try {
|
|
182
191
|
data = _base64url["default"].decode(di.data);
|
|
183
192
|
} catch (e) {}
|
|
184
193
|
_item = {
|
|
194
|
+
_data: {
|
|
195
|
+
size: data_size,
|
|
196
|
+
type: data_type
|
|
197
|
+
},
|
|
198
|
+
anchor: di.anchor,
|
|
199
|
+
signature: di.signature,
|
|
185
200
|
recipient: di.target,
|
|
186
201
|
id: item.id,
|
|
187
202
|
item: di,
|
|
@@ -190,11 +205,11 @@ var AR = /*#__PURE__*/function (_MAR) {
|
|
|
190
205
|
data: data
|
|
191
206
|
};
|
|
192
207
|
this.mem.txs[item.id] = _item;
|
|
193
|
-
_context3.next =
|
|
208
|
+
_context3.next = 24;
|
|
194
209
|
return this.postTx(tx, jwk, _item);
|
|
195
|
-
case
|
|
210
|
+
case 24:
|
|
196
211
|
return _context3.abrupt("return", _context3.sent);
|
|
197
|
-
case
|
|
212
|
+
case 25:
|
|
198
213
|
case "end":
|
|
199
214
|
return _context3.stop();
|
|
200
215
|
}
|
|
@@ -209,7 +224,7 @@ var AR = /*#__PURE__*/function (_MAR) {
|
|
|
209
224
|
key: "postTx",
|
|
210
225
|
value: function () {
|
|
211
226
|
var _postTx = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(tx, jwk, item) {
|
|
212
|
-
var res, err, _last, block;
|
|
227
|
+
var res, err, _last, block, data_type, _iterator3, _step3, v, owner;
|
|
213
228
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
214
229
|
while (1) switch (_context4.prev = _context4.next) {
|
|
215
230
|
case 0:
|
|
@@ -228,19 +243,40 @@ var AR = /*#__PURE__*/function (_MAR) {
|
|
|
228
243
|
if (!item.id) {
|
|
229
244
|
item.id = tx.id;
|
|
230
245
|
this.mem.txs[item.id] = item;
|
|
231
|
-
this.mem.txs[item.id].parent =
|
|
232
|
-
|
|
246
|
+
this.mem.txs[item.id].parent = null;
|
|
247
|
+
this.mem.txs[item.id].signature = tx.signature;
|
|
248
|
+
this.mem.txs[item.id].anchor = tx.last_tx;
|
|
249
|
+
data_type = "";
|
|
250
|
+
_iterator3 = _createForOfIteratorHelper(tx.tags);
|
|
251
|
+
try {
|
|
252
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
253
|
+
v = _step3.value;
|
|
254
|
+
if (v.get("name", {
|
|
255
|
+
decode: true,
|
|
256
|
+
string: true
|
|
257
|
+
}) === "Content-Type") {
|
|
258
|
+
data_type = v.get("value", {
|
|
259
|
+
decode: true,
|
|
260
|
+
string: true
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
} catch (err) {
|
|
265
|
+
_iterator3.e(err);
|
|
266
|
+
} finally {
|
|
267
|
+
_iterator3.f();
|
|
268
|
+
}
|
|
269
|
+
this.mem.txs[item.id]._data = {
|
|
270
|
+
size: tx.data_size,
|
|
271
|
+
type: data_type
|
|
233
272
|
};
|
|
234
273
|
} else {
|
|
235
274
|
this.mem.txs[item.id].parent = {
|
|
236
|
-
id:
|
|
275
|
+
id: block.id
|
|
237
276
|
};
|
|
238
277
|
}
|
|
239
278
|
block.txs = [item.id];
|
|
240
279
|
this.mem.txs[item.id].block = block.id;
|
|
241
|
-
this.mem.txs[item.id].parent = {
|
|
242
|
-
id: block.id
|
|
243
|
-
};
|
|
244
280
|
this.mem.blocks.push(block.id);
|
|
245
281
|
this.mem.blockmap[block.id] = block;
|
|
246
282
|
}
|
|
@@ -249,12 +285,17 @@ var AR = /*#__PURE__*/function (_MAR) {
|
|
|
249
285
|
status: 200,
|
|
250
286
|
statusText: "200"
|
|
251
287
|
};
|
|
288
|
+
_context4.next = 7;
|
|
289
|
+
return this.arweave.wallets.jwkToAddress(jwk);
|
|
290
|
+
case 7:
|
|
291
|
+
owner = _context4.sent;
|
|
292
|
+
this.mem.addrmap[owner] = jwk.n;
|
|
252
293
|
return _context4.abrupt("return", {
|
|
253
294
|
res: res,
|
|
254
295
|
err: err,
|
|
255
296
|
id: tx.id
|
|
256
297
|
});
|
|
257
|
-
case
|
|
298
|
+
case 10:
|
|
258
299
|
case "end":
|
|
259
300
|
return _context4.stop();
|
|
260
301
|
}
|
package/cjs/tgql.js
CHANGED
|
@@ -348,27 +348,27 @@ var GQL = exports["default"] = /*#__PURE__*/function () {
|
|
|
348
348
|
case 91:
|
|
349
349
|
_tx = _objectSpread(_objectSpread({
|
|
350
350
|
cursor: tx.id
|
|
351
|
-
}, tx), {}, {
|
|
351
|
+
}, tx), {}, _defineProperty({
|
|
352
|
+
data: tx._data,
|
|
352
353
|
block: (0, _ramda.pick)(["id", "timestamp", "height", "previous"], block),
|
|
353
354
|
anchor: (_tx$anchor = tx.anchor) !== null && _tx$anchor !== void 0 ? _tx$anchor : "",
|
|
354
355
|
signature: (_tx$signature = tx.signature) !== null && _tx$signature !== void 0 ? _tx$signature : "",
|
|
355
356
|
owner: {
|
|
356
357
|
address: tx.owner,
|
|
357
|
-
key:
|
|
358
|
+
key: this.mem.addrmap[tx.owner]
|
|
358
359
|
},
|
|
359
360
|
fee: {
|
|
360
|
-
ar: 0,
|
|
361
|
-
winston: 0
|
|
361
|
+
ar: "0",
|
|
362
|
+
winston: "0"
|
|
362
363
|
},
|
|
363
364
|
quantity: {
|
|
364
|
-
ar: 0,
|
|
365
|
-
winston: 0
|
|
366
|
-
},
|
|
367
|
-
data: {
|
|
368
|
-
size: 0,
|
|
369
|
-
type: ""
|
|
365
|
+
ar: "0",
|
|
366
|
+
winston: "0"
|
|
370
367
|
}
|
|
371
|
-
}
|
|
368
|
+
}, "data", {
|
|
369
|
+
size: "0",
|
|
370
|
+
type: ""
|
|
371
|
+
}));
|
|
372
372
|
if (!(0, _ramda.isNil)(opt.fields)) {
|
|
373
373
|
_tx2 = {
|
|
374
374
|
cursor: tx.id
|
package/esm/.cache/opt.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"ar":{"port":4000},"jwk":{"kty":"RSA","n":"
|
|
1
|
+
{"ar":{"port":4000},"jwk":{"kty":"RSA","n":"tBba3N1KKiDvu4TnAd_lhYDBXs0QrLH4Hgd6mHTeovFvZDLZHlNukT9SXeHx1_58hQWtcIPvS6F9tASdpMREKMVkG9hb6nMXtUCkTJE7PURvqeJf5VGJt9rUBtYaaJ_8eVJ3w98_RqUR0k0rYsYcJqiFFYaSFG2mIbyP7lBSUifF0dsOI1j1IRlvhZ02BOD7LJpwycX-fsXq7DAbpC6ywkuQ0EU830f3DefhfCQRRreZiKKNHRVvKhe9Z8LTjtMWHcAotg5-lLWLVUT1fO5tUnVwcJ_fGGFtLC1RGjryGg2ZOykktpDuALvZrZd3psIGQPnpuF75QYTVSbiadCK_JOelt8xcwIUphYAeWJQ6BNBmA8afPvVhS6rma0zp30ChXLQJEgtRWm9FpI-DQaM9PPcDlupsDFmmBtZGj0fLSTcpf00i0gpoDVJWcBVrd5aBiks0rRNUWRgWHadWBfBskUCrA1DG99seZOKKL9qLIknK3c6cTO068JegbwAW51eEH-etaoAvZ5mmyIB7LHKEomOQjeobek5_7OChwA66cS882gbFc3CfX0QdQRWWrNJ84hm3_xgHG6VjQOWNTh751WrVe4PnlLPvqKt8u2It4ZIlBxri7JklRxLL4Y1xkuV1a3gKllLVWizULPFN8Dms_7hjGSk1N3UUV3Bv_oxlRTk","e":"AQAB","d":"BQo4tAKraMdrZIhhI9yXIoFw2ybXbYXWuq-dGJ3FfbKB2nOD2QUe7Iixobf8Wf4HKeMRSggfNWYlGIy8HrILC3sOt936IIytBq3ZWBBrPUxoTzOEv7jkjXuRAH0tPjojL8zR79ThHMIeeamFA9DyIiQINj4blRL5s140E8hpE8Ye-dls3JD73aIsTIVF6Qs-bEg8Mzr-_TkSJh8CJW07JBRHG4g8hMeRgr2d28JxcbtOQpRaz6Woat_am9Th5J1ETeI-IW40nUcBY1cFNpEm1RTW6Af8j3gDVqYQ0koBBlKhtBXZyOEAdo7-fHNNoW7_pTTfrudVh9ktIOpXxDuutR0tL57GPvq-GQHJM_wUyYJKPNI3LUzm0HK9W6UFjvCPmHqofw_PT8lgGswwY1isB9TLkuMOv_rcc7a2y2TtjxlHOuIkQXeNdhvcEX_aBUCzvhmWwKR3_MgFaUDCT5ax1leBtnC7ZdWroJSnvF-jGNn8yZqIs8i5llarkc4Ll-3TBwt7bTb4bFcYpWNhTWrIInw1fxQ2fbATGWgWGU-VH8urk8AxPCT4k3Oa3COacQcS_87BaEA8itddp3-rBYSXFVKR2J91_O5lzX65T-y646-oZmcJtSNax5l9_9ceakzTt861zNm9990kUcJ5YJI2w3hVmls-hQh-8lRX9U9RQns","p":"2af2yCQkk8zUNyAHxsnbfhRW2FIPB9poJsqQaxeqza05vyBqbQTnwOUdbFC4fkmMp-9YPAFMP9qcZEIenAcww3hMES9MKJiU3LvFlJ6Fm14HccigfcD9Tt8HED-8fxG-UqGj31N2BWkXbhX6V81SFDAc3DstlKc19Q2ls1RRkY-gn4kMBSQAQd-lsyMPfSIbQj5_iyXIWvkj7tnGoGKRXAzb_d3U00YVpQ4dxXZxEVO5FZnq3pUiYwZP08A5eAdQRsOI0wXWQikNRu2vplm98PToayfmvoWvPrLTJD8E2LpldD-m4eUL4GABjgeOII4t3WRiSmZSAK7aq4rvLxYoxw","q":"09CrtV1BO5CfYSq7w2gKEr-s5UHSxscr4TTbCdoG0XwiwPYX5N963LtswhS-rZaIrdoSPDyvNdTTrY9nHuV-KD8LbjU1CY7rzcA33Wv3QP-HEvoJmCdVB3tjKrW0ypx9hBNKTgjxq0u3-CS6sya1MHLZft0ijXBy5dzguA3OphhxXVHtgbJ2jd3DgjJbj7yocPrye2HMVhkputetYKjjcNg5BlMW6oTDUnFzVpO-bN2qPmOkzqCKPN1Cu8a-6_RcWUuqH5RgfxnL6ApM5ZMQztT3jrR64afZOYeDhz2po24uVcB48o_pl3qzlsKWW3whP2lBaKw23kwNf7i8jmch_w","dp":"b0VPBEJ18JlmZEgbsaTAcVQ0kaJhzMH7PNmRuy3-Q-eq_eq0fcdkM1juEdGyf91Z6wCROxvuvzYjfZ3PyDRk2YlGWgK0DIz0jWPxPmlMJIGNjL3kTmW7GfcqxUPQOaX4hoXcIO-qBloTgFP8B6cPrwJpvq0CQFy7WOwBKgyRJrkmhGirnHUrLIIJU-s4n-Avz03kJl7KbrevhwwOXzAE3-ozDTW698d8iUUOM0S5yQHkPQbS67eSPM2dQcOjnZkfkQ2lhTwWrPwPrZMVmRWH5QdPSni7ner6DDOffYg6EhI4i5V-2z0dNTffk5yJLFuDVwtatG5avb6mS8xbOtc5QQ","dq":"Q8Foa-ecylUE5qwoy-Un879kqyFXL0be_ndN6eTYcYJoC5mtIwVp49oAfETuidCxgAtV8fbnhSzDWa2ZqwR2SqGAIozanmgdff-S3z1-JkiXCLb7ArTyOiZ6HltprbZJYEpbZoLt64GZI8N8BXrIUusqL67FMsFZv7XcHIQuKmt_N_7RHr_btJ3PwIIjT-Nlbl6X2mf6WUBLXP1I9LaRqrM_6ooBtpspb-Hipzszmtd9cd-mBILONZIBmteEky3jrJzLmrZ397BkzaEd4AIfSkpNtlR9SlnK3uA-brCG50SDheK_zbfDXTVe5UbxmeonKIWe6sDL_GgPmV-a0WKkOQ","qi":"ri8WWvi1zib1qNyqXjFvsqi3AdgmH-QFt_cnx4F8vyeEd-4VPP9Ne6I-cr6-BtYJbfZSkpuBY9G7RLnRHnyY9nlbBPyP9mdJiBgs8f5-__2_pKhO5pvzRPCU-N-YLQH0NAKIYlSfWarObe84SW5Ds0OUb46WuoRGDqrLIokt2HxFi6uA_ZzuEvdmxZk9HWRRaPiKCif3uJfZtJ3_4WxpFvw-IYY3p8m3nt9qdU8EPhiZBEKdYdyAkHN6bIN9GbpUpUbEwYJXTCtqOgG4nuiWl8HWijk7QgcEO1gRG-pt4HzzFTa01BBIxdbelBii35uUoUVzco3dntUghotXOMGeCg"},"ao":{"module":"nrwqdbTzLYTALBkzLv9HwmF97b0eoGvlT3YwfJnyOjY","scheduler":"FKtGpY1kBbr8hBIocph3nMvadgBSQtQBTYnlAJetrDU","aoconnect":{"MU_URL":"http://localhost:4002","CU_URL":"http://localhost:4004","GATEWAY_URL":"http://localhost:4000"},"ar":{"port":4000},"authority":"7WspynohDWhx3_Q37pzHmDGStf2T_p8ghdk_XTSUm8s"},"ao2":{"module":"9Xx6YzV2-giIaD8b9HTewr0FxRjugwm5FCuaQU-kJvI","scheduler":"FKtGpY1kBbr8hBIocph3nMvadgBSQtQBTYnlAJetrDU","aoconnect":{"MU_URL":"http://localhost:4002","CU_URL":"http://localhost:4004","GATEWAY_URL":"http://localhost:4000"},"ar":{"port":4000},"authority":"7WspynohDWhx3_Q37pzHmDGStf2T_p8ghdk_XTSUm8s"},"authority":"7WspynohDWhx3_Q37pzHmDGStf2T_p8ghdk_XTSUm8s","targets":{"profile":false,"note":false,"asset":false},"modules":{"aos2":"9Xx6YzV2-giIaD8b9HTewr0FxRjugwm5FCuaQU-kJvI","aos1":"MSCReWoRQ3w3JmPvbsTvPFnJrdzPym0F61cdBGEsBgs","sqlite":"nrwqdbTzLYTALBkzLv9HwmF97b0eoGvlT3YwfJnyOjY"}}
|
package/esm/aoconnect.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { DataItem } from "warp-arbundles"
|
|
2
|
+
import crypto from "crypto"
|
|
2
3
|
import base64url from "base64url"
|
|
4
|
+
|
|
3
5
|
import {
|
|
4
6
|
tags,
|
|
5
7
|
action,
|
|
@@ -121,6 +123,18 @@ export const connect = mem => {
|
|
|
121
123
|
mem.modmap[mod] = { handle, id: mod }
|
|
122
124
|
}
|
|
123
125
|
if (!mod) throw Error("module not found")
|
|
126
|
+
opt.tags = buildTags(
|
|
127
|
+
null,
|
|
128
|
+
mergeLeft(tags(opt.tags ?? []), {
|
|
129
|
+
"Data-Protocol": "ao",
|
|
130
|
+
Variant: "ao.TN.1",
|
|
131
|
+
Type: "Process",
|
|
132
|
+
SDK: "aoconnect",
|
|
133
|
+
Module: opt.module,
|
|
134
|
+
Scheduler: opt.scheduler,
|
|
135
|
+
"Content-Type": "text/plain",
|
|
136
|
+
}),
|
|
137
|
+
)
|
|
124
138
|
const _module = mem.modmap[mod]
|
|
125
139
|
let ex = false
|
|
126
140
|
opt.tags ??= []
|
|
@@ -137,8 +151,10 @@ export const connect = mem => {
|
|
|
137
151
|
let memory = null
|
|
138
152
|
let p = {
|
|
139
153
|
id: id,
|
|
154
|
+
epochs: [],
|
|
140
155
|
handle: _module.handle,
|
|
141
156
|
module: _module.id,
|
|
157
|
+
hash: id,
|
|
142
158
|
memory,
|
|
143
159
|
owner,
|
|
144
160
|
height: 0,
|
|
@@ -207,62 +223,38 @@ export const connect = mem => {
|
|
|
207
223
|
return id
|
|
208
224
|
}
|
|
209
225
|
|
|
210
|
-
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
signer: _opt.signer,
|
|
216
|
-
tags: tags(_opt.tags),
|
|
217
|
-
target: opt.process,
|
|
218
|
-
})
|
|
219
|
-
await ar.postItem(item, su.jwk)
|
|
220
|
-
try {
|
|
221
|
-
const msg = genMsg(
|
|
222
|
-
p,
|
|
223
|
-
_opt.data ?? "",
|
|
224
|
-
_opt.tags,
|
|
225
|
-
_opt.from ?? owner,
|
|
226
|
-
mu.addr,
|
|
227
|
-
)
|
|
228
|
-
const _env = genEnv({
|
|
229
|
-
pid: p.id,
|
|
230
|
-
owner: p.owner,
|
|
231
|
-
module: p.module,
|
|
232
|
-
auth: mu.addr,
|
|
233
|
-
})
|
|
234
|
-
const res = await p.handle(p.memory, msg, _env)
|
|
235
|
-
p.memory = res.Memory
|
|
236
|
-
delete res.Memory
|
|
237
|
-
p.res[id] = res
|
|
238
|
-
p.results.push(id)
|
|
239
|
-
p.txs.unshift({ id: id, ..._opt })
|
|
240
|
-
mem.msgs[id] = _opt
|
|
241
|
-
for (const v of res.Messages ?? []) {
|
|
242
|
-
if (mem.env[v.Target]) {
|
|
243
|
-
await message({
|
|
244
|
-
process: v.Target,
|
|
245
|
-
tags: v.Tags,
|
|
246
|
-
data: v.Data,
|
|
247
|
-
signer: mu.signer,
|
|
248
|
-
from: opt.process,
|
|
249
|
-
})
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
return id
|
|
253
|
-
} catch (e) {
|
|
254
|
-
console.log(e)
|
|
226
|
+
function genHashChain(previousHash, previousMessageId = null) {
|
|
227
|
+
const hasher = crypto.createHash("sha256")
|
|
228
|
+
hasher.update(Buffer.from(previousHash, "base64url"))
|
|
229
|
+
if (previousMessageId) {
|
|
230
|
+
hasher.update(Buffer.from(previousMessageId, "base64url"))
|
|
255
231
|
}
|
|
256
|
-
return
|
|
232
|
+
return base64url(hasher.digest())
|
|
257
233
|
}
|
|
258
234
|
|
|
259
|
-
const
|
|
235
|
+
const assign = async opt => {
|
|
260
236
|
const p = mem.env[opt.process]
|
|
261
|
-
let
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
237
|
+
let _opt = mem.msgs[opt.message]
|
|
238
|
+
let hash = genHashChain(p.hash, opt.message)
|
|
239
|
+
p.hash = hash
|
|
240
|
+
opt.tags = buildTags(
|
|
241
|
+
null,
|
|
242
|
+
mergeLeft(tags(opt.tags ?? []), {
|
|
243
|
+
Timestamp: Date.now(),
|
|
244
|
+
Epoch: p.epochs.length,
|
|
245
|
+
Nonce: "0",
|
|
246
|
+
"Data-Protocol": "ao",
|
|
247
|
+
Variant: "ao.TN.1",
|
|
248
|
+
SDK: "aoconnect",
|
|
249
|
+
Type: "Assignment",
|
|
250
|
+
"Block-Height": mem.height,
|
|
251
|
+
Process: opt.process,
|
|
252
|
+
Message: opt.message,
|
|
253
|
+
"Hash-Chain": hash,
|
|
254
|
+
}),
|
|
255
|
+
)
|
|
256
|
+
p.epochs.push([opt.id])
|
|
257
|
+
const { id, owner, item } = await ar.dataitem({
|
|
266
258
|
data: opt.data,
|
|
267
259
|
signer: opt.signer,
|
|
268
260
|
tags: tags(opt.tags),
|
|
@@ -272,9 +264,9 @@ export const connect = mem => {
|
|
|
272
264
|
try {
|
|
273
265
|
const msg = genMsg(
|
|
274
266
|
p,
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
opt.from ?? owner,
|
|
267
|
+
_opt.data ?? "",
|
|
268
|
+
_opt.tags,
|
|
269
|
+
_opt.from ?? opt.from ?? owner,
|
|
278
270
|
mu.addr,
|
|
279
271
|
)
|
|
280
272
|
const _env = genEnv({
|
|
@@ -286,10 +278,10 @@ export const connect = mem => {
|
|
|
286
278
|
const res = await p.handle(p.memory, msg, _env)
|
|
287
279
|
p.memory = res.Memory
|
|
288
280
|
delete res.Memory
|
|
289
|
-
p.res[
|
|
290
|
-
p.results.push(
|
|
291
|
-
p.txs.unshift({ id:
|
|
292
|
-
mem.msgs[
|
|
281
|
+
p.res[opt.message] = res
|
|
282
|
+
p.results.push(opt.message)
|
|
283
|
+
p.txs.unshift({ id: opt.message, ...opt })
|
|
284
|
+
mem.msgs[opt.message] = _opt
|
|
293
285
|
for (const v of res.Messages ?? []) {
|
|
294
286
|
if (mem.env[v.Target]) {
|
|
295
287
|
await message({
|
|
@@ -322,6 +314,7 @@ export const connect = mem => {
|
|
|
322
314
|
})
|
|
323
315
|
}
|
|
324
316
|
}
|
|
317
|
+
|
|
325
318
|
return id
|
|
326
319
|
} catch (e) {
|
|
327
320
|
console.log(e)
|
|
@@ -329,6 +322,36 @@ export const connect = mem => {
|
|
|
329
322
|
return null
|
|
330
323
|
}
|
|
331
324
|
|
|
325
|
+
const message = async opt => {
|
|
326
|
+
const p = mem.env[opt.process]
|
|
327
|
+
let ex = false
|
|
328
|
+
for (let v of opt.tags) if (v.name === "Type") ex = true
|
|
329
|
+
opt.tags = buildTags(
|
|
330
|
+
null,
|
|
331
|
+
mergeLeft(tags(opt.tags ?? []), {
|
|
332
|
+
"Data-Protocol": "ao",
|
|
333
|
+
Variant: "ao.TN.1",
|
|
334
|
+
Type: "Message",
|
|
335
|
+
SDK: "aoconnect",
|
|
336
|
+
}),
|
|
337
|
+
)
|
|
338
|
+
const { item, id, owner } = await ar.dataitem({
|
|
339
|
+
data: opt.data,
|
|
340
|
+
signer: opt.signer,
|
|
341
|
+
tags: tags(opt.tags),
|
|
342
|
+
target: opt.process,
|
|
343
|
+
})
|
|
344
|
+
await ar.postItem(item, su.jwk)
|
|
345
|
+
mem.msgs[id] = opt
|
|
346
|
+
await assign({
|
|
347
|
+
message: id,
|
|
348
|
+
process: opt.process,
|
|
349
|
+
from: owner,
|
|
350
|
+
signer: mu.signer,
|
|
351
|
+
})
|
|
352
|
+
return id
|
|
353
|
+
}
|
|
354
|
+
|
|
332
355
|
return {
|
|
333
356
|
message,
|
|
334
357
|
unmonitor: async opt => {
|
package/esm/armem.js
CHANGED
package/esm/tar.js
CHANGED
|
@@ -30,11 +30,13 @@ class AR extends MAR {
|
|
|
30
30
|
let tx = await this.arweave.createTransaction({ data: data })
|
|
31
31
|
let _tags = buildTags(null, tags)
|
|
32
32
|
for (const v of _tags) tx.addTag(v.name, v.value)
|
|
33
|
+
const owner = await this.arweave.wallets.jwkToAddress(jwk)
|
|
34
|
+
this.mem.addrmap[owner] = jwk.n
|
|
33
35
|
return await this.postTx(tx, jwk, {
|
|
34
36
|
recipient: "",
|
|
35
37
|
tags: _tags,
|
|
36
38
|
data,
|
|
37
|
-
owner
|
|
39
|
+
owner,
|
|
38
40
|
})
|
|
39
41
|
}
|
|
40
42
|
|
|
@@ -43,16 +45,23 @@ class AR extends MAR {
|
|
|
43
45
|
tx.addTag("Bundle-Format", "binary")
|
|
44
46
|
tx.addTag("Bundle-Version", "2.0.0")
|
|
45
47
|
const di = new DataItem(item.raw)
|
|
48
|
+
const data_size = Buffer.byteLength(di.rawData).toString()
|
|
49
|
+
let data_type = ""
|
|
50
|
+
for (const t of di.tags) if (t.name === "Content-Type") data_type = t.value
|
|
46
51
|
const rowner = di.rawOwner
|
|
47
52
|
const hashBuffer = Buffer.from(
|
|
48
53
|
await crypto.subtle.digest("SHA-256", rowner),
|
|
49
54
|
)
|
|
50
55
|
const owner = base64url.encode(hashBuffer)
|
|
56
|
+
this.mem.addrmap[owner] = di.owner
|
|
51
57
|
let data = di.data
|
|
52
58
|
try {
|
|
53
59
|
data = base64url.decode(di.data)
|
|
54
60
|
} catch (e) {}
|
|
55
61
|
let _item = {
|
|
62
|
+
_data: { size: data_size, type: data_type },
|
|
63
|
+
anchor: di.anchor,
|
|
64
|
+
signature: di.signature,
|
|
56
65
|
recipient: di.target,
|
|
57
66
|
id: item.id,
|
|
58
67
|
item: di,
|
|
@@ -69,28 +78,38 @@ class AR extends MAR {
|
|
|
69
78
|
await this.mem.arweave.transactions.sign(tx, jwk)
|
|
70
79
|
if (item) {
|
|
71
80
|
this.mem.height += 1
|
|
72
|
-
|
|
73
81
|
const block = {
|
|
74
82
|
id: tx.id,
|
|
75
83
|
timestamp: Date.now(),
|
|
76
84
|
height: this.mem.height,
|
|
77
85
|
previous: last(this.mem.blocks) ?? "",
|
|
78
86
|
}
|
|
79
|
-
|
|
80
87
|
if (!item.id) {
|
|
81
88
|
item.id = tx.id
|
|
82
89
|
this.mem.txs[item.id] = item
|
|
83
|
-
this.mem.txs[item.id].parent =
|
|
90
|
+
this.mem.txs[item.id].parent = null
|
|
91
|
+
this.mem.txs[item.id].signature = tx.signature
|
|
92
|
+
this.mem.txs[item.id].anchor = tx.last_tx
|
|
93
|
+
let data_type = ""
|
|
94
|
+
for (const v of tx.tags) {
|
|
95
|
+
if (
|
|
96
|
+
v.get("name", { decode: true, string: true }) === "Content-Type"
|
|
97
|
+
) {
|
|
98
|
+
data_type = v.get("value", { decode: true, string: true })
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
this.mem.txs[item.id]._data = { size: tx.data_size, type: data_type }
|
|
84
102
|
} else {
|
|
85
|
-
this.mem.txs[item.id].parent = { id:
|
|
103
|
+
this.mem.txs[item.id].parent = { id: block.id }
|
|
86
104
|
}
|
|
87
105
|
block.txs = [item.id]
|
|
88
106
|
this.mem.txs[item.id].block = block.id
|
|
89
|
-
this.mem.txs[item.id].parent = { id: block.id }
|
|
90
107
|
this.mem.blocks.push(block.id)
|
|
91
108
|
this.mem.blockmap[block.id] = block
|
|
92
109
|
}
|
|
93
110
|
res = { id: tx.id, status: 200, statusText: "200" }
|
|
111
|
+
const owner = await this.arweave.wallets.jwkToAddress(jwk)
|
|
112
|
+
this.mem.addrmap[owner] = jwk.n
|
|
94
113
|
return { res, err, id: tx.id }
|
|
95
114
|
}
|
|
96
115
|
|
package/esm/tgql.js
CHANGED
|
@@ -127,13 +127,14 @@ export default class GQL {
|
|
|
127
127
|
let _tx = {
|
|
128
128
|
cursor: tx.id,
|
|
129
129
|
...tx,
|
|
130
|
+
data: tx._data,
|
|
130
131
|
block: pick(["id", "timestamp", "height", "previous"], block),
|
|
131
132
|
anchor: tx.anchor ?? "",
|
|
132
133
|
signature: tx.signature ?? "",
|
|
133
|
-
owner: { address: tx.owner, key:
|
|
134
|
-
fee: { ar: 0, winston: 0 },
|
|
135
|
-
quantity: { ar: 0, winston: 0 },
|
|
136
|
-
data: { size: 0, type: "" },
|
|
134
|
+
owner: { address: tx.owner, key: this.mem.addrmap[tx.owner] },
|
|
135
|
+
fee: { ar: "0", winston: "0" },
|
|
136
|
+
quantity: { ar: "0", winston: "0" },
|
|
137
|
+
data: { size: "0", type: "" },
|
|
137
138
|
}
|
|
138
139
|
if (!isNil(opt.fields)) {
|
|
139
140
|
let _tx2 = { cursor: tx.id }
|