wao 0.12.4 → 0.13.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/aoconnect-base.js +307 -167
- package/cjs/armem-base.js +38 -28
- package/cjs/bar.js +260 -193
- package/cjs/hb.js +418 -0
- package/cjs/index.js +7 -0
- package/cjs/lua/aos_mainnet.wasm +0 -0
- package/cjs/server.js +425 -231
- package/cjs/waosm-node/waosm_bg.wasm.js +19 -0
- package/cjs/waosm-node.js +8 -22
- package/cjs/weavedb.js +59 -49
- package/cjs/weavedrive.js +24 -19
- package/esm/aoconnect-base.js +123 -55
- package/esm/armem-base.js +9 -4
- package/esm/bar.js +30 -6
- package/esm/hb.js +121 -0
- package/esm/index.js +2 -1
- package/esm/lua/aos_mainnet.wasm +0 -0
- package/esm/server.js +172 -21
- package/esm/waosm-node/waosm_bg.wasm.js +14 -0
- package/esm/waosm-node.js +6 -22
- package/esm/weavedb.js +15 -11
- package/esm/weavedrive.js +13 -11
- package/package.json +4 -1
- package/esm/.cache/data.mdb +0 -0
- package/esm/.cache/lock.mdb +0 -0
- package/esm/.db/100040/data/1/123.json +0 -1
- package/esm/.db/103252/data/0/13315.json +0 -1
- package/esm/.db/103252/data/1/120.json +0 -1
- package/esm/.db/103252/data/1/123.json +0 -1
- package/esm/.db/105470/data/0/0.json +0 -1
- package/esm/.db/105470/data/1/120.json +0 -1
- package/esm/.db/105470/data/1/123.json +0 -1
- package/esm/.db/105470/data/3/104.json +0 -1
- package/esm/.db/105667/data/ppl/bob.json +0 -1
- package/esm/.db/105869/data/1/120.json +0 -1
- package/esm/.db/105869/data/1/123.json +0 -1
- package/esm/.db/113125/data/1/example.json +0 -1
- package/esm/.db/116234/data/1/123.json +0 -1
- package/esm/.db/119911/data/1/120.json +0 -1
- package/esm/.db/119911/data/1/123.json +0 -1
- package/esm/.db/122989/data/0/0.json +0 -1
- package/esm/.db/122989/data/1/120.json +0 -1
- package/esm/.db/122989/data/1/123.json +0 -1
- package/esm/.db/125755/data/1/123.json +0 -1
- package/esm/.db/126241/data/1/123.json +0 -1
- package/esm/.db/129099/data/1/123.json +0 -1
- package/esm/.db/129781/data/0/14083.json +0 -1
- package/esm/.db/129781/data/1/120.json +0 -1
- package/esm/.db/129781/data/1/123.json +0 -1
- package/esm/.db/129781/data/15/0.json +0 -1
- package/esm/.db/132860/data/0/13315.json +0 -1
- package/esm/.db/132860/data/1/120.json +0 -1
- package/esm/.db/132860/data/1/123.json +0 -1
- package/esm/.db/134721/data/1/123.json +0 -1
- package/esm/.db/137408/data/ppl/bob.json +0 -1
- package/esm/.db/137556/data/1/123.json +0 -1
- package/esm/.db/143417/data/1/123.json +0 -1
- package/esm/.db/143799/data/1/123.json +0 -1
- package/esm/.db/146558/data/0/0.json +0 -1
- package/esm/.db/146558/data/1/120.json +0 -1
- package/esm/.db/146558/data/1/123.json +0 -1
- package/esm/.db/153145/data/1/123.json +0 -1
- package/esm/.db/153912/data/1/example.json +0 -1
- package/esm/.db/154536/data/0/13315.json +0 -1
- package/esm/.db/154536/data/1/120.json +0 -1
- package/esm/.db/154536/data/1/123.json +0 -1
- package/esm/.db/158777/data/1/123.json +0 -1
- package/esm/.db/170678/data/0/13315.json +0 -1
- package/esm/.db/170678/data/1/120.json +0 -1
- package/esm/.db/170678/data/1/123.json +0 -1
- package/esm/.db/17434/data/1/123.json +0 -1
- package/esm/.db/176113/data/1/123.json +0 -1
- package/esm/.db/179669/data/0/13315.json +0 -1
- package/esm/.db/179669/data/1/120.json +0 -1
- package/esm/.db/179669/data/1/123.json +0 -1
- package/esm/.db/183368/data/1/120.json +0 -1
- package/esm/.db/183368/data/1/123.json +0 -1
- package/esm/.db/188491/data/0/14083.json +0 -1
- package/esm/.db/188491/data/1/120.json +0 -1
- package/esm/.db/188491/data/1/123.json +0 -1
- package/esm/.db/188491/data/15/0.json +0 -1
- package/esm/.db/189189/data/ppl/bob.json +0 -1
- package/esm/.db/195025/data/1/120.json +0 -1
- package/esm/.db/195025/data/1/123.json +0 -1
- package/esm/.db/19852/data/1/123.json +0 -1
- package/esm/.db/204968/data/1/123.json +0 -1
- package/esm/.db/207069/data/0/0.json +0 -1
- package/esm/.db/207069/data/1/120.json +0 -1
- package/esm/.db/207069/data/1/123.json +0 -1
- package/esm/.db/211038/data/1/120.json +0 -1
- package/esm/.db/211038/data/1/123.json +0 -1
- package/esm/.db/211580/data/1/120.json +0 -1
- package/esm/.db/211580/data/1/123.json +0 -1
- package/esm/.db/214305/data/0/0.json +0 -1
- package/esm/.db/214305/data/1/120.json +0 -1
- package/esm/.db/214305/data/1/123.json +0 -1
- package/esm/.db/214712/data/0/13315.json +0 -1
- package/esm/.db/214712/data/1/120.json +0 -1
- package/esm/.db/214712/data/1/123.json +0 -1
- package/esm/.db/218886/data/0/14083.json +0 -1
- package/esm/.db/218886/data/1/120.json +0 -1
- package/esm/.db/218886/data/1/123.json +0 -1
- package/esm/.db/218886/data/15/0.json +0 -1
- package/esm/.db/221009/data/1/123.json +0 -1
- package/esm/.db/221818/data/1/120.json +0 -1
- package/esm/.db/221818/data/1/123.json +0 -1
- package/esm/.db/226668/data/0/13315.json +0 -1
- package/esm/.db/226668/data/1/120.json +0 -1
- package/esm/.db/226668/data/1/123.json +0 -1
- package/esm/.db/226981/data/0/123.json +0 -1
- package/esm/.db/235331/data/0/13315.json +0 -1
- package/esm/.db/235331/data/1/120.json +0 -1
- package/esm/.db/235331/data/1/123.json +0 -1
- package/esm/.db/247863/data/1/123.json +0 -1
- package/esm/.db/247918/data/0/0.json +0 -1
- package/esm/.db/247918/data/1/120.json +0 -1
- package/esm/.db/247918/data/1/123.json +0 -1
- package/esm/.db/247918/data/3/104.json +0 -1
- package/esm/.db/250384/data/1/123.json +0 -1
- package/esm/.db/253205/data/1/120.json +0 -1
- package/esm/.db/253205/data/1/123.json +0 -1
- package/esm/.db/26452/data/1/120.json +0 -1
- package/esm/.db/26452/data/1/123.json +0 -1
- package/esm/.db/265430/data/1/120.json +0 -1
- package/esm/.db/265430/data/1/123.json +0 -1
- package/esm/.db/269049/data/0/0.json +0 -1
- package/esm/.db/269049/data/1/120.json +0 -1
- package/esm/.db/269049/data/1/123.json +0 -1
- package/esm/.db/273652/data/0/0.json +0 -1
- package/esm/.db/273652/data/1/120.json +0 -1
- package/esm/.db/273652/data/1/123.json +0 -1
- package/esm/.db/281035/data/0/0.json +0 -1
- package/esm/.db/281035/data/1/120.json +0 -1
- package/esm/.db/281035/data/1/123.json +0 -1
- package/esm/.db/281140/data/0/13315.json +0 -1
- package/esm/.db/281140/data/1/120.json +0 -1
- package/esm/.db/281140/data/1/123.json +0 -1
- package/esm/.db/295732/data/ppl/bob.json +0 -1
- package/esm/.db/296113/data/1/123.json +0 -1
- package/esm/.db/297154/data/0/13315.json +0 -1
- package/esm/.db/297154/data/1/120.json +0 -1
- package/esm/.db/297154/data/1/123.json +0 -1
- package/esm/.db/304770/data/1/120.json +0 -1
- package/esm/.db/304770/data/1/123.json +0 -1
- package/esm/.db/3081/data/0/0.json +0 -1
- package/esm/.db/3081/data/1/120.json +0 -1
- package/esm/.db/3081/data/1/123.json +0 -1
- package/esm/.db/310793/data/1/120.json +0 -1
- package/esm/.db/310793/data/1/123.json +0 -1
- package/esm/.db/317310/data/1/123.json +0 -1
- package/esm/.db/317819/data/1/example.json +0 -1
- package/esm/.db/319464/data/0/0.json +0 -1
- package/esm/.db/319464/data/1/120.json +0 -1
- package/esm/.db/319464/data/1/123.json +0 -1
- package/esm/.db/32053/data/1/120.json +0 -1
- package/esm/.db/32053/data/1/123.json +0 -1
- package/esm/.db/322473/data/ppl/bob.json +0 -1
- package/esm/.db/323300/data/1/123.json +0 -1
- package/esm/.db/323840/data/0/0.json +0 -1
- package/esm/.db/323840/data/1/120.json +0 -1
- package/esm/.db/323840/data/1/123.json +0 -1
- package/esm/.db/328731/data/0/0.json +0 -1
- package/esm/.db/328731/data/1/120.json +0 -1
- package/esm/.db/328731/data/1/123.json +0 -1
- package/esm/.db/334158/data/1/example.json +0 -1
- package/esm/.db/334577/data/1/example.json +0 -1
- package/esm/.db/339914/data/1/123.json +0 -1
- package/esm/.db/34265/data/0/0.json +0 -1
- package/esm/.db/34265/data/1/120.json +0 -1
- package/esm/.db/34265/data/1/123.json +0 -1
- package/esm/.db/346364/data/1/123.json +0 -1
- package/esm/.db/349791/data/0/14083.json +0 -1
- package/esm/.db/349791/data/1/120.json +0 -1
- package/esm/.db/349791/data/1/123.json +0 -1
- package/esm/.db/349791/data/15/0.json +0 -1
- package/esm/.db/350767/data/ppl/bob.json +0 -1
- package/esm/.db/352310/data/0/13315.json +0 -1
- package/esm/.db/352310/data/1/120.json +0 -1
- package/esm/.db/352310/data/1/123.json +0 -1
- package/esm/.db/35438/data/1/123.json +0 -1
- package/esm/.db/354670/data/0/13315.json +0 -1
- package/esm/.db/354670/data/1/120.json +0 -1
- package/esm/.db/354670/data/1/123.json +0 -1
- package/esm/.db/354805/data/0/0.json +0 -1
- package/esm/.db/354805/data/1/120.json +0 -1
- package/esm/.db/354805/data/1/123.json +0 -1
- package/esm/.db/358368/data/1/example.json +0 -1
- package/esm/.db/358831/data/1/123.json +0 -1
- package/esm/.db/360133/data/0/0.json +0 -1
- package/esm/.db/360133/data/1/120.json +0 -1
- package/esm/.db/360133/data/1/123.json +0 -1
- package/esm/.db/367925/data/0/13315.json +0 -1
- package/esm/.db/367925/data/1/120.json +0 -1
- package/esm/.db/367925/data/1/123.json +0 -1
- package/esm/.db/369638/data/1/123.json +0 -1
- package/esm/.db/3700/data/1/120.json +0 -1
- package/esm/.db/3700/data/1/123.json +0 -1
- package/esm/.db/374988/data/0/0.json +0 -1
- package/esm/.db/374988/data/1/120.json +0 -1
- package/esm/.db/374988/data/1/123.json +0 -1
- package/esm/.db/380018/data/1/123.json +0 -1
- package/esm/.db/380021/data/1/123.json +0 -1
- package/esm/.db/386761/data/1/123.json +0 -1
- package/esm/.db/387217/data/0/13315.json +0 -1
- package/esm/.db/387217/data/1/120.json +0 -1
- package/esm/.db/387217/data/1/123.json +0 -1
- package/esm/.db/392652/data/1/123.json +0 -1
- package/esm/.db/392692/data/0/13315.json +0 -1
- package/esm/.db/392692/data/1/120.json +0 -1
- package/esm/.db/392692/data/1/123.json +0 -1
- package/esm/.db/396339/data/1/123.json +0 -1
- package/esm/.db/404348/data/1/123.json +0 -1
- package/esm/.db/405894/data/0/14083.json +0 -1
- package/esm/.db/405894/data/1/120.json +0 -1
- package/esm/.db/405894/data/1/123.json +0 -1
- package/esm/.db/405894/data/15/0.json +0 -1
- package/esm/.db/406165/data/1/example.json +0 -1
- package/esm/.db/407316/data/ppl/bob.json +0 -1
- package/esm/.db/407987/data/1/123.json +0 -1
- package/esm/.db/410181/data/1/123.json +0 -1
- package/esm/.db/411981/data/1/120.json +0 -1
- package/esm/.db/411981/data/1/123.json +0 -1
- package/esm/.db/416278/data/1/120.json +0 -1
- package/esm/.db/416278/data/1/123.json +0 -1
- package/esm/.db/418449/data/1/123.json +0 -1
- package/esm/.db/425620/data/1/120.json +0 -1
- package/esm/.db/425620/data/1/123.json +0 -1
- package/esm/.db/429727/data/1/123.json +0 -1
- package/esm/.db/435030/data/1/123.json +0 -1
- package/esm/.db/444362/data/1/120.json +0 -1
- package/esm/.db/444362/data/1/123.json +0 -1
- package/esm/.db/446985/data/1/123.json +0 -1
- package/esm/.db/451355/data/1/120.json +0 -1
- package/esm/.db/451355/data/1/123.json +0 -1
- package/esm/.db/45640/data/1/123.json +0 -1
- package/esm/.db/46155/data/0/0.json +0 -1
- package/esm/.db/46155/data/0/13315.json +0 -1
- package/esm/.db/46155/data/1/120.json +0 -1
- package/esm/.db/46155/data/1/123.json +0 -1
- package/esm/.db/46528/data/1/123.json +0 -1
- package/esm/.db/466476/data/1/123.json +0 -1
- package/esm/.db/467578/data/0/0.json +0 -1
- package/esm/.db/467578/data/1/120.json +0 -1
- package/esm/.db/467578/data/1/123.json +0 -1
- package/esm/.db/472245/data/1/123.json +0 -1
- package/esm/.db/474238/data/1/example.json +0 -1
- package/esm/.db/477291/data/1/123.json +0 -1
- package/esm/.db/477375/data/1/120.json +0 -1
- package/esm/.db/477375/data/1/123.json +0 -1
- package/esm/.db/479960/data/1/123.json +0 -1
- package/esm/.db/482327/data/1/123.json +0 -1
- package/esm/.db/487117/data/1/example.json +0 -1
- package/esm/.db/495075/data/1/123.json +0 -1
- package/esm/.db/498660/data/1/123.json +0 -1
- package/esm/.db/510578/data/1/123.json +0 -1
- package/esm/.db/514521/data/1/123.json +0 -1
- package/esm/.db/524536/data/1/120.json +0 -1
- package/esm/.db/524536/data/1/123.json +0 -1
- package/esm/.db/52751/data/1/example.json +0 -1
- package/esm/.db/530599/data/ppl/bob.json +0 -1
- package/esm/.db/536579/data/1/123.json +0 -1
- package/esm/.db/539183/data/1/123.json +0 -1
- package/esm/.db/539222/data/1/example.json +0 -1
- package/esm/.db/542071/data/0/0.json +0 -1
- package/esm/.db/542071/data/0/13315.json +0 -1
- package/esm/.db/542071/data/1/120.json +0 -1
- package/esm/.db/542071/data/1/123.json +0 -1
- package/esm/.db/542939/data/ppl/bob.json +0 -1
- package/esm/.db/547077/data/1/123.json +0 -1
- package/esm/.db/548947/data/ppl/bob.json +0 -1
- package/esm/.db/551385/data/0/0.json +0 -1
- package/esm/.db/551385/data/1/120.json +0 -1
- package/esm/.db/551385/data/1/123.json +0 -1
- package/esm/.db/553486/data/0/0.json +0 -1
- package/esm/.db/553486/data/1/120.json +0 -1
- package/esm/.db/553486/data/1/123.json +0 -1
- package/esm/.db/554578/data/1/123.json +0 -1
- package/esm/.db/555963/data/1/123.json +0 -1
- package/esm/.db/556201/data/1/123.json +0 -1
- package/esm/.db/572000/data/1/123.json +0 -1
- package/esm/.db/572151/data/1/123.json +0 -1
- package/esm/.db/573301/data/1/123.json +0 -1
- package/esm/.db/579648/data/0/0.json +0 -1
- package/esm/.db/579648/data/1/120.json +0 -1
- package/esm/.db/579648/data/1/123.json +0 -1
- package/esm/.db/579648/data/3/104.json +0 -1
- package/esm/.db/582311/data/1/example.json +0 -1
- package/esm/.db/587351/data/0/14083.json +0 -1
- package/esm/.db/587351/data/1/120.json +0 -1
- package/esm/.db/587351/data/1/123.json +0 -1
- package/esm/.db/587351/data/15/0.json +0 -1
- package/esm/.db/588867/data/0/0.json +0 -1
- package/esm/.db/588867/data/1/120.json +0 -1
- package/esm/.db/588867/data/1/123.json +0 -1
- package/esm/.db/589730/data/1/123.json +0 -1
- package/esm/.db/591738/data/0/13315.json +0 -1
- package/esm/.db/591738/data/1/120.json +0 -1
- package/esm/.db/591738/data/1/123.json +0 -1
- package/esm/.db/593460/data/1/123.json +0 -1
- package/esm/.db/595304/data/1/123.json +0 -1
- package/esm/.db/595772/data/0/13315.json +0 -1
- package/esm/.db/595772/data/1/120.json +0 -1
- package/esm/.db/595772/data/1/123.json +0 -1
- package/esm/.db/596051/data/0/0.json +0 -1
- package/esm/.db/596051/data/1/120.json +0 -1
- package/esm/.db/596051/data/1/123.json +0 -1
- package/esm/.db/601728/data/1/120.json +0 -1
- package/esm/.db/601728/data/1/123.json +0 -1
- package/esm/.db/619154/data/1/123.json +0 -1
- package/esm/.db/620185/data/1/123.json +0 -1
- package/esm/.db/623179/data/1/123.json +0 -1
- package/esm/.db/623265/data/1/123.json +0 -1
- package/esm/.db/630002/data/1/120.json +0 -1
- package/esm/.db/630002/data/1/123.json +0 -1
- package/esm/.db/631961/data/1/123.json +0 -1
- package/esm/.db/635637/data/0/14083.json +0 -1
- package/esm/.db/635637/data/1/120.json +0 -1
- package/esm/.db/635637/data/1/123.json +0 -1
- package/esm/.db/635637/data/15/0.json +0 -1
- package/esm/.db/636670/data/1/example.json +0 -1
- package/esm/.db/640527/data/0/0.json +0 -1
- package/esm/.db/640527/data/1/120.json +0 -1
- package/esm/.db/640527/data/1/123.json +0 -1
- package/esm/.db/644020/data/0/13315.json +0 -1
- package/esm/.db/644020/data/1/120.json +0 -1
- package/esm/.db/644020/data/1/123.json +0 -1
- package/esm/.db/64462/data/0/14083.json +0 -1
- package/esm/.db/64462/data/1/120.json +0 -1
- package/esm/.db/64462/data/1/123.json +0 -1
- package/esm/.db/64462/data/15/0.json +0 -1
- package/esm/.db/646266/data/1/123.json +0 -1
- package/esm/.db/650764/data/1/120.json +0 -1
- package/esm/.db/650764/data/1/123.json +0 -1
- package/esm/.db/654655/data/0/0.json +0 -1
- package/esm/.db/654655/data/1/120.json +0 -1
- package/esm/.db/654655/data/1/123.json +0 -1
- package/esm/.db/658164/data/1/120.json +0 -1
- package/esm/.db/658164/data/1/123.json +0 -1
- package/esm/.db/65937/data/1/123.json +0 -1
- package/esm/.db/659738/data/0/13315.json +0 -1
- package/esm/.db/659738/data/1/120.json +0 -1
- package/esm/.db/659738/data/1/123.json +0 -1
- package/esm/.db/660517/data/0/13315.json +0 -1
- package/esm/.db/660517/data/1/120.json +0 -1
- package/esm/.db/660517/data/1/123.json +0 -1
- package/esm/.db/664564/data/1/123.json +0 -1
- package/esm/.db/672001/data/1/example.json +0 -1
- package/esm/.db/674620/data/1/123.json +0 -1
- package/esm/.db/67532/data/1/123.json +0 -1
- package/esm/.db/675670/data/1/120.json +0 -1
- package/esm/.db/675670/data/1/123.json +0 -1
- package/esm/.db/686538/data/1/123.json +0 -1
- package/esm/.db/691017/data/1/123.json +0 -1
- package/esm/.db/691716/data/1/120.json +0 -1
- package/esm/.db/691716/data/1/123.json +0 -1
- package/esm/.db/693105/data/0/14083.json +0 -1
- package/esm/.db/693105/data/1/120.json +0 -1
- package/esm/.db/693105/data/1/123.json +0 -1
- package/esm/.db/693105/data/15/0.json +0 -1
- package/esm/.db/694486/data/1/123.json +0 -1
- package/esm/.db/702106/data/1/120.json +0 -1
- package/esm/.db/702106/data/1/123.json +0 -1
- package/esm/.db/7047/data/1/123.json +0 -1
- package/esm/.db/705954/data/0/13315.json +0 -1
- package/esm/.db/705954/data/1/120.json +0 -1
- package/esm/.db/705954/data/1/123.json +0 -1
- package/esm/.db/710967/data/1/120.json +0 -1
- package/esm/.db/710967/data/1/123.json +0 -1
- package/esm/.db/715883/data/0/13315.json +0 -1
- package/esm/.db/715883/data/1/120.json +0 -1
- package/esm/.db/715883/data/1/123.json +0 -1
- package/esm/.db/717358/data/1/120.json +0 -1
- package/esm/.db/717358/data/1/123.json +0 -1
- package/esm/.db/71999/data/0/13315.json +0 -1
- package/esm/.db/71999/data/1/120.json +0 -1
- package/esm/.db/71999/data/1/123.json +0 -1
- package/esm/.db/720364/data/1/123.json +0 -1
- package/esm/.db/727249/data/1/120.json +0 -1
- package/esm/.db/727249/data/1/123.json +0 -1
- package/esm/.db/728258/data/1/example.json +0 -1
- package/esm/.db/728986/data/0/13315.json +0 -1
- package/esm/.db/728986/data/1/120.json +0 -1
- package/esm/.db/728986/data/1/123.json +0 -1
- package/esm/.db/732768/data/1/120.json +0 -1
- package/esm/.db/732768/data/1/123.json +0 -1
- package/esm/.db/733885/data/1/123.json +0 -1
- package/esm/.db/736192/data/0/0.json +0 -1
- package/esm/.db/736192/data/1/120.json +0 -1
- package/esm/.db/736192/data/1/123.json +0 -1
- package/esm/.db/73856/data/0/0.json +0 -1
- package/esm/.db/73856/data/1/120.json +0 -1
- package/esm/.db/73856/data/1/123.json +0 -1
- package/esm/.db/738577/data/1/123.json +0 -1
- package/esm/.db/744844/data/1/123.json +0 -1
- package/esm/.db/745738/data/1/123.json +0 -1
- package/esm/.db/747240/data/1/123.json +0 -1
- package/esm/.db/749115/data/0/0.json +0 -1
- package/esm/.db/749115/data/1/120.json +0 -1
- package/esm/.db/749115/data/1/123.json +0 -1
- package/esm/.db/749514/data/0/0.json +0 -1
- package/esm/.db/749514/data/1/120.json +0 -1
- package/esm/.db/749514/data/1/123.json +0 -1
- package/esm/.db/754982/data/1/123.json +0 -1
- package/esm/.db/765281/data/0/13315.json +0 -1
- package/esm/.db/765281/data/1/120.json +0 -1
- package/esm/.db/765281/data/1/123.json +0 -1
- package/esm/.db/765521/data/0/14083.json +0 -1
- package/esm/.db/765521/data/1/120.json +0 -1
- package/esm/.db/765521/data/1/123.json +0 -1
- package/esm/.db/765521/data/15/0.json +0 -1
- package/esm/.db/766288/data/ppl/bob.json +0 -1
- package/esm/.db/766864/data/1/123.json +0 -1
- package/esm/.db/770788/data/0/14083.json +0 -1
- package/esm/.db/770788/data/1/120.json +0 -1
- package/esm/.db/770788/data/1/123.json +0 -1
- package/esm/.db/770788/data/15/0.json +0 -1
- package/esm/.db/774499/data/1/example.json +0 -1
- package/esm/.db/774617/data/ppl/bob.json +0 -1
- package/esm/.db/775617/data/1/123.json +0 -1
- package/esm/.db/779782/data/1/123.json +0 -1
- package/esm/.db/779921/data/1/123.json +0 -1
- package/esm/.db/782910/data/1/123.json +0 -1
- package/esm/.db/783279/data/0/13315.json +0 -1
- package/esm/.db/783279/data/1/120.json +0 -1
- package/esm/.db/783279/data/1/123.json +0 -1
- package/esm/.db/785515/data/1/123.json +0 -1
- package/esm/.db/791284/data/0/0.json +0 -1
- package/esm/.db/791284/data/1/120.json +0 -1
- package/esm/.db/791284/data/1/123.json +0 -1
- package/esm/.db/791361/data/0/14083.json +0 -1
- package/esm/.db/791361/data/1/120.json +0 -1
- package/esm/.db/791361/data/1/123.json +0 -1
- package/esm/.db/791361/data/15/0.json +0 -1
- package/esm/.db/791754/data/1/120.json +0 -1
- package/esm/.db/791754/data/1/123.json +0 -1
- package/esm/.db/792232/data/0/13315.json +0 -1
- package/esm/.db/792232/data/1/120.json +0 -1
- package/esm/.db/792232/data/1/123.json +0 -1
- package/esm/.db/792777/data/0/13315.json +0 -1
- package/esm/.db/792777/data/1/120.json +0 -1
- package/esm/.db/792777/data/1/123.json +0 -1
- package/esm/.db/793249/data/0/123.json +0 -1
- package/esm/.db/795512/data/0/0.json +0 -1
- package/esm/.db/795512/data/1/120.json +0 -1
- package/esm/.db/795512/data/1/123.json +0 -1
- package/esm/.db/795512/data/3/104.json +0 -1
- package/esm/.db/796663/data/1/123.json +0 -1
- package/esm/.db/797304/data/0/0.json +0 -1
- package/esm/.db/797304/data/1/120.json +0 -1
- package/esm/.db/797304/data/1/123.json +0 -1
- package/esm/.db/797304/data/3/104.json +0 -1
- package/esm/.db/800834/data/1/123.json +0 -1
- package/esm/.db/806421/data/1/120.json +0 -1
- package/esm/.db/806421/data/1/123.json +0 -1
- package/esm/.db/81623/data/0/14083.json +0 -1
- package/esm/.db/81623/data/1/120.json +0 -1
- package/esm/.db/81623/data/1/123.json +0 -1
- package/esm/.db/81623/data/15/0.json +0 -1
- package/esm/.db/81941/data/1/120.json +0 -1
- package/esm/.db/81941/data/1/123.json +0 -1
- package/esm/.db/820340/data/0/0.json +0 -1
- package/esm/.db/820340/data/1/120.json +0 -1
- package/esm/.db/820340/data/1/123.json +0 -1
- package/esm/.db/821932/data/1/120.json +0 -1
- package/esm/.db/821932/data/1/123.json +0 -1
- package/esm/.db/823440/data/1/123.json +0 -1
- package/esm/.db/823889/data/1/120.json +0 -1
- package/esm/.db/823889/data/1/123.json +0 -1
- package/esm/.db/823896/data/1/123.json +0 -1
- package/esm/.db/836077/data/0/14083.json +0 -1
- package/esm/.db/836077/data/1/120.json +0 -1
- package/esm/.db/836077/data/1/123.json +0 -1
- package/esm/.db/836077/data/15/0.json +0 -1
- package/esm/.db/837341/data/1/123.json +0 -1
- package/esm/.db/844882/data/1/123.json +0 -1
- package/esm/.db/847654/data/1/example.json +0 -1
- package/esm/.db/856010/data/0/13315.json +0 -1
- package/esm/.db/856010/data/1/120.json +0 -1
- package/esm/.db/856010/data/1/123.json +0 -1
- package/esm/.db/856047/data/1/120.json +0 -1
- package/esm/.db/856047/data/1/123.json +0 -1
- package/esm/.db/856820/data/1/123.json +0 -1
- package/esm/.db/857266/data/1/123.json +0 -1
- package/esm/.db/86017/data/0/13315.json +0 -1
- package/esm/.db/86017/data/1/120.json +0 -1
- package/esm/.db/86017/data/1/123.json +0 -1
- package/esm/.db/862600/data/1/120.json +0 -1
- package/esm/.db/862600/data/1/123.json +0 -1
- package/esm/.db/871866/data/0/13315.json +0 -1
- package/esm/.db/871866/data/1/120.json +0 -1
- package/esm/.db/871866/data/1/123.json +0 -1
- package/esm/.db/875359/data/0/0.json +0 -1
- package/esm/.db/875359/data/1/120.json +0 -1
- package/esm/.db/875359/data/1/123.json +0 -1
- package/esm/.db/875359/data/3/104.json +0 -1
- package/esm/.db/876330/data/1/example.json +0 -1
- package/esm/.db/880182/data/1/123.json +0 -1
- package/esm/.db/882138/data/0/0.json +0 -1
- package/esm/.db/882138/data/1/120.json +0 -1
- package/esm/.db/882138/data/1/123.json +0 -1
- package/esm/.db/882722/data/1/example.json +0 -1
- package/esm/.db/885449/data/ppl/bob.json +0 -1
- package/esm/.db/893417/data/1/example.json +0 -1
- package/esm/.db/897575/data/1/example.json +0 -1
- package/esm/.db/897832/data/0/13315.json +0 -1
- package/esm/.db/897832/data/1/120.json +0 -1
- package/esm/.db/897832/data/1/123.json +0 -1
- package/esm/.db/898043/data/0/0.json +0 -1
- package/esm/.db/898043/data/1/120.json +0 -1
- package/esm/.db/898043/data/1/123.json +0 -1
- package/esm/.db/898201/data/ppl/bob.json +0 -1
- package/esm/.db/900442/data/1/123.json +0 -1
- package/esm/.db/900800/data/0/0.json +0 -1
- package/esm/.db/900800/data/1/120.json +0 -1
- package/esm/.db/900800/data/1/123.json +0 -1
- package/esm/.db/910535/data/1/120.json +0 -1
- package/esm/.db/910535/data/1/123.json +0 -1
- package/esm/.db/911132/data/1/120.json +0 -1
- package/esm/.db/911132/data/1/123.json +0 -1
- package/esm/.db/913152/data/1/120.json +0 -1
- package/esm/.db/913152/data/1/123.json +0 -1
- package/esm/.db/91378/data/1/123.json +0 -1
- package/esm/.db/918654/data/1/example.json +0 -1
- package/esm/.db/929039/data/ppl/bob.json +0 -1
- package/esm/.db/932648/data/1/123.json +0 -1
- package/esm/.db/936016/data/1/example.json +0 -1
- package/esm/.db/936843/data/1/123.json +0 -1
- package/esm/.db/940099/data/1/example.json +0 -1
- package/esm/.db/941807/data/1/120.json +0 -1
- package/esm/.db/941807/data/1/123.json +0 -1
- package/esm/.db/941934/data/0/14083.json +0 -1
- package/esm/.db/941934/data/1/120.json +0 -1
- package/esm/.db/941934/data/1/123.json +0 -1
- package/esm/.db/941934/data/15/0.json +0 -1
- package/esm/.db/943744/data/1/120.json +0 -1
- package/esm/.db/943744/data/1/123.json +0 -1
- package/esm/.db/955716/data/1/123.json +0 -1
- package/esm/.db/956030/data/1/123.json +0 -1
- package/esm/.db/956395/data/1/120.json +0 -1
- package/esm/.db/956395/data/1/123.json +0 -1
- package/esm/.db/956498/data/1/123.json +0 -1
- package/esm/.db/957435/data/1/123.json +0 -1
- package/esm/.db/960302/data/1/example.json +0 -1
- package/esm/.db/964149/data/0/0.json +0 -1
- package/esm/.db/964149/data/1/120.json +0 -1
- package/esm/.db/964149/data/1/123.json +0 -1
- package/esm/.db/965213/data/0/13315.json +0 -1
- package/esm/.db/965213/data/1/120.json +0 -1
- package/esm/.db/965213/data/1/123.json +0 -1
- package/esm/.db/966774/data/1/120.json +0 -1
- package/esm/.db/966774/data/1/123.json +0 -1
- package/esm/.db/972484/data/1/123.json +0 -1
- package/esm/.db/973155/data/1/123.json +0 -1
- package/esm/.db/973642/data/1/123.json +0 -1
- package/esm/.db/975603/data/0/0.json +0 -1
- package/esm/.db/975603/data/1/120.json +0 -1
- package/esm/.db/975603/data/1/123.json +0 -1
- package/esm/.db/979812/data/0/13315.json +0 -1
- package/esm/.db/979812/data/1/120.json +0 -1
- package/esm/.db/979812/data/1/123.json +0 -1
- package/esm/.db/985666/data/1/example.json +0 -1
- package/esm/.db/986784/data/0/0.json +0 -1
- package/esm/.db/986784/data/1/120.json +0 -1
- package/esm/.db/986784/data/1/123.json +0 -1
- package/esm/.db/988463/data/1/120.json +0 -1
- package/esm/.db/988463/data/1/123.json +0 -1
- package/esm/.db/990386/data/1/120.json +0 -1
- package/esm/.db/990386/data/1/123.json +0 -1
- package/esm/.db/994488/data/0/0.json +0 -1
- package/esm/.db/994488/data/1/120.json +0 -1
- package/esm/.db/994488/data/1/123.json +0 -1
- package/esm/.db/999130/data/ppl/bob.json +0 -1
package/esm/aoconnect-base.js
CHANGED
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
o,
|
|
26
26
|
reverse,
|
|
27
27
|
} from "ramda"
|
|
28
|
-
|
|
28
|
+
let count = 0
|
|
29
29
|
export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
30
30
|
return (mem, { cache, log = false, extensions = {} } = {}) => {
|
|
31
31
|
const isMem = mem?.__type__ === "mem"
|
|
@@ -62,6 +62,15 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
62
62
|
|
|
63
63
|
const genMsg = async (Id, p, data, Tags, from, Owner, dry = false) => {
|
|
64
64
|
if (!dry) p.height += 1
|
|
65
|
+
let __tags = Tags?.length ? Tags : []
|
|
66
|
+
let cap = {
|
|
67
|
+
authority: "Authority",
|
|
68
|
+
action: "Action",
|
|
69
|
+
"on-boot": "On-Boot",
|
|
70
|
+
scheduler: "Scheduler",
|
|
71
|
+
module: "Module",
|
|
72
|
+
}
|
|
73
|
+
for (let v of __tags) v.name = cap[v.name] ?? v.name
|
|
65
74
|
return {
|
|
66
75
|
Id,
|
|
67
76
|
Target: p.id,
|
|
@@ -72,7 +81,7 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
72
81
|
Module: p.module,
|
|
73
82
|
From: from,
|
|
74
83
|
Cron: false,
|
|
75
|
-
Tags:
|
|
84
|
+
Tags: __tags,
|
|
76
85
|
}
|
|
77
86
|
}
|
|
78
87
|
|
|
@@ -89,41 +98,53 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
89
98
|
},
|
|
90
99
|
}
|
|
91
100
|
}
|
|
101
|
+
|
|
92
102
|
const spawn = async (opt = {}) => {
|
|
93
103
|
if (!opt.module) throw Error("module missing")
|
|
94
104
|
if (!opt.scheduler) throw Error("scheduler missing")
|
|
95
105
|
const { mod, wasm, format } = await mem.getWasm(opt.module, mem)
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
106
|
+
let id, owner, item, __tags
|
|
107
|
+
let msg_owner = mu.addr
|
|
108
|
+
if (ar.isHttpMsg(opt.http_msg)) {
|
|
109
|
+
;({ owner, item, tags: __tags } = await ar.httpmsg(opt.http_msg))
|
|
110
|
+
id = opt.http_msg.target
|
|
111
|
+
opt.tags = buildTags(null, __tags)
|
|
112
|
+
opt.data = opt.http_msg.data
|
|
113
|
+
msg_owner = owner
|
|
114
|
+
} else {
|
|
115
|
+
opt.tags = buildTags(
|
|
116
|
+
null,
|
|
117
|
+
mergeLeft(tags(opt.tags ?? []), {
|
|
118
|
+
"Data-Protocol": "ao",
|
|
119
|
+
Variant: "ao.TN.1",
|
|
120
|
+
Type: "Process",
|
|
121
|
+
SDK: "aoconnect",
|
|
122
|
+
Module: mod,
|
|
123
|
+
Scheduler: opt.scheduler,
|
|
124
|
+
"Content-Type": "text/plain",
|
|
125
|
+
Authority: mu.addr,
|
|
126
|
+
})
|
|
127
|
+
)
|
|
128
|
+
let ex = false
|
|
129
|
+
for (let v of opt.tags) if (v.name === "Type") ex = true
|
|
130
|
+
if (!ex) opt.tags.push({ name: "Type", value: "Process" })
|
|
131
|
+
if (opt.for) opt.tags.push({ name: "Pushed-For", value: opt.for })
|
|
132
|
+
;({
|
|
133
|
+
id,
|
|
134
|
+
owner,
|
|
135
|
+
item,
|
|
136
|
+
tags: __tags,
|
|
137
|
+
} = await ar.dataitem({
|
|
138
|
+
item: opt.item,
|
|
139
|
+
data: opt.data,
|
|
140
|
+
signer: opt.signer,
|
|
141
|
+
tags: tags(opt.tags),
|
|
142
|
+
}))
|
|
143
|
+
opt.tags = buildTags(null, __tags)
|
|
144
|
+
if (opt.item) opt.data = base64url.decode(item.data)
|
|
145
|
+
await ar.postItems(item, su.jwk)
|
|
146
|
+
}
|
|
147
|
+
|
|
127
148
|
const now = Date.now
|
|
128
149
|
const t = tags(opt.tags)
|
|
129
150
|
const ext = t.Extension || "WeaveDrive"
|
|
@@ -133,10 +154,12 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
133
154
|
handle = await AoLoader(wasm, {
|
|
134
155
|
format,
|
|
135
156
|
WeaveDrive: wdrive,
|
|
136
|
-
spawn: item,
|
|
137
|
-
module: await mem.getTx(mod),
|
|
157
|
+
spawn: item, // todo: httpmsg
|
|
158
|
+
module: await mem.getTx(mod), // todo: httpmsg
|
|
138
159
|
})
|
|
139
|
-
} catch (e) {
|
|
160
|
+
} catch (e) {
|
|
161
|
+
console.log(mod, e)
|
|
162
|
+
}
|
|
140
163
|
if (!handle) return null
|
|
141
164
|
let _module = null
|
|
142
165
|
_module = { handle, id: mod }
|
|
@@ -163,7 +186,7 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
163
186
|
let data = ""
|
|
164
187
|
if (_tags["On-Boot"] === "Data") data = opt.data ?? ""
|
|
165
188
|
else data = (await mem.get("msgs", _tags["On-Boot"]))?.data ?? ""
|
|
166
|
-
let msg = await genMsg(id, p, data, opt.tags, owner,
|
|
189
|
+
let msg = await genMsg(id, p, data, opt.tags, owner, msg_owner, true)
|
|
167
190
|
const _env = await genEnv({
|
|
168
191
|
pid: p.id,
|
|
169
192
|
owner: p.owner,
|
|
@@ -245,7 +268,7 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
245
268
|
Process: opt.process,
|
|
246
269
|
Message: opt.message,
|
|
247
270
|
"Hash-Chain": hash,
|
|
248
|
-
})
|
|
271
|
+
})
|
|
249
272
|
)
|
|
250
273
|
p.epochs.push([opt.message])
|
|
251
274
|
const { id, owner, item } = await ar.dataitem({
|
|
@@ -270,7 +293,7 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
270
293
|
if (!from) {
|
|
271
294
|
const raw_owner = _opt.item.rawOwner
|
|
272
295
|
const hashBuffer = Buffer.from(
|
|
273
|
-
await crypto.subtle.digest("SHA-256", raw_owner)
|
|
296
|
+
await crypto.subtle.digest("SHA-256", raw_owner)
|
|
274
297
|
)
|
|
275
298
|
from = base64url.encode(hashBuffer)
|
|
276
299
|
}
|
|
@@ -348,12 +371,18 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
348
371
|
const message = async opt => {
|
|
349
372
|
const p = await mem.get("env", opt.process)
|
|
350
373
|
if (!p) return null
|
|
351
|
-
let
|
|
352
|
-
let
|
|
353
|
-
let
|
|
354
|
-
|
|
374
|
+
let id = ""
|
|
375
|
+
let owner = ""
|
|
376
|
+
let item = null
|
|
377
|
+
if (ar.isHttpMsg(opt.http_msg)) {
|
|
378
|
+
;({ owner, item } = await ar.httpmsg(opt.http_msg))
|
|
379
|
+
id = opt.http_msg.target
|
|
380
|
+
} else {
|
|
381
|
+
let id = opt?.item?.id ?? ""
|
|
382
|
+
let owner = opt.owner ?? ""
|
|
383
|
+
let item = opt.item
|
|
384
|
+
}
|
|
355
385
|
if (!opt.item && opt.signer) {
|
|
356
|
-
for (let v of opt.tags) if (v.name === "Type") ex = true
|
|
357
386
|
opt.tags = buildTags(
|
|
358
387
|
null,
|
|
359
388
|
mergeLeft(tags(opt.tags ?? []), {
|
|
@@ -361,7 +390,7 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
361
390
|
Variant: "ao.TN.1",
|
|
362
391
|
Type: "Message",
|
|
363
392
|
SDK: "aoconnect",
|
|
364
|
-
})
|
|
393
|
+
})
|
|
365
394
|
)
|
|
366
395
|
if (opt.for) {
|
|
367
396
|
opt.tags.push({ name: "Pushed-For", value: opt.for })
|
|
@@ -379,13 +408,52 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
379
408
|
}
|
|
380
409
|
const _msg = dissoc("signer", opt)
|
|
381
410
|
await mem.set(_msg, "msgs", id)
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
411
|
+
if (ar.isHttpMsg(opt.http_msg)) {
|
|
412
|
+
p.epochs.push([id])
|
|
413
|
+
let _opt = opt
|
|
414
|
+
try {
|
|
415
|
+
// todo: not sure if this is correct
|
|
416
|
+
let from = _opt.from ?? opt.from ?? owner
|
|
417
|
+
let data = opt.http_msg.data ?? ""
|
|
418
|
+
let _tags = _opt.http_msg.tags
|
|
419
|
+
// todo: check if owner=mu.addr right?
|
|
420
|
+
const msg = await genMsg(opt.http_msg, p, data, _tags, from, owner)
|
|
421
|
+
const _env = await genEnv({
|
|
422
|
+
pid: p.id,
|
|
423
|
+
owner: p.owner,
|
|
424
|
+
module: p.module,
|
|
425
|
+
})
|
|
426
|
+
if (!p.handle) {
|
|
427
|
+
const { format, mod, wasm } = await mem.getWasm(p.modulea)
|
|
428
|
+
const wdrive = extensions[p.extention]
|
|
429
|
+
p.handle = await AoLoader(wasm, {
|
|
430
|
+
format,
|
|
431
|
+
WeaveDrive: wdrive,
|
|
432
|
+
spawn: (await mem.getTx(p.id)).item,
|
|
433
|
+
module: await mem.getTx(mod),
|
|
434
|
+
})
|
|
435
|
+
mem.env[opt.process].handle = p.handle
|
|
436
|
+
}
|
|
437
|
+
const res = await p.handle(p.memory, msg, _env)
|
|
438
|
+
p.memory = res.Memory
|
|
439
|
+
delete res.Memory
|
|
440
|
+
p.results.push(id)
|
|
441
|
+
await mem.set(p, "env", opt.process)
|
|
442
|
+
const _msg = { ...dissoc("signer", _opt), res }
|
|
443
|
+
await mem.set(_msg, "msgs", id)
|
|
444
|
+
return id
|
|
445
|
+
} catch (e) {
|
|
446
|
+
console.log(e)
|
|
447
|
+
}
|
|
448
|
+
} else {
|
|
449
|
+
await assign({
|
|
450
|
+
message_item: item,
|
|
451
|
+
message: id,
|
|
452
|
+
process: opt.process,
|
|
453
|
+
from: owner,
|
|
454
|
+
signer: mu.signer,
|
|
455
|
+
})
|
|
456
|
+
}
|
|
389
457
|
return id
|
|
390
458
|
}
|
|
391
459
|
const result = async opt => (await mem.get("msgs", opt.message))?.res
|
|
@@ -439,7 +507,7 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
439
507
|
const p = await mem.get("env", opt.process)
|
|
440
508
|
if (!p) return null
|
|
441
509
|
let id = opt.id ?? ""
|
|
442
|
-
let owner = opt.owner ??
|
|
510
|
+
let owner = opt.owner ?? mu.addr
|
|
443
511
|
if (!opt.id && opt.signer) {
|
|
444
512
|
;({ id, owner } = await ar.dataitem({ ...opt, target: opt.process }))
|
|
445
513
|
}
|
|
@@ -450,8 +518,8 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
|
|
|
450
518
|
opt.data ?? "",
|
|
451
519
|
opt.tags,
|
|
452
520
|
owner,
|
|
453
|
-
|
|
454
|
-
true
|
|
521
|
+
owner,
|
|
522
|
+
true
|
|
455
523
|
)
|
|
456
524
|
const _env = await genEnv({
|
|
457
525
|
pid: p.id,
|
package/esm/armem-base.js
CHANGED
|
@@ -2,7 +2,7 @@ import _Arweave from "arweave"
|
|
|
2
2
|
const Arweave = _Arweave.default ?? _Arweave
|
|
3
3
|
import { Bundle } from "arbundles"
|
|
4
4
|
import { compress, decompress } from "./compress.js"
|
|
5
|
-
import { last, assoc, is } from "ramda"
|
|
5
|
+
import { last, assoc, is, isNil } from "ramda"
|
|
6
6
|
import { buildTags, tags } from "./utils.js"
|
|
7
7
|
import base64url from "base64url"
|
|
8
8
|
|
|
@@ -47,7 +47,7 @@ export default class ArMemBase {
|
|
|
47
47
|
}
|
|
48
48
|
async owner(di) {
|
|
49
49
|
return base64url.encode(
|
|
50
|
-
Buffer.from(await crypto.subtle.digest("SHA-256", di.rawOwner))
|
|
50
|
+
Buffer.from(await crypto.subtle.digest("SHA-256", di.rawOwner))
|
|
51
51
|
)
|
|
52
52
|
}
|
|
53
53
|
getAnchor() {
|
|
@@ -80,7 +80,7 @@ export default class ArMemBase {
|
|
|
80
80
|
this[key][field].original_size = val.memory.length
|
|
81
81
|
await this.db.put(
|
|
82
82
|
`${key}.${field}`,
|
|
83
|
-
assoc("memory", memory, this[key][field])
|
|
83
|
+
assoc("memory", memory, this[key][field])
|
|
84
84
|
)
|
|
85
85
|
} else {
|
|
86
86
|
await this.db.put(`${key}.${field}`, this[key][field])
|
|
@@ -99,6 +99,7 @@ export default class ArMemBase {
|
|
|
99
99
|
aos2_0_1: "Do_Uc2Sju_ffp6Ev0AnLVdPtot15rvMjP-a9VVaA5fM",
|
|
100
100
|
aos1: "cNlipBptaF9JeFAf4wUmpi43EojNanIBos3EfNrEOWo",
|
|
101
101
|
sqlite: "ghSkge2sIUD_F00ym5sEimC63BDBuBrq4b5OcwxOjiw",
|
|
102
|
+
aos_mainnet: "JArYBF-D8q2OmZ4Mok00sD2Y_6SYEQ7Hjx-6VZ_jl3g",
|
|
102
103
|
}
|
|
103
104
|
this.modmap = {}
|
|
104
105
|
this.msgs = {}
|
|
@@ -115,6 +116,10 @@ export default class ArMemBase {
|
|
|
115
116
|
file: "sqlite",
|
|
116
117
|
format: "wasm64-unknown-emscripten-draft_2024_02_15",
|
|
117
118
|
},
|
|
119
|
+
"JArYBF-D8q2OmZ4Mok00sD2Y_6SYEQ7Hjx-6VZ_jl3g": {
|
|
120
|
+
file: "aos_mainnet",
|
|
121
|
+
format: "wasm64-unknown-emscripten-draft_2024_02_15",
|
|
122
|
+
},
|
|
118
123
|
}
|
|
119
124
|
let txs = []
|
|
120
125
|
for (const k in this.modules) {
|
|
@@ -195,7 +200,6 @@ export default class ArMemBase {
|
|
|
195
200
|
if (is(Uint8Array, v3.memory)) {
|
|
196
201
|
try {
|
|
197
202
|
v3.memory = this.waosm.decompress(v3.memory, v3.original_size)
|
|
198
|
-
console.log(v3)
|
|
199
203
|
} catch (e) {
|
|
200
204
|
console.log(e)
|
|
201
205
|
v3.memory = decompress(v3.memory)
|
|
@@ -217,6 +221,7 @@ export default class ArMemBase {
|
|
|
217
221
|
}
|
|
218
222
|
async getTx(id) {
|
|
219
223
|
let tx = this.txs[id]
|
|
224
|
+
if (isNil(tx)) return null
|
|
220
225
|
if (tx.bundle) {
|
|
221
226
|
try {
|
|
222
227
|
let bundle = new Bundle(this.txs[tx.bundle].data)
|
package/esm/bar.js
CHANGED
|
@@ -8,6 +8,17 @@ import base64url from "base64url"
|
|
|
8
8
|
import GQL from "./tgql.js"
|
|
9
9
|
import { last, is, includes, isNil } from "ramda"
|
|
10
10
|
|
|
11
|
+
function parseSignatureInput(input) {
|
|
12
|
+
const match = input.match(
|
|
13
|
+
/^([^=]+)=\(([^)]+)\);alg="([^"]+)";keyid="([^"]+)"$/
|
|
14
|
+
)
|
|
15
|
+
if (!match) throw new Error("Invalid signature-input format")
|
|
16
|
+
|
|
17
|
+
const [, label, fieldsStr, alg, keyid] = match
|
|
18
|
+
const fields = fieldsStr.split('" "').map(f => f.replace(/"/g, ""))
|
|
19
|
+
return { label, fields, alg, keyid }
|
|
20
|
+
}
|
|
21
|
+
|
|
11
22
|
class AR extends MAR {
|
|
12
23
|
constructor(opt = {}) {
|
|
13
24
|
super({ ...opt, in_memory: true })
|
|
@@ -17,9 +28,23 @@ class AR extends MAR {
|
|
|
17
28
|
this.gql = new GQL({ mem: this.mem })
|
|
18
29
|
this.arweave = this.mem.arweave
|
|
19
30
|
}
|
|
31
|
+
isHttpMsg(item) {
|
|
32
|
+
if (typeof item === "object" && item !== null) {
|
|
33
|
+
const tags = t(item.tags)
|
|
34
|
+
if (!isNil(tags["signature-input"])) return true
|
|
35
|
+
}
|
|
36
|
+
return false
|
|
37
|
+
}
|
|
38
|
+
async httpmsg(msg) {
|
|
39
|
+
const tags = t(msg.tags)
|
|
40
|
+
const { keyid: n } = parseSignatureInput(tags["signature-input"])
|
|
41
|
+
const owner = await this.arweave.wallets.jwkToAddress({ n })
|
|
42
|
+
await this.mem.set(msg, "txs", msg.id)
|
|
43
|
+
return { item: msg, id: tags.id, tags, owner }
|
|
44
|
+
}
|
|
20
45
|
async owner(di) {
|
|
21
46
|
return base64url.encode(
|
|
22
|
-
Buffer.from(await crypto.subtle.digest("SHA-256", di.rawOwner))
|
|
47
|
+
Buffer.from(await crypto.subtle.digest("SHA-256", di.rawOwner))
|
|
23
48
|
)
|
|
24
49
|
}
|
|
25
50
|
async dataitem({ target = "", data = "1984", tags = {}, signer, item }) {
|
|
@@ -40,7 +65,6 @@ class AR extends MAR {
|
|
|
40
65
|
for (const v of buildTags(null, tags)) tx.addTag(v.name, v.value)
|
|
41
66
|
return await this.postTx(tx, jwk)
|
|
42
67
|
}
|
|
43
|
-
|
|
44
68
|
async postItems(items, jwk) {
|
|
45
69
|
let err = null
|
|
46
70
|
;({ err, jwk } = await this.checkWallet({ jwk }))
|
|
@@ -72,7 +96,7 @@ class AR extends MAR {
|
|
|
72
96
|
const bundle = await bundleAndSignData(items, new ArweaveSigner(jwk))
|
|
73
97
|
const tx = await this.mem.arweave.createTransaction(
|
|
74
98
|
{ data: bundle.binary },
|
|
75
|
-
jwk
|
|
99
|
+
jwk
|
|
76
100
|
)
|
|
77
101
|
tx.addTag("Bundle-Format", "binary")
|
|
78
102
|
tx.addTag("Bundle-Version", "2.0.0")
|
|
@@ -140,7 +164,7 @@ class AR extends MAR {
|
|
|
140
164
|
format: __tags["Module-Format"],
|
|
141
165
|
},
|
|
142
166
|
"wasms",
|
|
143
|
-
tx.id
|
|
167
|
+
tx.id
|
|
144
168
|
)
|
|
145
169
|
}
|
|
146
170
|
tx.tags = _tags
|
|
@@ -162,7 +186,7 @@ class AR extends MAR {
|
|
|
162
186
|
if (this.log) {
|
|
163
187
|
if (msg) {
|
|
164
188
|
console.log(
|
|
165
|
-
`New ${msg.type}:\t${msg.id}${msg.pid ? ` > ${msg.pid}` : ""}
|
|
189
|
+
`New ${msg.type}:\t${msg.id}${msg.pid ? ` > ${msg.pid}` : ""}`
|
|
166
190
|
)
|
|
167
191
|
} else {
|
|
168
192
|
console.log(`New Post:\t${tx.id}`)
|
|
@@ -213,7 +237,7 @@ function tobuff(base64url) {
|
|
|
213
237
|
const base64 = base64url.replace(/-/g, "+").replace(/_/g, "/")
|
|
214
238
|
const paddedBase64 = base64.padEnd(
|
|
215
239
|
base64.length + ((4 - (base64.length % 4)) % 4),
|
|
216
|
-
"="
|
|
240
|
+
"="
|
|
217
241
|
)
|
|
218
242
|
return Buffer.from(paddedBase64, "base64")
|
|
219
243
|
}
|
package/esm/hb.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { connect, createSigner } from "aoconnect-wao"
|
|
2
|
+
import { mergeLeft } from "ramda"
|
|
3
|
+
import { randomBytes } from "node:crypto"
|
|
4
|
+
import { buildTags } from "./utils.js"
|
|
5
|
+
class HB {
|
|
6
|
+
constructor({ url = "http://localhost:10000" } = {}) {
|
|
7
|
+
this.url = url
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async metrics() {
|
|
11
|
+
const txt = await fetch(`${this.url}/metrics`).then(r => r.text())
|
|
12
|
+
const parts = txt.split(/\r?\n/)
|
|
13
|
+
let index = 0
|
|
14
|
+
let _metrics = {}
|
|
15
|
+
let vals = []
|
|
16
|
+
let desc = []
|
|
17
|
+
for (const v of parts) {
|
|
18
|
+
if (/^# /.test(v)) {
|
|
19
|
+
const [_, type, name, ...rest] = v.split(" ")
|
|
20
|
+
if (!_metrics[name]) _metrics[name] = { index: ++index, values: [] }
|
|
21
|
+
_metrics[name][type] = rest.join(" ")
|
|
22
|
+
} else if (v !== "") {
|
|
23
|
+
if (/{/.test(v)) {
|
|
24
|
+
const [name, rest] = v.split("{")
|
|
25
|
+
if (!_metrics[name]) _metrics[name] = { index: ++index, values: [] }
|
|
26
|
+
const [params, val] = rest.split("}")
|
|
27
|
+
let _params = {}
|
|
28
|
+
for (const v of params.split(",")) {
|
|
29
|
+
const [key, val] = v.trim().split("=")
|
|
30
|
+
_params[key] = val.replace(/"/g, "")
|
|
31
|
+
}
|
|
32
|
+
_metrics[name].values.push({ value: val.trim(), params: _params })
|
|
33
|
+
} else {
|
|
34
|
+
const [name, val] = v.split(" ")
|
|
35
|
+
if (!_metrics[name]) _metrics[name] = { index: ++index, values: [] }
|
|
36
|
+
_metrics[name].values.push({ value: val })
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return _metrics
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async info() {
|
|
44
|
+
const txt = await fetch(
|
|
45
|
+
`${this.url}/~meta@1.0/info/serialize~json@1.0`
|
|
46
|
+
).then(r => r.json())
|
|
47
|
+
return txt
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async init(jwk) {
|
|
51
|
+
this._info = await this.info()
|
|
52
|
+
const { request } = connect({
|
|
53
|
+
MODE: "mainnet",
|
|
54
|
+
URL: this.url,
|
|
55
|
+
device: "",
|
|
56
|
+
signer: createSigner(jwk),
|
|
57
|
+
})
|
|
58
|
+
this._request = request
|
|
59
|
+
return this
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async process({ tags = {}, data = "1984" } = {}) {
|
|
63
|
+
tags = mergeLeft(tags, {
|
|
64
|
+
data,
|
|
65
|
+
Type: "Process",
|
|
66
|
+
"Data-Protocol": "ao",
|
|
67
|
+
Variant: "ao.N.1",
|
|
68
|
+
scheduler: this._info.address,
|
|
69
|
+
authority: this._info.address,
|
|
70
|
+
"scheduler-location": this.info.address,
|
|
71
|
+
"random-seed": randomBytes(16).toString("hex"),
|
|
72
|
+
module: "JArYBF-D8q2OmZ4Mok00sD2Y_6SYEQ7Hjx-6VZ_jl3g",
|
|
73
|
+
device: "process@1.0",
|
|
74
|
+
"scheduler-device": "scheduler@1.0",
|
|
75
|
+
"execution-device": "genesis-wasm@1.0",
|
|
76
|
+
})
|
|
77
|
+
return await this.post({ tags })
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
async schedule({ tags = {}, data, process, action = "Eval" } = {}) {
|
|
81
|
+
tags = mergeLeft(tags, {
|
|
82
|
+
path: `${process}/schedule`,
|
|
83
|
+
type: "Message",
|
|
84
|
+
action,
|
|
85
|
+
data,
|
|
86
|
+
"Data-Protocol": "ao",
|
|
87
|
+
Variant: "ao.N.1",
|
|
88
|
+
})
|
|
89
|
+
return (await this.post({ tags })).slot.text()
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
async compute({ tags = {}, process, slot } = {}) {
|
|
93
|
+
return await this.request({
|
|
94
|
+
method: "GET",
|
|
95
|
+
path: `/${process}/compute&slot+integer=${slot}/results/json`,
|
|
96
|
+
})
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
async dryrun({ tags = {}, process, action } = {}) {
|
|
100
|
+
if (typeof action === "string") tags.Action = action
|
|
101
|
+
return await fetch(
|
|
102
|
+
`${this.url}/~relay@1.0/call?relay-method=POST&relay-path=/dry-run?process-id=${process}/&content-type=application/json&body=${JSON.stringify({ Tags: buildTags(tags) })}`
|
|
103
|
+
).then(r => r.json())
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
async get({ device, path = "~meta@1.0/info" }) {
|
|
107
|
+
return (await this.request({ device, path, method: "GET" })).body
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
async post({ device, tags, path = "/schedule" }) {
|
|
111
|
+
return await this.request({ tags, device, path, method: "POST" })
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
async request({ device, tags, method = "POST", path = "/schedule" }) {
|
|
115
|
+
let _tags = mergeLeft(tags, { path, method })
|
|
116
|
+
if (device) _tags.device = device
|
|
117
|
+
return await this._request(_tags)
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export default HB
|
package/esm/index.js
CHANGED
|
Binary file
|