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.
Files changed (572) hide show
  1. package/cjs/aoconnect-base.js +307 -167
  2. package/cjs/armem-base.js +38 -28
  3. package/cjs/bar.js +260 -193
  4. package/cjs/hb.js +418 -0
  5. package/cjs/index.js +7 -0
  6. package/cjs/lua/aos_mainnet.wasm +0 -0
  7. package/cjs/server.js +425 -231
  8. package/cjs/waosm-node/waosm_bg.wasm.js +19 -0
  9. package/cjs/waosm-node.js +8 -22
  10. package/cjs/weavedb.js +59 -49
  11. package/cjs/weavedrive.js +24 -19
  12. package/esm/aoconnect-base.js +123 -55
  13. package/esm/armem-base.js +9 -4
  14. package/esm/bar.js +30 -6
  15. package/esm/hb.js +121 -0
  16. package/esm/index.js +2 -1
  17. package/esm/lua/aos_mainnet.wasm +0 -0
  18. package/esm/server.js +172 -21
  19. package/esm/waosm-node/waosm_bg.wasm.js +14 -0
  20. package/esm/waosm-node.js +6 -22
  21. package/esm/weavedb.js +15 -11
  22. package/esm/weavedrive.js +13 -11
  23. package/package.json +4 -1
  24. package/esm/.cache/data.mdb +0 -0
  25. package/esm/.cache/lock.mdb +0 -0
  26. package/esm/.db/100040/data/1/123.json +0 -1
  27. package/esm/.db/103252/data/0/13315.json +0 -1
  28. package/esm/.db/103252/data/1/120.json +0 -1
  29. package/esm/.db/103252/data/1/123.json +0 -1
  30. package/esm/.db/105470/data/0/0.json +0 -1
  31. package/esm/.db/105470/data/1/120.json +0 -1
  32. package/esm/.db/105470/data/1/123.json +0 -1
  33. package/esm/.db/105470/data/3/104.json +0 -1
  34. package/esm/.db/105667/data/ppl/bob.json +0 -1
  35. package/esm/.db/105869/data/1/120.json +0 -1
  36. package/esm/.db/105869/data/1/123.json +0 -1
  37. package/esm/.db/113125/data/1/example.json +0 -1
  38. package/esm/.db/116234/data/1/123.json +0 -1
  39. package/esm/.db/119911/data/1/120.json +0 -1
  40. package/esm/.db/119911/data/1/123.json +0 -1
  41. package/esm/.db/122989/data/0/0.json +0 -1
  42. package/esm/.db/122989/data/1/120.json +0 -1
  43. package/esm/.db/122989/data/1/123.json +0 -1
  44. package/esm/.db/125755/data/1/123.json +0 -1
  45. package/esm/.db/126241/data/1/123.json +0 -1
  46. package/esm/.db/129099/data/1/123.json +0 -1
  47. package/esm/.db/129781/data/0/14083.json +0 -1
  48. package/esm/.db/129781/data/1/120.json +0 -1
  49. package/esm/.db/129781/data/1/123.json +0 -1
  50. package/esm/.db/129781/data/15/0.json +0 -1
  51. package/esm/.db/132860/data/0/13315.json +0 -1
  52. package/esm/.db/132860/data/1/120.json +0 -1
  53. package/esm/.db/132860/data/1/123.json +0 -1
  54. package/esm/.db/134721/data/1/123.json +0 -1
  55. package/esm/.db/137408/data/ppl/bob.json +0 -1
  56. package/esm/.db/137556/data/1/123.json +0 -1
  57. package/esm/.db/143417/data/1/123.json +0 -1
  58. package/esm/.db/143799/data/1/123.json +0 -1
  59. package/esm/.db/146558/data/0/0.json +0 -1
  60. package/esm/.db/146558/data/1/120.json +0 -1
  61. package/esm/.db/146558/data/1/123.json +0 -1
  62. package/esm/.db/153145/data/1/123.json +0 -1
  63. package/esm/.db/153912/data/1/example.json +0 -1
  64. package/esm/.db/154536/data/0/13315.json +0 -1
  65. package/esm/.db/154536/data/1/120.json +0 -1
  66. package/esm/.db/154536/data/1/123.json +0 -1
  67. package/esm/.db/158777/data/1/123.json +0 -1
  68. package/esm/.db/170678/data/0/13315.json +0 -1
  69. package/esm/.db/170678/data/1/120.json +0 -1
  70. package/esm/.db/170678/data/1/123.json +0 -1
  71. package/esm/.db/17434/data/1/123.json +0 -1
  72. package/esm/.db/176113/data/1/123.json +0 -1
  73. package/esm/.db/179669/data/0/13315.json +0 -1
  74. package/esm/.db/179669/data/1/120.json +0 -1
  75. package/esm/.db/179669/data/1/123.json +0 -1
  76. package/esm/.db/183368/data/1/120.json +0 -1
  77. package/esm/.db/183368/data/1/123.json +0 -1
  78. package/esm/.db/188491/data/0/14083.json +0 -1
  79. package/esm/.db/188491/data/1/120.json +0 -1
  80. package/esm/.db/188491/data/1/123.json +0 -1
  81. package/esm/.db/188491/data/15/0.json +0 -1
  82. package/esm/.db/189189/data/ppl/bob.json +0 -1
  83. package/esm/.db/195025/data/1/120.json +0 -1
  84. package/esm/.db/195025/data/1/123.json +0 -1
  85. package/esm/.db/19852/data/1/123.json +0 -1
  86. package/esm/.db/204968/data/1/123.json +0 -1
  87. package/esm/.db/207069/data/0/0.json +0 -1
  88. package/esm/.db/207069/data/1/120.json +0 -1
  89. package/esm/.db/207069/data/1/123.json +0 -1
  90. package/esm/.db/211038/data/1/120.json +0 -1
  91. package/esm/.db/211038/data/1/123.json +0 -1
  92. package/esm/.db/211580/data/1/120.json +0 -1
  93. package/esm/.db/211580/data/1/123.json +0 -1
  94. package/esm/.db/214305/data/0/0.json +0 -1
  95. package/esm/.db/214305/data/1/120.json +0 -1
  96. package/esm/.db/214305/data/1/123.json +0 -1
  97. package/esm/.db/214712/data/0/13315.json +0 -1
  98. package/esm/.db/214712/data/1/120.json +0 -1
  99. package/esm/.db/214712/data/1/123.json +0 -1
  100. package/esm/.db/218886/data/0/14083.json +0 -1
  101. package/esm/.db/218886/data/1/120.json +0 -1
  102. package/esm/.db/218886/data/1/123.json +0 -1
  103. package/esm/.db/218886/data/15/0.json +0 -1
  104. package/esm/.db/221009/data/1/123.json +0 -1
  105. package/esm/.db/221818/data/1/120.json +0 -1
  106. package/esm/.db/221818/data/1/123.json +0 -1
  107. package/esm/.db/226668/data/0/13315.json +0 -1
  108. package/esm/.db/226668/data/1/120.json +0 -1
  109. package/esm/.db/226668/data/1/123.json +0 -1
  110. package/esm/.db/226981/data/0/123.json +0 -1
  111. package/esm/.db/235331/data/0/13315.json +0 -1
  112. package/esm/.db/235331/data/1/120.json +0 -1
  113. package/esm/.db/235331/data/1/123.json +0 -1
  114. package/esm/.db/247863/data/1/123.json +0 -1
  115. package/esm/.db/247918/data/0/0.json +0 -1
  116. package/esm/.db/247918/data/1/120.json +0 -1
  117. package/esm/.db/247918/data/1/123.json +0 -1
  118. package/esm/.db/247918/data/3/104.json +0 -1
  119. package/esm/.db/250384/data/1/123.json +0 -1
  120. package/esm/.db/253205/data/1/120.json +0 -1
  121. package/esm/.db/253205/data/1/123.json +0 -1
  122. package/esm/.db/26452/data/1/120.json +0 -1
  123. package/esm/.db/26452/data/1/123.json +0 -1
  124. package/esm/.db/265430/data/1/120.json +0 -1
  125. package/esm/.db/265430/data/1/123.json +0 -1
  126. package/esm/.db/269049/data/0/0.json +0 -1
  127. package/esm/.db/269049/data/1/120.json +0 -1
  128. package/esm/.db/269049/data/1/123.json +0 -1
  129. package/esm/.db/273652/data/0/0.json +0 -1
  130. package/esm/.db/273652/data/1/120.json +0 -1
  131. package/esm/.db/273652/data/1/123.json +0 -1
  132. package/esm/.db/281035/data/0/0.json +0 -1
  133. package/esm/.db/281035/data/1/120.json +0 -1
  134. package/esm/.db/281035/data/1/123.json +0 -1
  135. package/esm/.db/281140/data/0/13315.json +0 -1
  136. package/esm/.db/281140/data/1/120.json +0 -1
  137. package/esm/.db/281140/data/1/123.json +0 -1
  138. package/esm/.db/295732/data/ppl/bob.json +0 -1
  139. package/esm/.db/296113/data/1/123.json +0 -1
  140. package/esm/.db/297154/data/0/13315.json +0 -1
  141. package/esm/.db/297154/data/1/120.json +0 -1
  142. package/esm/.db/297154/data/1/123.json +0 -1
  143. package/esm/.db/304770/data/1/120.json +0 -1
  144. package/esm/.db/304770/data/1/123.json +0 -1
  145. package/esm/.db/3081/data/0/0.json +0 -1
  146. package/esm/.db/3081/data/1/120.json +0 -1
  147. package/esm/.db/3081/data/1/123.json +0 -1
  148. package/esm/.db/310793/data/1/120.json +0 -1
  149. package/esm/.db/310793/data/1/123.json +0 -1
  150. package/esm/.db/317310/data/1/123.json +0 -1
  151. package/esm/.db/317819/data/1/example.json +0 -1
  152. package/esm/.db/319464/data/0/0.json +0 -1
  153. package/esm/.db/319464/data/1/120.json +0 -1
  154. package/esm/.db/319464/data/1/123.json +0 -1
  155. package/esm/.db/32053/data/1/120.json +0 -1
  156. package/esm/.db/32053/data/1/123.json +0 -1
  157. package/esm/.db/322473/data/ppl/bob.json +0 -1
  158. package/esm/.db/323300/data/1/123.json +0 -1
  159. package/esm/.db/323840/data/0/0.json +0 -1
  160. package/esm/.db/323840/data/1/120.json +0 -1
  161. package/esm/.db/323840/data/1/123.json +0 -1
  162. package/esm/.db/328731/data/0/0.json +0 -1
  163. package/esm/.db/328731/data/1/120.json +0 -1
  164. package/esm/.db/328731/data/1/123.json +0 -1
  165. package/esm/.db/334158/data/1/example.json +0 -1
  166. package/esm/.db/334577/data/1/example.json +0 -1
  167. package/esm/.db/339914/data/1/123.json +0 -1
  168. package/esm/.db/34265/data/0/0.json +0 -1
  169. package/esm/.db/34265/data/1/120.json +0 -1
  170. package/esm/.db/34265/data/1/123.json +0 -1
  171. package/esm/.db/346364/data/1/123.json +0 -1
  172. package/esm/.db/349791/data/0/14083.json +0 -1
  173. package/esm/.db/349791/data/1/120.json +0 -1
  174. package/esm/.db/349791/data/1/123.json +0 -1
  175. package/esm/.db/349791/data/15/0.json +0 -1
  176. package/esm/.db/350767/data/ppl/bob.json +0 -1
  177. package/esm/.db/352310/data/0/13315.json +0 -1
  178. package/esm/.db/352310/data/1/120.json +0 -1
  179. package/esm/.db/352310/data/1/123.json +0 -1
  180. package/esm/.db/35438/data/1/123.json +0 -1
  181. package/esm/.db/354670/data/0/13315.json +0 -1
  182. package/esm/.db/354670/data/1/120.json +0 -1
  183. package/esm/.db/354670/data/1/123.json +0 -1
  184. package/esm/.db/354805/data/0/0.json +0 -1
  185. package/esm/.db/354805/data/1/120.json +0 -1
  186. package/esm/.db/354805/data/1/123.json +0 -1
  187. package/esm/.db/358368/data/1/example.json +0 -1
  188. package/esm/.db/358831/data/1/123.json +0 -1
  189. package/esm/.db/360133/data/0/0.json +0 -1
  190. package/esm/.db/360133/data/1/120.json +0 -1
  191. package/esm/.db/360133/data/1/123.json +0 -1
  192. package/esm/.db/367925/data/0/13315.json +0 -1
  193. package/esm/.db/367925/data/1/120.json +0 -1
  194. package/esm/.db/367925/data/1/123.json +0 -1
  195. package/esm/.db/369638/data/1/123.json +0 -1
  196. package/esm/.db/3700/data/1/120.json +0 -1
  197. package/esm/.db/3700/data/1/123.json +0 -1
  198. package/esm/.db/374988/data/0/0.json +0 -1
  199. package/esm/.db/374988/data/1/120.json +0 -1
  200. package/esm/.db/374988/data/1/123.json +0 -1
  201. package/esm/.db/380018/data/1/123.json +0 -1
  202. package/esm/.db/380021/data/1/123.json +0 -1
  203. package/esm/.db/386761/data/1/123.json +0 -1
  204. package/esm/.db/387217/data/0/13315.json +0 -1
  205. package/esm/.db/387217/data/1/120.json +0 -1
  206. package/esm/.db/387217/data/1/123.json +0 -1
  207. package/esm/.db/392652/data/1/123.json +0 -1
  208. package/esm/.db/392692/data/0/13315.json +0 -1
  209. package/esm/.db/392692/data/1/120.json +0 -1
  210. package/esm/.db/392692/data/1/123.json +0 -1
  211. package/esm/.db/396339/data/1/123.json +0 -1
  212. package/esm/.db/404348/data/1/123.json +0 -1
  213. package/esm/.db/405894/data/0/14083.json +0 -1
  214. package/esm/.db/405894/data/1/120.json +0 -1
  215. package/esm/.db/405894/data/1/123.json +0 -1
  216. package/esm/.db/405894/data/15/0.json +0 -1
  217. package/esm/.db/406165/data/1/example.json +0 -1
  218. package/esm/.db/407316/data/ppl/bob.json +0 -1
  219. package/esm/.db/407987/data/1/123.json +0 -1
  220. package/esm/.db/410181/data/1/123.json +0 -1
  221. package/esm/.db/411981/data/1/120.json +0 -1
  222. package/esm/.db/411981/data/1/123.json +0 -1
  223. package/esm/.db/416278/data/1/120.json +0 -1
  224. package/esm/.db/416278/data/1/123.json +0 -1
  225. package/esm/.db/418449/data/1/123.json +0 -1
  226. package/esm/.db/425620/data/1/120.json +0 -1
  227. package/esm/.db/425620/data/1/123.json +0 -1
  228. package/esm/.db/429727/data/1/123.json +0 -1
  229. package/esm/.db/435030/data/1/123.json +0 -1
  230. package/esm/.db/444362/data/1/120.json +0 -1
  231. package/esm/.db/444362/data/1/123.json +0 -1
  232. package/esm/.db/446985/data/1/123.json +0 -1
  233. package/esm/.db/451355/data/1/120.json +0 -1
  234. package/esm/.db/451355/data/1/123.json +0 -1
  235. package/esm/.db/45640/data/1/123.json +0 -1
  236. package/esm/.db/46155/data/0/0.json +0 -1
  237. package/esm/.db/46155/data/0/13315.json +0 -1
  238. package/esm/.db/46155/data/1/120.json +0 -1
  239. package/esm/.db/46155/data/1/123.json +0 -1
  240. package/esm/.db/46528/data/1/123.json +0 -1
  241. package/esm/.db/466476/data/1/123.json +0 -1
  242. package/esm/.db/467578/data/0/0.json +0 -1
  243. package/esm/.db/467578/data/1/120.json +0 -1
  244. package/esm/.db/467578/data/1/123.json +0 -1
  245. package/esm/.db/472245/data/1/123.json +0 -1
  246. package/esm/.db/474238/data/1/example.json +0 -1
  247. package/esm/.db/477291/data/1/123.json +0 -1
  248. package/esm/.db/477375/data/1/120.json +0 -1
  249. package/esm/.db/477375/data/1/123.json +0 -1
  250. package/esm/.db/479960/data/1/123.json +0 -1
  251. package/esm/.db/482327/data/1/123.json +0 -1
  252. package/esm/.db/487117/data/1/example.json +0 -1
  253. package/esm/.db/495075/data/1/123.json +0 -1
  254. package/esm/.db/498660/data/1/123.json +0 -1
  255. package/esm/.db/510578/data/1/123.json +0 -1
  256. package/esm/.db/514521/data/1/123.json +0 -1
  257. package/esm/.db/524536/data/1/120.json +0 -1
  258. package/esm/.db/524536/data/1/123.json +0 -1
  259. package/esm/.db/52751/data/1/example.json +0 -1
  260. package/esm/.db/530599/data/ppl/bob.json +0 -1
  261. package/esm/.db/536579/data/1/123.json +0 -1
  262. package/esm/.db/539183/data/1/123.json +0 -1
  263. package/esm/.db/539222/data/1/example.json +0 -1
  264. package/esm/.db/542071/data/0/0.json +0 -1
  265. package/esm/.db/542071/data/0/13315.json +0 -1
  266. package/esm/.db/542071/data/1/120.json +0 -1
  267. package/esm/.db/542071/data/1/123.json +0 -1
  268. package/esm/.db/542939/data/ppl/bob.json +0 -1
  269. package/esm/.db/547077/data/1/123.json +0 -1
  270. package/esm/.db/548947/data/ppl/bob.json +0 -1
  271. package/esm/.db/551385/data/0/0.json +0 -1
  272. package/esm/.db/551385/data/1/120.json +0 -1
  273. package/esm/.db/551385/data/1/123.json +0 -1
  274. package/esm/.db/553486/data/0/0.json +0 -1
  275. package/esm/.db/553486/data/1/120.json +0 -1
  276. package/esm/.db/553486/data/1/123.json +0 -1
  277. package/esm/.db/554578/data/1/123.json +0 -1
  278. package/esm/.db/555963/data/1/123.json +0 -1
  279. package/esm/.db/556201/data/1/123.json +0 -1
  280. package/esm/.db/572000/data/1/123.json +0 -1
  281. package/esm/.db/572151/data/1/123.json +0 -1
  282. package/esm/.db/573301/data/1/123.json +0 -1
  283. package/esm/.db/579648/data/0/0.json +0 -1
  284. package/esm/.db/579648/data/1/120.json +0 -1
  285. package/esm/.db/579648/data/1/123.json +0 -1
  286. package/esm/.db/579648/data/3/104.json +0 -1
  287. package/esm/.db/582311/data/1/example.json +0 -1
  288. package/esm/.db/587351/data/0/14083.json +0 -1
  289. package/esm/.db/587351/data/1/120.json +0 -1
  290. package/esm/.db/587351/data/1/123.json +0 -1
  291. package/esm/.db/587351/data/15/0.json +0 -1
  292. package/esm/.db/588867/data/0/0.json +0 -1
  293. package/esm/.db/588867/data/1/120.json +0 -1
  294. package/esm/.db/588867/data/1/123.json +0 -1
  295. package/esm/.db/589730/data/1/123.json +0 -1
  296. package/esm/.db/591738/data/0/13315.json +0 -1
  297. package/esm/.db/591738/data/1/120.json +0 -1
  298. package/esm/.db/591738/data/1/123.json +0 -1
  299. package/esm/.db/593460/data/1/123.json +0 -1
  300. package/esm/.db/595304/data/1/123.json +0 -1
  301. package/esm/.db/595772/data/0/13315.json +0 -1
  302. package/esm/.db/595772/data/1/120.json +0 -1
  303. package/esm/.db/595772/data/1/123.json +0 -1
  304. package/esm/.db/596051/data/0/0.json +0 -1
  305. package/esm/.db/596051/data/1/120.json +0 -1
  306. package/esm/.db/596051/data/1/123.json +0 -1
  307. package/esm/.db/601728/data/1/120.json +0 -1
  308. package/esm/.db/601728/data/1/123.json +0 -1
  309. package/esm/.db/619154/data/1/123.json +0 -1
  310. package/esm/.db/620185/data/1/123.json +0 -1
  311. package/esm/.db/623179/data/1/123.json +0 -1
  312. package/esm/.db/623265/data/1/123.json +0 -1
  313. package/esm/.db/630002/data/1/120.json +0 -1
  314. package/esm/.db/630002/data/1/123.json +0 -1
  315. package/esm/.db/631961/data/1/123.json +0 -1
  316. package/esm/.db/635637/data/0/14083.json +0 -1
  317. package/esm/.db/635637/data/1/120.json +0 -1
  318. package/esm/.db/635637/data/1/123.json +0 -1
  319. package/esm/.db/635637/data/15/0.json +0 -1
  320. package/esm/.db/636670/data/1/example.json +0 -1
  321. package/esm/.db/640527/data/0/0.json +0 -1
  322. package/esm/.db/640527/data/1/120.json +0 -1
  323. package/esm/.db/640527/data/1/123.json +0 -1
  324. package/esm/.db/644020/data/0/13315.json +0 -1
  325. package/esm/.db/644020/data/1/120.json +0 -1
  326. package/esm/.db/644020/data/1/123.json +0 -1
  327. package/esm/.db/64462/data/0/14083.json +0 -1
  328. package/esm/.db/64462/data/1/120.json +0 -1
  329. package/esm/.db/64462/data/1/123.json +0 -1
  330. package/esm/.db/64462/data/15/0.json +0 -1
  331. package/esm/.db/646266/data/1/123.json +0 -1
  332. package/esm/.db/650764/data/1/120.json +0 -1
  333. package/esm/.db/650764/data/1/123.json +0 -1
  334. package/esm/.db/654655/data/0/0.json +0 -1
  335. package/esm/.db/654655/data/1/120.json +0 -1
  336. package/esm/.db/654655/data/1/123.json +0 -1
  337. package/esm/.db/658164/data/1/120.json +0 -1
  338. package/esm/.db/658164/data/1/123.json +0 -1
  339. package/esm/.db/65937/data/1/123.json +0 -1
  340. package/esm/.db/659738/data/0/13315.json +0 -1
  341. package/esm/.db/659738/data/1/120.json +0 -1
  342. package/esm/.db/659738/data/1/123.json +0 -1
  343. package/esm/.db/660517/data/0/13315.json +0 -1
  344. package/esm/.db/660517/data/1/120.json +0 -1
  345. package/esm/.db/660517/data/1/123.json +0 -1
  346. package/esm/.db/664564/data/1/123.json +0 -1
  347. package/esm/.db/672001/data/1/example.json +0 -1
  348. package/esm/.db/674620/data/1/123.json +0 -1
  349. package/esm/.db/67532/data/1/123.json +0 -1
  350. package/esm/.db/675670/data/1/120.json +0 -1
  351. package/esm/.db/675670/data/1/123.json +0 -1
  352. package/esm/.db/686538/data/1/123.json +0 -1
  353. package/esm/.db/691017/data/1/123.json +0 -1
  354. package/esm/.db/691716/data/1/120.json +0 -1
  355. package/esm/.db/691716/data/1/123.json +0 -1
  356. package/esm/.db/693105/data/0/14083.json +0 -1
  357. package/esm/.db/693105/data/1/120.json +0 -1
  358. package/esm/.db/693105/data/1/123.json +0 -1
  359. package/esm/.db/693105/data/15/0.json +0 -1
  360. package/esm/.db/694486/data/1/123.json +0 -1
  361. package/esm/.db/702106/data/1/120.json +0 -1
  362. package/esm/.db/702106/data/1/123.json +0 -1
  363. package/esm/.db/7047/data/1/123.json +0 -1
  364. package/esm/.db/705954/data/0/13315.json +0 -1
  365. package/esm/.db/705954/data/1/120.json +0 -1
  366. package/esm/.db/705954/data/1/123.json +0 -1
  367. package/esm/.db/710967/data/1/120.json +0 -1
  368. package/esm/.db/710967/data/1/123.json +0 -1
  369. package/esm/.db/715883/data/0/13315.json +0 -1
  370. package/esm/.db/715883/data/1/120.json +0 -1
  371. package/esm/.db/715883/data/1/123.json +0 -1
  372. package/esm/.db/717358/data/1/120.json +0 -1
  373. package/esm/.db/717358/data/1/123.json +0 -1
  374. package/esm/.db/71999/data/0/13315.json +0 -1
  375. package/esm/.db/71999/data/1/120.json +0 -1
  376. package/esm/.db/71999/data/1/123.json +0 -1
  377. package/esm/.db/720364/data/1/123.json +0 -1
  378. package/esm/.db/727249/data/1/120.json +0 -1
  379. package/esm/.db/727249/data/1/123.json +0 -1
  380. package/esm/.db/728258/data/1/example.json +0 -1
  381. package/esm/.db/728986/data/0/13315.json +0 -1
  382. package/esm/.db/728986/data/1/120.json +0 -1
  383. package/esm/.db/728986/data/1/123.json +0 -1
  384. package/esm/.db/732768/data/1/120.json +0 -1
  385. package/esm/.db/732768/data/1/123.json +0 -1
  386. package/esm/.db/733885/data/1/123.json +0 -1
  387. package/esm/.db/736192/data/0/0.json +0 -1
  388. package/esm/.db/736192/data/1/120.json +0 -1
  389. package/esm/.db/736192/data/1/123.json +0 -1
  390. package/esm/.db/73856/data/0/0.json +0 -1
  391. package/esm/.db/73856/data/1/120.json +0 -1
  392. package/esm/.db/73856/data/1/123.json +0 -1
  393. package/esm/.db/738577/data/1/123.json +0 -1
  394. package/esm/.db/744844/data/1/123.json +0 -1
  395. package/esm/.db/745738/data/1/123.json +0 -1
  396. package/esm/.db/747240/data/1/123.json +0 -1
  397. package/esm/.db/749115/data/0/0.json +0 -1
  398. package/esm/.db/749115/data/1/120.json +0 -1
  399. package/esm/.db/749115/data/1/123.json +0 -1
  400. package/esm/.db/749514/data/0/0.json +0 -1
  401. package/esm/.db/749514/data/1/120.json +0 -1
  402. package/esm/.db/749514/data/1/123.json +0 -1
  403. package/esm/.db/754982/data/1/123.json +0 -1
  404. package/esm/.db/765281/data/0/13315.json +0 -1
  405. package/esm/.db/765281/data/1/120.json +0 -1
  406. package/esm/.db/765281/data/1/123.json +0 -1
  407. package/esm/.db/765521/data/0/14083.json +0 -1
  408. package/esm/.db/765521/data/1/120.json +0 -1
  409. package/esm/.db/765521/data/1/123.json +0 -1
  410. package/esm/.db/765521/data/15/0.json +0 -1
  411. package/esm/.db/766288/data/ppl/bob.json +0 -1
  412. package/esm/.db/766864/data/1/123.json +0 -1
  413. package/esm/.db/770788/data/0/14083.json +0 -1
  414. package/esm/.db/770788/data/1/120.json +0 -1
  415. package/esm/.db/770788/data/1/123.json +0 -1
  416. package/esm/.db/770788/data/15/0.json +0 -1
  417. package/esm/.db/774499/data/1/example.json +0 -1
  418. package/esm/.db/774617/data/ppl/bob.json +0 -1
  419. package/esm/.db/775617/data/1/123.json +0 -1
  420. package/esm/.db/779782/data/1/123.json +0 -1
  421. package/esm/.db/779921/data/1/123.json +0 -1
  422. package/esm/.db/782910/data/1/123.json +0 -1
  423. package/esm/.db/783279/data/0/13315.json +0 -1
  424. package/esm/.db/783279/data/1/120.json +0 -1
  425. package/esm/.db/783279/data/1/123.json +0 -1
  426. package/esm/.db/785515/data/1/123.json +0 -1
  427. package/esm/.db/791284/data/0/0.json +0 -1
  428. package/esm/.db/791284/data/1/120.json +0 -1
  429. package/esm/.db/791284/data/1/123.json +0 -1
  430. package/esm/.db/791361/data/0/14083.json +0 -1
  431. package/esm/.db/791361/data/1/120.json +0 -1
  432. package/esm/.db/791361/data/1/123.json +0 -1
  433. package/esm/.db/791361/data/15/0.json +0 -1
  434. package/esm/.db/791754/data/1/120.json +0 -1
  435. package/esm/.db/791754/data/1/123.json +0 -1
  436. package/esm/.db/792232/data/0/13315.json +0 -1
  437. package/esm/.db/792232/data/1/120.json +0 -1
  438. package/esm/.db/792232/data/1/123.json +0 -1
  439. package/esm/.db/792777/data/0/13315.json +0 -1
  440. package/esm/.db/792777/data/1/120.json +0 -1
  441. package/esm/.db/792777/data/1/123.json +0 -1
  442. package/esm/.db/793249/data/0/123.json +0 -1
  443. package/esm/.db/795512/data/0/0.json +0 -1
  444. package/esm/.db/795512/data/1/120.json +0 -1
  445. package/esm/.db/795512/data/1/123.json +0 -1
  446. package/esm/.db/795512/data/3/104.json +0 -1
  447. package/esm/.db/796663/data/1/123.json +0 -1
  448. package/esm/.db/797304/data/0/0.json +0 -1
  449. package/esm/.db/797304/data/1/120.json +0 -1
  450. package/esm/.db/797304/data/1/123.json +0 -1
  451. package/esm/.db/797304/data/3/104.json +0 -1
  452. package/esm/.db/800834/data/1/123.json +0 -1
  453. package/esm/.db/806421/data/1/120.json +0 -1
  454. package/esm/.db/806421/data/1/123.json +0 -1
  455. package/esm/.db/81623/data/0/14083.json +0 -1
  456. package/esm/.db/81623/data/1/120.json +0 -1
  457. package/esm/.db/81623/data/1/123.json +0 -1
  458. package/esm/.db/81623/data/15/0.json +0 -1
  459. package/esm/.db/81941/data/1/120.json +0 -1
  460. package/esm/.db/81941/data/1/123.json +0 -1
  461. package/esm/.db/820340/data/0/0.json +0 -1
  462. package/esm/.db/820340/data/1/120.json +0 -1
  463. package/esm/.db/820340/data/1/123.json +0 -1
  464. package/esm/.db/821932/data/1/120.json +0 -1
  465. package/esm/.db/821932/data/1/123.json +0 -1
  466. package/esm/.db/823440/data/1/123.json +0 -1
  467. package/esm/.db/823889/data/1/120.json +0 -1
  468. package/esm/.db/823889/data/1/123.json +0 -1
  469. package/esm/.db/823896/data/1/123.json +0 -1
  470. package/esm/.db/836077/data/0/14083.json +0 -1
  471. package/esm/.db/836077/data/1/120.json +0 -1
  472. package/esm/.db/836077/data/1/123.json +0 -1
  473. package/esm/.db/836077/data/15/0.json +0 -1
  474. package/esm/.db/837341/data/1/123.json +0 -1
  475. package/esm/.db/844882/data/1/123.json +0 -1
  476. package/esm/.db/847654/data/1/example.json +0 -1
  477. package/esm/.db/856010/data/0/13315.json +0 -1
  478. package/esm/.db/856010/data/1/120.json +0 -1
  479. package/esm/.db/856010/data/1/123.json +0 -1
  480. package/esm/.db/856047/data/1/120.json +0 -1
  481. package/esm/.db/856047/data/1/123.json +0 -1
  482. package/esm/.db/856820/data/1/123.json +0 -1
  483. package/esm/.db/857266/data/1/123.json +0 -1
  484. package/esm/.db/86017/data/0/13315.json +0 -1
  485. package/esm/.db/86017/data/1/120.json +0 -1
  486. package/esm/.db/86017/data/1/123.json +0 -1
  487. package/esm/.db/862600/data/1/120.json +0 -1
  488. package/esm/.db/862600/data/1/123.json +0 -1
  489. package/esm/.db/871866/data/0/13315.json +0 -1
  490. package/esm/.db/871866/data/1/120.json +0 -1
  491. package/esm/.db/871866/data/1/123.json +0 -1
  492. package/esm/.db/875359/data/0/0.json +0 -1
  493. package/esm/.db/875359/data/1/120.json +0 -1
  494. package/esm/.db/875359/data/1/123.json +0 -1
  495. package/esm/.db/875359/data/3/104.json +0 -1
  496. package/esm/.db/876330/data/1/example.json +0 -1
  497. package/esm/.db/880182/data/1/123.json +0 -1
  498. package/esm/.db/882138/data/0/0.json +0 -1
  499. package/esm/.db/882138/data/1/120.json +0 -1
  500. package/esm/.db/882138/data/1/123.json +0 -1
  501. package/esm/.db/882722/data/1/example.json +0 -1
  502. package/esm/.db/885449/data/ppl/bob.json +0 -1
  503. package/esm/.db/893417/data/1/example.json +0 -1
  504. package/esm/.db/897575/data/1/example.json +0 -1
  505. package/esm/.db/897832/data/0/13315.json +0 -1
  506. package/esm/.db/897832/data/1/120.json +0 -1
  507. package/esm/.db/897832/data/1/123.json +0 -1
  508. package/esm/.db/898043/data/0/0.json +0 -1
  509. package/esm/.db/898043/data/1/120.json +0 -1
  510. package/esm/.db/898043/data/1/123.json +0 -1
  511. package/esm/.db/898201/data/ppl/bob.json +0 -1
  512. package/esm/.db/900442/data/1/123.json +0 -1
  513. package/esm/.db/900800/data/0/0.json +0 -1
  514. package/esm/.db/900800/data/1/120.json +0 -1
  515. package/esm/.db/900800/data/1/123.json +0 -1
  516. package/esm/.db/910535/data/1/120.json +0 -1
  517. package/esm/.db/910535/data/1/123.json +0 -1
  518. package/esm/.db/911132/data/1/120.json +0 -1
  519. package/esm/.db/911132/data/1/123.json +0 -1
  520. package/esm/.db/913152/data/1/120.json +0 -1
  521. package/esm/.db/913152/data/1/123.json +0 -1
  522. package/esm/.db/91378/data/1/123.json +0 -1
  523. package/esm/.db/918654/data/1/example.json +0 -1
  524. package/esm/.db/929039/data/ppl/bob.json +0 -1
  525. package/esm/.db/932648/data/1/123.json +0 -1
  526. package/esm/.db/936016/data/1/example.json +0 -1
  527. package/esm/.db/936843/data/1/123.json +0 -1
  528. package/esm/.db/940099/data/1/example.json +0 -1
  529. package/esm/.db/941807/data/1/120.json +0 -1
  530. package/esm/.db/941807/data/1/123.json +0 -1
  531. package/esm/.db/941934/data/0/14083.json +0 -1
  532. package/esm/.db/941934/data/1/120.json +0 -1
  533. package/esm/.db/941934/data/1/123.json +0 -1
  534. package/esm/.db/941934/data/15/0.json +0 -1
  535. package/esm/.db/943744/data/1/120.json +0 -1
  536. package/esm/.db/943744/data/1/123.json +0 -1
  537. package/esm/.db/955716/data/1/123.json +0 -1
  538. package/esm/.db/956030/data/1/123.json +0 -1
  539. package/esm/.db/956395/data/1/120.json +0 -1
  540. package/esm/.db/956395/data/1/123.json +0 -1
  541. package/esm/.db/956498/data/1/123.json +0 -1
  542. package/esm/.db/957435/data/1/123.json +0 -1
  543. package/esm/.db/960302/data/1/example.json +0 -1
  544. package/esm/.db/964149/data/0/0.json +0 -1
  545. package/esm/.db/964149/data/1/120.json +0 -1
  546. package/esm/.db/964149/data/1/123.json +0 -1
  547. package/esm/.db/965213/data/0/13315.json +0 -1
  548. package/esm/.db/965213/data/1/120.json +0 -1
  549. package/esm/.db/965213/data/1/123.json +0 -1
  550. package/esm/.db/966774/data/1/120.json +0 -1
  551. package/esm/.db/966774/data/1/123.json +0 -1
  552. package/esm/.db/972484/data/1/123.json +0 -1
  553. package/esm/.db/973155/data/1/123.json +0 -1
  554. package/esm/.db/973642/data/1/123.json +0 -1
  555. package/esm/.db/975603/data/0/0.json +0 -1
  556. package/esm/.db/975603/data/1/120.json +0 -1
  557. package/esm/.db/975603/data/1/123.json +0 -1
  558. package/esm/.db/979812/data/0/13315.json +0 -1
  559. package/esm/.db/979812/data/1/120.json +0 -1
  560. package/esm/.db/979812/data/1/123.json +0 -1
  561. package/esm/.db/985666/data/1/example.json +0 -1
  562. package/esm/.db/986784/data/0/0.json +0 -1
  563. package/esm/.db/986784/data/1/120.json +0 -1
  564. package/esm/.db/986784/data/1/123.json +0 -1
  565. package/esm/.db/988463/data/1/120.json +0 -1
  566. package/esm/.db/988463/data/1/123.json +0 -1
  567. package/esm/.db/990386/data/1/120.json +0 -1
  568. package/esm/.db/990386/data/1/123.json +0 -1
  569. package/esm/.db/994488/data/0/0.json +0 -1
  570. package/esm/.db/994488/data/1/120.json +0 -1
  571. package/esm/.db/994488/data/1/123.json +0 -1
  572. package/esm/.db/999130/data/ppl/bob.json +0 -1
