wao 0.6.0 → 0.6.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 CHANGED
@@ -38,9 +38,12 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
38
38
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
39
39
  var pkg = (_WarpArBundles$defaul = WarpArBundles["default"]) !== null && _WarpArBundles$defaul !== void 0 ? _WarpArBundles$defaul : WarpArBundles;
40
40
  var DataItem = pkg.DataItem;
41
- var connect = exports.connect = function connect(mem) {
41
+ var connect = exports.connect = function connect(mem, _ref) {
42
42
  var _mem;
43
- var log = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
43
+ var _ref$log = _ref.log,
44
+ log = _ref$log === void 0 ? false : _ref$log,
45
+ _ref$extensions = _ref.extensions,
46
+ extensions = _ref$extensions === void 0 ? {} : _ref$extensions;
44
47
  var isMem = ((_mem = mem) === null || _mem === void 0 ? void 0 : _mem.__type__) === "mem";
45
48
  if (!isMem) {
46
49
  var _mem2;
@@ -55,17 +58,18 @@ var connect = exports.connect = function connect(mem) {
55
58
  mem: mem,
56
59
  log: log
57
60
  });
58
- var WeaveDrive = new _weavedrive["default"](ar).drive;
61
+ for (var k in extensions) extensions[k] = new extensions[k](ar).ext;
62
+ extensions.WeaveDrive = new _weavedrive["default"](ar).ext;
59
63
  var transform = function transform(input) {
60
64
  var _input$Tags;
61
65
  var output = {
62
66
  Tags: []
63
67
  };
64
68
  if (input.Data) output.Data = input.Data;
65
- Object.entries(input).forEach(function (_ref) {
66
- var _ref2 = _slicedToArray(_ref, 2),
67
- key = _ref2[0],
68
- value = _ref2[1];
69
+ Object.entries(input).forEach(function (_ref2) {
70
+ var _ref3 = _slicedToArray(_ref2, 2),
71
+ key = _ref3[0],
72
+ value = _ref3[1];
69
73
  if (key !== "Data" && key !== "Tags" && typeof value === "string") {
70
74
  output.Tags.push({
71
75
  name: key,
@@ -101,14 +105,14 @@ var connect = exports.connect = function connect(mem) {
101
105
  Tags: Tags !== null && Tags !== void 0 && Tags.length ? Tags : []
102
106
  };
103
107
  };
104
- var genEnv = function genEnv(_ref3) {
105
- var pid = _ref3.pid,
106
- _ref3$owner = _ref3.owner,
107
- owner = _ref3$owner === void 0 ? "" : _ref3$owner,
108
- _ref3$module = _ref3.module,
109
- module = _ref3$module === void 0 ? "" : _ref3$module,
110
- _ref3$auth = _ref3.auth,
111
- auth = _ref3$auth === void 0 ? "" : _ref3$auth;
108
+ var genEnv = function genEnv(_ref4) {
109
+ var pid = _ref4.pid,
110
+ _ref4$owner = _ref4.owner,
111
+ owner = _ref4$owner === void 0 ? "" : _ref4$owner,
112
+ _ref4$module = _ref4.module,
113
+ module = _ref4$module === void 0 ? "" : _ref4$module,
114
+ _ref4$auth = _ref4.auth,
115
+ auth = _ref4$auth === void 0 ? "" : _ref4$auth;
112
116
  return {
113
117
  Process: {
114
118
  Id: pid,
@@ -143,7 +147,7 @@ var connect = exports.connect = function connect(mem) {
143
147
  };
144
148
  };
145
149
  var spawn = /*#__PURE__*/function () {
146
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
150
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
147
151
  var _opt$module, _mem$wasms$mod, _format, _opt$tags, _opt$tags2;
148
152
  var opt,
149
153
  mod,
@@ -162,6 +166,7 @@ var connect = exports.connect = function connect(mem) {
162
166
  item,
163
167
  __tags,
164
168
  now,
169
+ t,
165
170
  handle,
166
171
  _tags,
167
172
  res,
@@ -180,7 +185,7 @@ var connect = exports.connect = function connect(mem) {
180
185
  unit,
181
186
  _int,
182
187
  cronTags,
183
- k,
188
+ _k,
184
189
  _args = arguments;
185
190
  return _regeneratorRuntime().wrap(function _callee$(_context) {
186
191
  while (1) switch (_context.prev = _context.next) {
@@ -269,15 +274,16 @@ var connect = exports.connect = function connect(mem) {
269
274
  return ar.postItems(item, _test.su.jwk);
270
275
  case 33:
271
276
  now = Date.now;
272
- _context.next = 36;
277
+ t = (0, _utils.tags)(opt.tags);
278
+ _context.next = 37;
273
279
  return (0, _aoLoader["default"])(wasm, {
274
280
  format: format,
275
- WeaveDrive: WeaveDrive,
281
+ WeaveDrive: extensions[t.Extension],
276
282
  spawn: item,
277
283
  module: mem.txs[mod],
278
284
  blockHeight: "100"
279
285
  });
280
- case 36:
286
+ case 37:
281
287
  handle = _context.sent;
282
288
  _module = {
283
289
  handle: handle,
@@ -302,7 +308,7 @@ var connect = exports.connect = function connect(mem) {
302
308
  opt: opt
303
309
  };
304
310
  if (!(_tags["On-Boot"] || true)) {
305
- _context.next = 57;
311
+ _context.next = 58;
306
312
  break;
307
313
  }
308
314
  data = "";
@@ -315,72 +321,72 @@ var connect = exports.connect = function connect(mem) {
315
321
  auth: _test.mu.addr
316
322
  });
317
323
  _t = (0, _utils.tags)(msg.Tags);
318
- _context.next = 51;
324
+ _context.next = 52;
319
325
  return _module.handle(null, msg, _env);
320
- case 51:
326
+ case 52:
321
327
  res = _context.sent;
322
328
  p.memory = res.Memory;
323
329
  delete res.Memory;
324
330
  p.res[id] = res;
325
- _context.next = 58;
331
+ _context.next = 59;
326
332
  break;
327
- case 57:
328
- p.height += 1;
329
333
  case 58:
334
+ p.height += 1;
335
+ case 59:
330
336
  mem.msgs[id] = opt;
331
337
  mem.env[id] = p;
332
338
  if (!_tags["Cron-Interval"]) {
333
- _context.next = 84;
339
+ _context.next = 85;
334
340
  break;
335
341
  }
336
342
  _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];
337
343
  _int = 0;
338
344
  _context.t0 = unit.replace(/s$/, "");
339
- _context.next = _context.t0 === "millisecond" ? 66 : _context.t0 === "second" ? 68 : _context.t0 === "minute" ? 70 : _context.t0 === "hour" ? 72 : _context.t0 === "day" ? 74 : _context.t0 === "month" ? 76 : _context.t0 === "year" ? 78 : 80;
345
+ _context.next = _context.t0 === "millisecond" ? 67 : _context.t0 === "second" ? 69 : _context.t0 === "minute" ? 71 : _context.t0 === "hour" ? 73 : _context.t0 === "day" ? 75 : _context.t0 === "month" ? 77 : _context.t0 === "year" ? 79 : 81;
340
346
  break;
341
- case 66:
347
+ case 67:
342
348
  _int = num;
343
- return _context.abrupt("break", 80);
344
- case 68:
349
+ return _context.abrupt("break", 81);
350
+ case 69:
345
351
  _int = num * 1000;
346
- return _context.abrupt("break", 80);
347
- case 70:
352
+ return _context.abrupt("break", 81);
353
+ case 71:
348
354
  _int = num * 1000 * 60;
349
- return _context.abrupt("break", 80);
350
- case 72:
355
+ return _context.abrupt("break", 81);
356
+ case 73:
351
357
  _int = num * 1000 * 60 * 60;
352
- return _context.abrupt("break", 80);
353
- case 74:
358
+ return _context.abrupt("break", 81);
359
+ case 75:
354
360
  _int = num * 1000 * 60 * 60 * 24;
355
- return _context.abrupt("break", 80);
356
- case 76:
361
+ return _context.abrupt("break", 81);
362
+ case 77:
357
363
  _int = num * 1000 * 60 * 60 * 24 * 30;
358
- return _context.abrupt("break", 80);
359
- case 78:
364
+ return _context.abrupt("break", 81);
365
+ case 79:
360
366
  _int = num * 1000 * 60 * 60 * 24 * 365;
361
- return _context.abrupt("break", 80);
362
- case 80:
367
+ return _context.abrupt("break", 81);
368
+ case 81:
363
369
  cronTags = [];
364
- for (k in _tags) {
365
- if (/^Cron-Tag-/.test(k)) {
370
+ for (_k in _tags) {
371
+ if (/^Cron-Tag-/.test(_k)) {
366
372
  cronTags.push({
367
- name: k.replace(/Cron-Tag-/, ""),
368
- value: _tags[k]
373
+ name: _k.replace(/Cron-Tag-/, ""),
374
+ value: _tags[_k]
369
375
  });
370
376
  }
371
377
  }
372
378
  mem.env[id].cronTags = cronTags;
373
379
  mem.env[id].span = _int;
374
- case 84:
375
- return _context.abrupt("return", id);
376
380
  case 85:
381
+ return _context.abrupt("return", id);
382
+ case 86:
377
383
  case "end":
378
384
  return _context.stop();
379
385
  }
380
386
  }, _callee);
381
387
  }));
382
388
  return function spawn() {
383
- return _ref4.apply(this, arguments);
389
+ return _ref5.apply(this, arguments);
384
390
  };
385
391
  }();
386
392
  function genHashChain(previousHash) {
@@ -393,9 +399,9 @@ var connect = exports.connect = function connect(mem) {
393
399
  return (0, _base64url["default"])(hasher.digest());
394
400
  }
395
401
  var _assign = /*#__PURE__*/function () {
396
- var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opt) {
402
+ var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opt) {
397
403
  var _opt$tags3;
398
- 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;
404
+ var p, _opt, hash, _yield$ar$dataitem2, id, owner, item, _opt$data2, _ref7, _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;
399
405
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
400
406
  while (1) switch (_context2.prev = _context2.next) {
401
407
  case 0:
@@ -451,7 +457,7 @@ var connect = exports.connect = function connect(mem) {
451
457
  _context2.prev = 21;
452
458
  data = (_opt$data2 = _opt.data) !== null && _opt$data2 !== void 0 ? _opt$data2 : "";
453
459
  _tags = _opt.tags;
454
- from = (_ref6 = (_opt$from = _opt.from) !== null && _opt$from !== void 0 ? _opt$from : opt.from) !== null && _ref6 !== void 0 ? _ref6 : owner;
460
+ from = (_ref7 = (_opt$from = _opt.from) !== null && _opt$from !== void 0 ? _opt$from : opt.from) !== null && _ref7 !== void 0 ? _ref7 : owner;
455
461
  if (!_opt.item) {
456
462
  _context2.next = 42;
457
463
  break;
@@ -637,11 +643,11 @@ var connect = exports.connect = function connect(mem) {
637
643
  }, _callee2, null, [[21, 124], [26, 39], [54, 65, 68, 71], [72, 83, 86, 89], [90, 115, 118, 121], [95, 105, 108, 111]]);
638
644
  }));
639
645
  return function assign(_x) {
640
- return _ref5.apply(this, arguments);
646
+ return _ref6.apply(this, arguments);
641
647
  };
642
648
  }();
643
649
  var message = /*#__PURE__*/function () {
644
- var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opt) {
650
+ var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opt) {
645
651
  var _opt$item$id, _opt$item, _opt$owner;
646
652
  var p, ex, id, owner, item, _opt$tags4, _iterator6, _step6, v, _yield$ar$dataitem3;
647
653
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
@@ -692,7 +698,6 @@ var connect = exports.connect = function connect(mem) {
692
698
  id = _yield$ar$dataitem3.id;
693
699
  owner = _yield$ar$dataitem3.owner;
694
700
  case 17:
695
- //await ar.postItems(item, su.jwk)
696
701
  mem.msgs[id] = opt;
697
702
  _context3.next = 20;
698
703
  return _assign({
@@ -711,7 +716,7 @@ var connect = exports.connect = function connect(mem) {
711
716
  }, _callee3);
712
717
  }));
713
718
  return function message(_x2) {
714
- return _ref7.apply(this, arguments);
719
+ return _ref8.apply(this, arguments);
715
720
  };
716
721
  }();
717
722
  return {
@@ -897,12 +902,11 @@ var connect = exports.connect = function connect(mem) {
897
902
  case 12:
898
903
  _context9.prev = 12;
899
904
  cloneMemory = function cloneMemory(memory) {
900
- var buffer = memory.buffer.slice(0); // Clone the ArrayBuffer
905
+ var buffer = memory.buffer.slice(0);
901
906
  return new WebAssembly.Memory({
902
907
  initial: memory.buffer.byteLength / 65536,
903
- // Memory size in pages (64KB per page)
904
908
  maximum: memory.maximum || undefined,
905
- shared: memory.shared || false // Retain sharing if applicable
909
+ shared: memory.shared || false
906
910
  });
907
911
  };
908
912
  msg = genMsg(id, p, (_opt$data3 = opt.data) !== null && _opt$data3 !== void 0 ? _opt$data3 : "", opt.tags, owner, _test.mu.addr, true);
package/cjs/helpers.js CHANGED
@@ -10,6 +10,7 @@ var _assert = _interopRequireDefault(require("assert"));
10
10
  var _aoconnect3 = require("@permaweb/aoconnect");
11
11
  var _path = require("path");
12
12
  var _fs = require("fs");
13
+ var _utils = require("./utils.js");
13
14
  var _yargs = _interopRequireDefault(require("yargs"));
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
15
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -166,12 +167,7 @@ var Testnet = exports.Testnet = /*#__PURE__*/function () {
166
167
  this.arweave = arweave !== null && arweave !== void 0 ? arweave : {
167
168
  port: port
168
169
  };
169
- this.aoconnect = aoconnect !== null && aoconnect !== void 0 ? aoconnect : {
170
- MU_URL: "http://localhost:".concat(port + 2),
171
- SU_URL: "http://localhost:".concat(port + 3),
172
- CU_URL: "http://localhost:".concat(port + 4),
173
- GATEWAY_URL: "http://localhost:".concat(port)
174
- };
170
+ this.aoconnect = aoconnect !== null && aoconnect !== void 0 ? aoconnect : (0, _utils.optAO)(port);
175
171
  this.ar = new _index.AR(this.arweave);
176
172
  }
177
173
  return _createClass(Testnet, [{
@@ -198,7 +194,7 @@ var Testnet = exports.Testnet = /*#__PURE__*/function () {
198
194
  return this.ar.init(jwk);
199
195
  case 8:
200
196
  this.jwk = this.ar.jwk;
201
- this.addr = this.ar.a;
197
+ this.addr = this.ar.addr;
202
198
  this.gql = this.ar.gql;
203
199
  _context4.next = 13;
204
200
  return this.src.upload("aos2_0_1", "wasm");
@@ -355,11 +351,7 @@ var setup = exports.setup = /*#__PURE__*/function () {
355
351
  (_arweave = arweave) !== null && _arweave !== void 0 ? _arweave : arweave = {
356
352
  port: 4000
357
353
  };
358
- (_aoconnect = aoconnect) !== null && _aoconnect !== void 0 ? _aoconnect : aoconnect = {
359
- MU_URL: "http://localhost:4002",
360
- CU_URL: "http://localhost:4004",
361
- GATEWAY_URL: "http://localhost:4000"
362
- };
354
+ (_aoconnect = aoconnect) !== null && _aoconnect !== void 0 ? _aoconnect : aoconnect = (0, _utils.optAO)(4000);
363
355
  ar = new _index.AR(arweave);
364
356
  _context5.next = 37;
365
357
  return ar.gen("10");
@@ -0,0 +1,43 @@
1
+ local json = require("json")
2
+ function rollup (id)
3
+ local file = io.open("/rollup/" .. id)
4
+ local data = nil
5
+ if file then data = file:read(file:seek('end')) end
6
+ file:close()
7
+ return data
8
+ end
9
+
10
+ function get (col, doc)
11
+ local file = io.open("/data/" .. col .. "/" .. doc)
12
+ local data = nil
13
+ if file then data = file:read(file:seek('end')) end
14
+ file:close()
15
+ return data
16
+ end
17
+
18
+ Handlers.add(
19
+ "Rollup",
20
+ "Rollup",
21
+ function (msg)
22
+ msg.reply({ Data = "committed!" })
23
+ end
24
+ )
25
+
26
+ Handlers.add(
27
+ "Finalize",
28
+ "Finalize",
29
+ function (msg)
30
+ local data = json.decode(rollup(msg.TXID))
31
+ msg.reply({ Data = "finalized!" })
32
+ end
33
+ )
34
+
35
+
36
+ Handlers.add(
37
+ "Get",
38
+ "Get",
39
+ function (msg)
40
+ msg.reply({ Data = get(msg.col, msg.doc) })
41
+ end
42
+ )
43
+
package/cjs/server.js CHANGED
@@ -44,7 +44,9 @@ var Server = /*#__PURE__*/function () {
44
44
  _ref$log = _ref.log,
45
45
  log = _ref$log === void 0 ? false : _ref$log;
46
46
  _classCallCheck(this, Server);
47
- var _connect = (0, _aoconnect.connect)(aoconnect, log),
47
+ var _connect = (0, _aoconnect.connect)(aoconnect, {
48
+ log: log
49
+ }),
48
50
  _ar = _connect.ar,
49
51
  message = _connect.message,
50
52
  spawn = _connect.spawn,
package/cjs/tao.js CHANGED
@@ -72,7 +72,9 @@ var AO = /*#__PURE__*/function (_MAO) {
72
72
  in_memory: true
73
73
  })]);
74
74
  _this.in_memory = true;
75
- var _connect = (0, _aoconnect2.connect)(opt.mem),
75
+ var _connect = (0, _aoconnect2.connect)(opt.mem, {
76
+ extensions: opt.extensions
77
+ }),
76
78
  modules = _connect.modules,
77
79
  results = _connect.results,
78
80
  assign = _connect.assign,
package/cjs/utils.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isData = exports.isCheckComplete = exports.getTagVal = exports.getTag = exports.dirname = exports.checkTag = exports.buildTags = exports.action = void 0;
7
7
  exports.isJSON = isJSON;
8
- exports.wait = exports.validAddress = exports.udl = exports.toGraphObj = exports.tags = exports.tagEq = exports.tag = exports.srcs = exports.searchTag = exports.mergeOut = exports.mergeChecks = exports.ltags = exports.jsonToStr = exports.isRegExp = exports.isOutComplete = exports.isLocalhost = void 0;
8
+ exports.wait = exports.validAddress = exports.udl = exports.toGraphObj = exports.tags = exports.tagEq = exports.tag = exports.srcs = exports.searchTag = exports.optServer = exports.optAO = exports.mergeOut = exports.mergeChecks = exports.ltags = exports.jsonToStr = exports.isRegExp = exports.isOutComplete = exports.isLocalhost = void 0;
9
9
  var _graphql = require("graphql");
10
10
  var _ramda = require("ramda");
11
11
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -595,4 +595,20 @@ var toGraphObj = exports.toGraphObj = function toGraphObj(_ref12) {
595
595
  tar: tar,
596
596
  args: args
597
597
  };
598
+ };
599
+ var optAO = exports.optAO = function optAO(port) {
600
+ return {
601
+ MU_URL: "http://localhost:".concat(port + 2),
602
+ SU_URL: "http://localhost:".concat(port + 3),
603
+ CU_URL: "http://localhost:".concat(port + 4),
604
+ GATEWAY_URL: "http://localhost:".concat(port)
605
+ };
606
+ };
607
+ var optServer = exports.optServer = function optServer(port) {
608
+ return {
609
+ ar: port,
610
+ mu: port + 2,
611
+ su: port + 3,
612
+ cu: port + 4
613
+ };
598
614
  };