wao 0.1.4 → 0.1.6

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 (40) hide show
  1. package/esm/package.json +3 -0
  2. package/package.json +4 -18
  3. package/.babelrc-cjs +0 -5
  4. package/.babelrc-esm +0 -5
  5. package/README.md +0 -589
  6. package/dist/package.json +0 -36
  7. package/make.js +0 -23
  8. package/src/.cache/opt.json +0 -1
  9. package/src/accounts.js +0 -91
  10. package/src/ao.js +0 -737
  11. package/src/aoconnect.js +0 -318
  12. package/src/ar.js +0 -243
  13. package/src/dirname.js +0 -1
  14. package/src/helpers.js +0 -161
  15. package/src/index.js +0 -4
  16. package/src/lua/aos2_0_1.wasm +0 -0
  17. package/src/test.js +0 -94
  18. package/src/utils.js +0 -324
  19. package/test/.cache/opt.json +0 -1
  20. package/test/test.js +0 -50
  21. /package/{dist/cjs → cjs}/accounts.js +0 -0
  22. /package/{dist/cjs → cjs}/ao.js +0 -0
  23. /package/{dist/cjs → cjs}/aoconnect.js +0 -0
  24. /package/{dist/cjs → cjs}/ar.js +0 -0
  25. /package/{dist/cjs → cjs}/dirname.js +0 -0
  26. /package/{dist/cjs → cjs}/helpers.js +0 -0
  27. /package/{dist/cjs → cjs}/index.js +0 -0
  28. /package/{dist/cjs → cjs}/lua/aos2_0_1.wasm +0 -0
  29. /package/{dist/cjs → cjs}/utils.js +0 -0
  30. /package/{dist/esm → esm}/.cache/opt.json +0 -0
  31. /package/{dist/esm → esm}/accounts.js +0 -0
  32. /package/{dist/esm → esm}/ao.js +0 -0
  33. /package/{dist/esm → esm}/aoconnect.js +0 -0
  34. /package/{dist/esm → esm}/ar.js +0 -0
  35. /package/{dist/esm → esm}/dirname.js +0 -0
  36. /package/{dist/esm → esm}/helpers.js +0 -0
  37. /package/{dist/esm → esm}/index.js +0 -0
  38. /package/{dist/esm → esm}/lua/aos2_0_1.wasm +0 -0
  39. /package/{dist/esm → esm}/test.js +0 -0
  40. /package/{dist/esm → esm}/utils.js +0 -0