@@ -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: Tags?.length ? 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
- opt.tags = buildTags(
97
- null,
98
- mergeLeft(tags(opt.tags ?? []), {
99
- "Data-Protocol": "ao",
100
- Variant: "ao.TN.1",
101
- Type: "Process",
102
- SDK: "aoconnect",
103
- Module: mod,
104
- Scheduler: opt.scheduler,
105
- "Content-Type": "text/plain",
106
- Authority: mu.addr,
107
- }),
108
- )
109
- let ex = false
110
- for (let v of opt.tags) if (v.name === "Type") ex = true
111
- if (!ex) opt.tags.push({ name: "Type", value: "Process" })
112
- if (opt.for) opt.tags.push({ name: "Pushed-For", value: opt.for })
113
- const {
114
- id,
115
- owner,
116
- item,
117
- tags: __tags,
118
- } = await ar.dataitem({
119
- item: opt.item,
120
- data: opt.data,
121
- signer: opt.signer,
122
- tags: tags(opt.tags),
123
- })
124
- opt.tags = buildTags(null, __tags)
125
- if (opt.item) opt.data = base64url.decode(item.data)
126
- await ar.postItems(item, su.jwk)
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, mu.addr, true)
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 ex = false
352
- let id = opt?.item?.id ?? ""
353
- let owner = opt.owner ?? ""
354
- let item = opt.item
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
- await assign({
383
- message_item: item,
384
- message: id,
385
- process: opt.process,
386
- from: owner,
387
- signer: mu.signer,
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
- mu.addr,
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
@@ -1,5 +1,6 @@
1
1
  import AR from "./ar.js"
2
2
  import AO from "./ao.js"
3
+ import HB from "./hb.js"
3
4
  import GQL from "./gql.js"
4
5
 
5
- export { AO, AR, GQL }
6
+ export { AO, AR, HB, GQL }
Binary file