package/src/index.js DELETED
@@ -1,4 +0,0 @@
1
- import AR from "./ar.js"
2
- import AO from "./ao.js"
3
-
4
- export { AO, AR }
Binary file
package/src/test.js DELETED
@@ -1,94 +0,0 @@
1
- import { Profile, AR, AO, Collection, Notebook } from "./index.js"
2
- import { expect } from "chai"
3
- import { createDataItemSigner, connect } from "@permaweb/aoconnect"
4
- import { resolve } from "path"
5
- import { readFileSync } from "fs"
6
- export class Src {
7
- constructor({ ar, base = "./lua", readFileSync, dir, resolve }) {
8
- this.ar = ar
9
- this.base = base
10
- this.dir = dir
11
- }
12
- async upload(file, ext = "lua") {
13
- const data = readFileSync(
14
- `${this.dir}/${this.base}/${file}.${ext}`,
15
- ext === "wasm" ? null : "utf8",
16
- )
17
- const res = await this.ar.post({ data })
18
- return res.err ? null : res.id
19
- }
20
- }
21
-
22
- export const setup = async ({ aoconnect, arweave } = {}) => {
23
- console.error = () => {}
24
- console.warn = () => {}
25
- arweave ??= { port: 4000 }
26
- aoconnect ??= {
27
- MU_URL: "http://localhost:4002",
28
- CU_URL: "http://localhost:4004",
29
- GATEWAY_URL: "http://localhost:4000",
30
- }
31
- const dir = resolve(import.meta.dirname)
32
- const thumbnail = readFileSync(`${dir}/assets/thumbnail.png`)
33
- const banner = readFileSync(resolve(`${dir}/assets/banner.png`))
34
- const ar = new AR(arweave)
35
- await ar.gen("10")
36
- const src = new Src({ ar, readFileSync, dir })
37
- const notelib_src = await src.upload("atomic-note-library")
38
- const registry_src = await src.upload("registry000")
39
- const profile_src = await src.upload("profile000")
40
- const collection_registry_src = await src.upload("collection-registry")
41
- const notebook_src = await src.upload("notebook")
42
- const note_src = await src.upload("atomic-note")
43
- const proxy = await src.upload("proxy")
44
- const wasm = await src.upload("aos-sqlite", "wasm")
45
- const wasm2 = await src.upload("aos", "wasm")
46
- const ao = new AO({ aoconnect, ar })
47
-
48
- const { id: module_sqlite } = await ao.postModule({
49
- data: await ar.data(wasm),
50
- overwrite: true,
51
- })
52
-
53
- const { scheduler } = await ao.postScheduler({
54
- url: "http://su",
55
- overwrite: true,
56
- })
57
-
58
- const profile = new Profile({ profile_src, registry_src, ao })
59
- await profile.createRegistry({})
60
- const notebook = new Notebook({
61
- notebook_src,
62
- registry_src: collection_registry_src,
63
- profile,
64
- })
65
-
66
- await notebook.createRegistry()
67
- const { id: module } = await ao.postModule({ data: await ar.data(wasm2) })
68
- const { pid: proxy_pid } = await ao.deploy({ src: proxy, module })
69
-
70
- let opt = {
71
- ar: { ...arweave },
72
- profile: { registry_src, registry: profile.registry, profile_src },
73
- ao: { module: module_sqlite, scheduler, aoconnect },
74
- note: { proxy: proxy_pid, note_src, notelib_src },
75
- notebook: {
76
- notebook_src,
77
- registry: notebook.registry,
78
- registry_src: collection_registry_src,
79
- },
80
- }
81
- return { opt, profile, ao, ar, thumbnail, banner }
82
- }
83
-
84
- export const ok = obj => {
85
- if (obj.err) console.log(obj.err)
86
- expect(obj.err).to.eql(null)
87
- return obj
88
- }
89
-
90
- export const fail = obj => {
91
- if (!obj.err) console.log(obj.res)
92
- expect(obj.err).to.not.eql(null)
93
- return obj
94
- }
package/src/utils.js DELETED
@@ -1,324 +0,0 @@
1
- import { clone, is, includes, fromPairs, map, isNil } from "ramda"
2
-
3
- const allows = [
4
- { key: "allowed", val: "Allowed" },
5
- { key: "disallowed", val: "Disallowed" },
6
- ]
7
- const allowsMap = fromPairs(allows.map(({ key, val }) => [key, val]))
8
- const accesses = [
9
- { key: "none", val: "None" },
10
- { key: "one-time", val: "One-Time" },
11
- ]
12
- const accessesMap = fromPairs(accesses.map(({ key, val }) => [key, val]))
13
- const payments = [
14
- { key: "single", val: "Single" },
15
- { key: "random", val: "Random" },
16
- { key: "global", val: "Global" },
17
- ]
18
- const paymentsMap = fromPairs(payments.map(({ key, val }) => [key, val]))
19
- const dTerms = [
20
- { key: "credit", val: "With Credit" },
21
- { key: "indication", val: "With Indication" },
22
- { key: "passthrough", val: "With License Passthrough" },
23
- { key: "revenue", val: "With Revenue Share" },
24
- { key: "monthly", val: "With Monthly Fee" },
25
- { key: "one-time", val: "With One-Time Fee" },
26
- ]
27
- const dtMap = fromPairs(dTerms.map(({ key, val }) => [key, val]))
28
- const cTerms = [
29
- { key: "revenue", val: "With Revenue Share" },
30
- { key: "monthly", val: "With Monthly Fee" },
31
- { key: "one-time", val: "With One-Time Fee" },
32
- ]
33
- const ctMap = fromPairs(cTerms.map(({ key, val }) => [key, val]))
34
- const tTerms = [
35
- { key: "monthly", val: "With Monthly Fee" },
36
- { key: "one-time", val: "With One-Time Fee" },
37
- ]
38
- const ttMap = fromPairs(tTerms.map(({ key, val }) => [key, val]))
39
-
40
- const action = value => tag("Action", value)
41
- const tag = (name, value) => ({ name, value: jsonToStr(value) })
42
-
43
- const wait = ms => new Promise(res => setTimeout(() => res(), ms))
44
-
45
- const tags = tags => fromPairs(map(v => [v.name, v.value])(tags))
46
- const ltags = tags => fromPairs(map(v => [v.name.toLowerCase(), v.value])(tags))
47
-
48
- const validAddress = addr => /^[a-zA-Z0-9_-]{43}$/.test(addr)
49
-
50
- const isRegExp = obj => obj instanceof RegExp
51
-
52
- const getTag = (_tags, name) => tags(_tags)[name] ?? null
53
-
54
- const tagEq = (tags, name, val = null) => {
55
- const tag = getTag(tags, name)
56
- if (val === true) {
57
- return tag !== null
58
- } else if (isRegExp(val)) {
59
- let ok = false
60
- try {
61
- ok = val.test(tag)
62
- } catch (e) {}
63
- return ok
64
- } else return tag === val
65
- }
66
-
67
- const searchTag = (res, name, val) => {
68
- for (let v of res.Messages || []) {
69
- if (tagEq(v.Tags || {}, name, val)) return v
70
- }
71
- return null
72
- }
73
-
74
- const checkTag = (res, name, val) => {
75
- for (let v of res.Messages || []) {
76
- if (tagEq(v.Tags || {}, name, val)) return true
77
- }
78
- return false
79
- }
80
-
81
- const isData = (data, res) => {
82
- for (const v of res.Messages ?? []) {
83
- if (isRegExp(data)) {
84
- try {
85
- if (data.test(v.Data)) return true
86
- } catch (e) {}
87
- } else {
88
- if (data === true || v.Data === data) return true
89
- }
90
- }
91
- return false
92
- }
93
-
94
- const query = txid => `query {
95
- transactions(ids: ["${txid}"]) {
96
- edges { node { id tags { name value } owner { address } } }
97
- }
98
- }`
99
-
100
- const queries = to => `query {
101
- transactions (recipients: ["${to}"]){
102
- edges { node { id recipient tags { name value } owner { address } } }
103
- }
104
- }`
105
-
106
- const isLocalhost = v => includes(v, ["localhost", "127.0.0.1"])
107
-
108
- const udl = ({ payment, access, derivations, commercial, training }) => {
109
- let tags = {
110
- License: "dE0rmDfl9_OWjkDznNEXHaSO_JohJkRolvMzaCroUdw",
111
- Currency: "xU9zFkq3X2ZQ6olwNVvr1vUWIjc3kXTWr7xKQD6dh10",
112
- }
113
- tags["Payment-Mode"] = paymentsMap[payment.mode]
114
- if (payment.mode === "single") tags["Payment-Address"] = payment.recipient
115
- let _access = accessesMap[access.mode]
116
- if (access.mode === "one-time") _access += "-" + access.fee
117
- tags["Access-Fee"] = _access
118
-
119
- let _derivations = allowsMap[derivations.mode]
120
- if (derivations.mode === "allowed") {
121
- if (derivations.term === "revenue") {
122
- _derivations += `-${dtMap[derivations.term].split(" ").join("-")}-${derivations.share}`
123
- } else if (
124
- derivations.term === "monthly" ||
125
- derivations.term === "one-time"
126
- ) {
127
- _derivations += `-${dtMap[derivations.term].split(" ").join("-")}-${derivations.fee}`
128
- } else {
129
- _derivations += `-${dtMap[derivations.term].split(" ").join("-")}-0`
130
- }
131
- }
132
- tags["Derivations"] = _derivations
133
- let _commercial = allowsMap[commercial.mode]
134
- if (commercial.mode === "allowed") {
135
- if (commercial.term === "revenue") {
136
- _commercial += `-${ctMap[commercial.term].split(" ").join("-")}-${commercial.share}`
137
- } else {
138
- _commercial += `-${ctMap[commercial.term].split(" ").join("-")}-${commercial.fee}`
139
- }
140
- }
141
- tags["Commercial-Use"] = _commercial
142
- let _training = allowsMap[training.mode]
143
- if (training.mode === "allowed") {
144
- _training += `-${ttMap[training.term].split(" ").join("-")}-${training.fee}`
145
- }
146
- tags["Data-Model-Training"] = _training
147
- return tags
148
- }
149
-
150
- const modGet = get => {
151
- let _get = clone(get)
152
- if (is(Array, get)) {
153
- _get = { obj: {} }
154
- for (const v of get) {
155
- if (typeof v === "string") _get.obj[v] = v
156
- else if (is(Array, v)) _get.obj[v[0]] = v[1]
157
- else if (is(Object, v)) for (const k in v) _get.obj[k] = v[k]
158
- }
159
- } else if (
160
- is(Object, get) &&
161
- isNil(get.data) &&
162
- isNil(get.json) &&
163
- isNil(get.name) &&
164
- isNil(get.obj)
165
- ) {
166
- _get = { obj: get }
167
- }
168
- return _get
169
- }
170
-
171
- const _getTagVal = (get, res) => {
172
- let out = null
173
- const _get = modGet(get)
174
- if (typeof _get === "object" && _get.obj) {
175
- out = {}
176
- for (const k in _get.obj ?? {}) out[k] = _getTagVal(_get.obj[k], res)
177
- } else {
178
- for (const v of res.Messages ?? []) {
179
- if (
180
- (typeof _get === "object" && _get.data) ||
181
- typeof _get === "boolean"
182
- ) {
183
- if (v.Data) out = v.Data
184
- try {
185
- if (_get.json || _get === true) out = JSON.parse(out)
186
- } catch (e) {}
187
- } else if (typeof _get === "object" && typeof _get.name === "string") {
188
- out = getTag(v.Tags ?? [], _get.name)
189
- try {
190
- if (_get.json) out = JSON.parse(out)
191
- } catch (e) {}
192
- } else out = getTag(v.Tags ?? [], _get)
193
- if (out) break
194
- }
195
- }
196
- return out
197
- }
198
-
199
- const getTagVal = (get, res) => {
200
- const _get = modGet(get)
201
- return _getTagVal(_get, res)
202
- }
203
-
204
- const srcs = {
205
- module: "cNlipBptaF9JeFAf4wUmpi43EojNanIBos3EfNrEOWo",
206
- module_sqlite: "ghSkge2sIUD_F00ym5sEimC63BDBuBrq4b5OcwxOjiw",
207
- module_aos2: "Do_Uc2Sju_ffp6Ev0AnLVdPtot15rvMjP-a9VVaA5fM",
208
- scheduler: "_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",
209
- authority: "fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY",
210
- }
211
-
212
- const buildTags = (act, tags) => {
213
- let _tags = []
214
- if (act) _tags.push(action(act))
215
- for (const k in tags) {
216
- if (is(Array)(tags[k])) for (const v of tags[k]) _tags.push(tag(k, v))
217
- else _tags.push(tag(k, tags[k]))
218
- }
219
- return _tags
220
- }
221
-
222
- const mergeOut = (out, out2, get) => {
223
- const _get = modGet(get)
224
- if (_get.obj) {
225
- for (const k in out2 ?? {}) {
226
- if (isNil(out?.[k])) {
227
- if (!out) out = {}
228
- out[k] = out2[k]
229
- }
230
- }
231
- return out
232
- } else return out2
233
- }
234
-
235
- const mergeChecks = (check1, check2, check) => {
236
- if (!isRegExp(check) && !includes(typeof check)(["string", "boolean"])) {
237
- for (const k in check2 ?? {}) {
238
- if (!check1) check1 = {}
239
- check1[k] = check1[k] || check2[k]
240
- }
241
- return check1
242
- } else return check1 || check2
243
- }
244
-
245
- const isOutComplete = (out, get) => {
246
- if (isNil(out)) return false
247
- const _get = modGet(get)
248
- if (_get.obj) {
249
- for (const k in out ?? {}) {
250
- if (isNil(out[k])) return false
251
- }
252
- }
253
- return true
254
- }
255
-
256
- const isCheckComplete = (checks, check) => {
257
- let i = 0
258
- for (const v of checks) {
259
- if (
260
- isRegExp(check[i]) ||
261
- includes(typeof check[i])(["string", "boolean"])
262
- ) {
263
- if (!v) return false
264
- } else {
265
- for (const k in v) {
266
- if (!v[k]) return false
267
- }
268
- }
269
- i++
270
- }
271
- return true
272
- }
273
-
274
- function isJSON(obj) {
275
- if (obj === null || obj === undefined) return false
276
- if (
277
- typeof obj !== "object" ||
278
- obj instanceof Buffer ||
279
- obj instanceof ArrayBuffer ||
280
- Array.isArray(obj)
281
- ) {
282
- return false
283
- }
284
-
285
- try {
286
- const str = JSON.stringify(obj)
287
- const parsed = JSON.parse(str)
288
- const isjson = typeof parsed === "object" && parsed !== null
289
- return isjson ? str : false
290
- } catch (e) {
291
- return false
292
- }
293
- }
294
-
295
- const jsonToStr = obj =>
296
- isJSON(obj) || (is(Number, obj) ? Number(obj).toString() : obj)
297
-
298
- export {
299
- jsonToStr,
300
- mergeChecks,
301
- isCheckComplete,
302
- mergeOut,
303
- isOutComplete,
304
- isRegExp,
305
- buildTags,
306
- srcs,
307
- getTagVal,
308
- isData,
309
- query,
310
- queries,
311
- getTag,
312
- tagEq,
313
- searchTag,
314
- checkTag,
315
- validAddress,
316
- ltags,
317
- tags,
318
- wait,
319
- action,
320
- tag,
321
- isLocalhost,
322
- udl,
323
- isJSON,
324
- }
@@ -1 +0,0 @@
1
- {"ar":{"port":4000},"jwk":{"kty":"RSA","n":"wsyarqJvBMvXHsVbWP-Z2A8dN53UZ426QWsVTkFGk93CmsYnWFlhtFsPH75Iy1sL4holEJJI6bdbswwPK6Cp00HhhqTePxLgW6VDWdRpIMlJgSDa9PkPN7irCD0fx1Qvn0AzZHuOL3K7_SzvgjI1jcsAUjRvRiE76Pxd_X34fJWZ7H7T4YO3u4F3YHfxl0mayaKp8lggRwnnPQiAwhH63aeng20zQawG-xFwUQSGNNiD24C8SQqyWIAXZcAVUL1UWaa7FRI9_7liVUaCFv2F8Q_h47_tkf7as3tEn7mqVcMIvBg68W94k-mUbayzEBL2ataPB-T_IZ3QWFprE6ZfGsiJucFboP1XGdw2EsV7hAm57HBzN58yQgdZh0e5DvTXLF7dAEGGKcDtzuqxrqDwz4GN2nCW-T6rywtKCGv_XN2p1FGYYAVfERUoIGqd_QiGBUPhtAj4a4cpmDJI6zbzEXQ1mMW5gRNvYxGuQ9V8a_hTGusCK_nRNH0a8dWos5CJgETRuwO5ilRrVA032kSDmw72T_nwYoW2CUvVwJv-decvDrz6aHmZ8t-LWp9H32e7EepfnNYkQ3ZI1VaOdI9MxZ6tuZZ9-Tx9QCrENVOWSfz5aJDOm2cvbNaRoLe-w9oLt722Mv4REA6SsFyem4vaRhU9S5jqWF6OjF_ijyo9mHk","e":"AQAB","d":"DTW7SprszOY21xkalfk1WVPDDzW2hPQ1PIDyv60JCHd6Hi1QVzsud0DSkHxCqvmoX2OW_l3xMFo1D3oCoFqDkbYuwUb2ZFAXI1fcbp_LJkRIJgfQmVq3Z7ev733XpRiGJzY_FfIUBQ8yhNtyfYGCpLQuuCRipF6WFblhdVKA0pABkWpTW4BnagGAUywnF7OP2dscS7kirTaUdgzY0HBQMw5Ou4ig-HPeQFHhLDlSkYxaOr0q54ggaoR7MbT6LRC9wtud5bKoPip36uD-aukz11JUpvFpvqQJ-DBkibFZRfoVIk5BVwSQaHVnUZ2rwewLRlj495fVnlW5nng5OSqn2caQUUau3dWX29K7ecv0MOyedUAXux_ffiMa11wQeHijf7HXGuJAi-u25oJ9_GIpz15G_ixAvHmgG71pl0wtfVHlOsZQzji6GDUrtL5HVSP5HQ0sxYE1HZEsJo15NWe8Mw1vnO-R2afJxIYtO88j6XElyOV_InARt1zyCj3i5bYyE06YbNj7gl-28QfPHGkjFURViGtYIoWfaw5CsyXD8rjCU_9NnMpLWSVrIl7l7P7O6aEprWCKfP8t2_-X4ZvAfML6HsJswSeMWUyUPDtzRlkr-UqsbNS2h0BVn2V36PYDJIgtRCHTF7r9IVHIwO85i7zD-3dGNR5LgJhoVWqawqU","p":"5tIeYYQ0e72MnOhT0Y5o18-VGPcuIklKIr71JxFLVb-jAzw1tFoC4R1mN0-nanLoToHtbv-V3VVkkFMPQr4dYJMs1INMFVIGnQmP5XCAvTgxEWC0IAJbTZCRZYV7HG2IAaJoMI2kUio_-V8crQImnQdS6uik2SkPXt5xctkvVoOu_JuAOORGgY3lN7ZnoejqrhoQPVS_IvTqmhRcBG2L5QZkD0v3rSAUQRitiR9y7-tRuFzsvH7PL8VsQ7N1bX49xcQBGU8BXzhpeJhFjW7GiP0NPKjUmL5HwoKWY4U-MCIvwkRGzbo8f15v4gvDGfVc47-4zqfjo2y7rppCdDT5xQ","q":"2AyNExPy3c9xl8OR-CVy0cE4cxAT0lPr1YNfmedtYloQCrj0--N2P_o3KzJIaQqREG968Gb5fGfno20Efk2IKSxU8QvF3rkh1y7T6oKy3ozb6e9XYXG_vNjSojV7xXcptFGWf_UGsi7BQqHXmhX67kUrOAtchM3oR9EIgUY6yuBj3uL7n0AnmZcDnwx5JPWIn3xej6kU633m4bHf1aukdLLXI9i-ieiKuEua3i4TK65CK8zxQ84BEz2vz_FSA7CE2qIqKjwrRYPOl7OHiBZUqyLSrDHm01FHPpsATQkYzKesr3bqjmuApngaskzCacX7BIxDWxdVEFkbBPREiPpzJQ","dp":"up-QqM-3j4TGN-cwPfKimjrgFftkdZxEMKuskxXMj1wOdQMteNB-G30ls_rXJZ4abb9nNaO4i-gLExXU9OW54uecC4bM8UAM0NN2YNABhvvz0FUbzfWZ1LDanfa6f1Wf7ZJeI0OiZDx81SctjER86-GMDRpkjqBAKTg5Cd7IA28dAGjJ1zXaO816Uv1L9QDZHkM8dhobICxdso5bh8j6nwX3yNZnPrb9KVTGmmOvDoR44lNfpVfyNHGvA14Jx6mWUFwVd10FgvOdcz_KnHvAUeon1a-7lHPkmUP0TCrjCQ_bBXsmtBer6l90npNb_5T-sbXFunDMAMpdROK8cDCU8Q","dq":"PaqHcdSV073sPFc0CNIXjctK43zJS5VskQrodLNbw2DVh1n3gxYPoH840_mMNX8wnLJVMt0RhPLbaQgq6ioTHT1sGUk09zd8c0EId71KdL9b3c_U7xlakvqIVIhTha9XlgJbpLY5bQ5vVyd-tJplfzD6_wovJDDpheYiOVPkYBfgKbQ8Ad577xjtja4vvd7fWjZTf0nRkM3k4rK0ovZVAIIzaiXpbM-VGLlrwNMB4cvhU0Mx8hqQr_9BeWb189ukcAstYdS-vR68DwzNOIi3LgnIfCHaMqLWZQY09cgM7g1F-udEV9ZTaDCL3iyOqUY7ObcXWp60RvBICAf4r-hciQ","qi":"FWul7oSZaQdGa-WzHNKEDRM6PI6m8arWnzU8wEuvIxEWVdwfDvWsWEpmTdfw87dnGXezEx35hYjAWwvugmwaHB3s57keydhHyjjHZQFhKfYIKlWBnQKyWZO3RPJkohe8vZZZuDwW3v6gr_TYZoPOZ1685-FJM94TuhC8wBhsCP1Dc1vYQAO1wkzQKLxw1EI4q5iqjU2UICxkYZE_Fs0XwEZPN51uK33bsdyihfdidDrHbGyoZ3qLInBfcHPmx8hdzcUSIHoswLlsDc4S7ojtH0DpfhgrF_mElH-sUroIknKND9OJGvG5lCcso3KUXeTHs2caHt5SgZcD5G0s_4v1Tg"},"ao":{"module":"scFcvpwMp8IQErKvgqzTMRH9mvMUBke0YjrlEpAMdMs","scheduler":"Pkrt9mwwpBAiXX1tBF_rVs6BTAWsmj9smPr-o_i8BV8","aoconnect":{"local":true},"ar":{"port":4000},"authority":null},"ao2":{"module":"T2paWyXNaBOEmRbA5eNhtAHRplruIUw3e-xDKVJnwuM","scheduler":"Pkrt9mwwpBAiXX1tBF_rVs6BTAWsmj9smPr-o_i8BV8","aoconnect":{"local":true},"ar":{"port":4000},"authority":null},"authority":null,"targets":{"profile":false,"note":false,"asset":false},"modules":{"aos2":"T2paWyXNaBOEmRbA5eNhtAHRplruIUw3e-xDKVJnwuM","aos1":"5B9JSpy2_AagJSWW51dQ4Ixq3ULEBiEweaZKDtB3B90","sqlite":"scFcvpwMp8IQErKvgqzTMRH9mvMUBke0YjrlEpAMdMs"}}
package/test/test.js DELETED
@@ -1,50 +0,0 @@
1
- import { expect } from "chai"
2
- import { connect } from "../src/aoconnect.js"
3
- import { AO } from "../src/index.js"
4
-
5
- const src_data = `
6
- Handlers.add( "Hello", "Hello", function (msg)
7
- msg.reply({ Data = "Hello, World!" })
8
- end
9
- )
10
- `
11
- describe("WAO", function () {
12
- this.timeout(0)
13
- describe("Aoconnect", function () {
14
- let message, dryrun, spawn, signer
15
-
16
- before(async () => {
17
- ;({
18
- accounts: [{ signer }],
19
- spawn,
20
- message,
21
- dryrun,
22
- } = connect())
23
- })
24
-
25
- it("should spawn a process send messages", async () => {
26
- const pid = await spawn({ signer })
27
- await message({
28
- process: pid,
29
- tags: [{ name: "Action", value: "Eval" }],
30
- data: src_data,
31
- signer,
32
- })
33
- const res = await dryrun({
34
- process: pid,
35
- tags: [{ name: "Action", value: "Hello" }],
36
- signer,
37
- })
38
- expect(res.Messages[0].Data).to.eql("Hello, World!")
39
- })
40
- })
41
-
42
- describe("SDK", function () {
43
- let ao
44
- before(async () => (ao = await new AO({ in_memory: true }).init()))
45
- it("should spawn a process send messages", async () => {
46
- const { p } = await ao.deploy({ src_data })
47
- expect(await p.d("Hello")).to.eql("Hello, World!")
48
- })
49
- })
50
- })
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes