Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1344 commits
Select commit Hold shift + click to select a range
5e8fc81
chore: re-enable bundled_and_unbundled_ids_differ_test for ans104
JamesPiechota Aug 20, 2025
9ca9b3b
chore: test store isolation in `~json-iface@1.0` test
samcamwilliams Aug 20, 2025
e295bed
fix: ensure keys in ao-types fields are transformed like other ans104…
JamesPiechota Aug 20, 2025
4fe7e7e
feat: MVP partial Arweave GQL implementation
samcamwilliams Aug 20, 2025
096c520
impr: handle raw JSON body key in `graphql` handler
samcamwilliams Aug 21, 2025
22b6797
fix: normalize binary path generation
samcamwilliams Aug 21, 2025
a17e6f6
chore: add `graphql_erl` to `rebar.config`
samcamwilliams Aug 21, 2025
bdf3d36
feat: add `~copycat@1.0` -- a basic indexer that crawls graphql results
samcamwilliams Aug 21, 2025
5420a84
fix: rename links from committed keys if they have been resolved
parthks Aug 21, 2025
5ae3295
chore: isolate test stores
samcamwilliams Aug 21, 2025
1d0103a
wip: simplify nested bundles in `ans104`
samcamwilliams Aug 21, 2025
943c2d5
impr: simplify `ans104/from` data parsing
samcamwilliams Aug 21, 2025
d859cae
chore: tidy `ar_bundles.erl` comments and logical flow
samcamwilliams Aug 21, 2025
fa2ae4a
wip: choose key location based on ANS-104 sorting rules; fix JSON ifa…
samcamwilliams Aug 21, 2025
e6d2e0c
chore: `throw` on attempt to encode `~ans104@1.0` with too many keys
samcamwilliams Aug 21, 2025
936c04d
Merge pull request #441 from permaweb/fix/ans104-bundles
samcamwilliams Aug 21, 2025
80b7d43
impr: search `LinkOpts` for `scope` element before finding stores
samcamwilliams Aug 22, 2025
56398cd
fix: `~manifest@1.0` implementation
samcamwilliams Aug 22, 2025
1bd643e
chore: tidy call in `~meta@1.0`
samcamwilliams Aug 22, 2025
2bfc0f0
Merge pull request #442 from permaweb/feat/manifest-support
samcamwilliams Aug 22, 2025
09ca62e
impr: added additional gql route
Aug 22, 2025
ac96349
feat: introduces `multirequest` admissibility filtering based on admi…
samcamwilliams Aug 22, 2025
086abc9
feat: multirequest across multiple GQL endpoints upon empty response
samcamwilliams Aug 22, 2025
8aac099
Merge pull request #445 from permaweb/impr/routes-gql
twilson63 Aug 22, 2025
4cb8846
Merge remote-tracking branch 'hyperbeam-main/edge' into feat/graphql
samcamwilliams Aug 23, 2025
54172e7
fix: return correct tuple format from cowboy handler
VanshSahay Aug 25, 2025
3f5e153
fix: resolve query matching issue and add tags filter test
Lucifer0x17 Aug 25, 2025
8292232
feat: add comprehensive GraphQL transactions query tests and fix mat…
Lucifer0x17 Aug 25, 2025
ea549de
Merge branch 'feat/graphql' of https://github.com/permaweb/HyperBEAM …
Lucifer0x17 Aug 25, 2025
c461000
Merge branch 'edge' into fix/accept_codec
twilson63 Aug 25, 2025
d3f766b
Feat: aded support for transaction query
Lucifer0x17 Aug 25, 2025
123c6f3
feat: support all non-block/bundle return types of legacy GQL
samcamwilliams Aug 25, 2025
1bda95d
chore: add `anchor` return-type test
samcamwilliams Aug 25, 2025
e5c1a73
fix: `hb_message:commitments` passes full message to `:commitment`
samcamwilliams Aug 25, 2025
ac1cfe6
chore: move GQL query tests to separate module
samcamwilliams Aug 25, 2025
fa21e37
Merge pull request #429 from permaweb/fix/accept_codec
twilson63 Aug 25, 2025
86616a1
fix: do not return full `data` or `body` elements in GQL response
samcamwilliams Aug 25, 2025
6784c38
Merge pull request #447 from permaweb/feat/graphql
samcamwilliams Aug 25, 2025
34b4279
feat: add dryrun codepath for post computes
jfrain99 Aug 12, 2025
21a14fb
fix: do not allow manual owner on req to be passed
jfrain99 Aug 12, 2025
31e6576
feat: `~process@1.0/as` key
samcamwilliams Aug 12, 2025
fbedcaf
feat: add type "assignment" to assignments generated in scheduler server
jfrain99 Aug 13, 2025
29bcf96
revert: pass empty binary as owner if no signers
jfrain99 Aug 13, 2025
2e6a4b8
feat: dryrun when no assignment
jfrain99 Aug 13, 2025
3ae4cbf
chore: clean up genesis wasm tests
jfrain99 Aug 13, 2025
47c36b9
revert: remove post_compute from dev_process
jfrain99 Aug 13, 2025
3585bed
fix: update delegated_compute event
jfrain99 Aug 13, 2025
82ea6d5
feat: remove commitments before sending dryrun to cu
jfrain99 Aug 14, 2025
b4d0aaa
feat: add hmac to tabm if no commitments
jfrain99 Aug 14, 2025
a1c44dc
Revert "feat: add hmac to tabm if no commitments"
jfrain99 Aug 14, 2025
165d488
fix: improve genesis_wasm tests and add dryrun test
jfrain99 Aug 14, 2025
8a431cf
chore: tidying
samcamwilliams Aug 15, 2025
a0600d7
impr: `~copycat@1.0` query parsing usability
samcamwilliams Aug 26, 2025
30f5883
fix: anchor and target encoding to match existing Arweave GQL schema
samcamwilliams Aug 26, 2025
89aaac2
impr: JSON encoding uses native types; correctly bundles data
samcamwilliams Aug 26, 2025
5328626
fix: borked error formatting
samcamwilliams Aug 26, 2025
f614c01
impr: timeout and abort for scheduler requests
samcamwilliams Aug 26, 2025
bc20266
impr: expose path-to-message parser in `hb_singleton`
samcamwilliams Aug 26, 2025
0c7d663
fix: `hb_message:match` wildcard behavior
samcamwilliams Aug 26, 2025
a0d2369
chore: cleanup
samcamwilliams Aug 26, 2025
3cdf5a3
chore: miscellaneous cleanup
samcamwilliams Aug 26, 2025
48f1129
wip: decode HTTP inbound based on `content-type`
samcamwilliams Aug 26, 2025
d5a0fc6
Merge pull request #448 from permaweb/misc/content-type-decoding-and-…
samcamwilliams Aug 26, 2025
3689dae
fix: a verification issue with ans104
JamesPiechota Aug 26, 2025
372dbd4
Merge pull request #449 from permaweb/fix/ans104-field-tag-ordering-2…
samcamwilliams Aug 26, 2025
6db1500
Merge branch 'edge' into feat/dryrun-genesis-wasm
samcamwilliams Aug 26, 2025
3edcd47
fix: catch error on patch result call in dev_genesis_wasm
jfrain99 Aug 26, 2025
a98026f
fix: catch error on patch result call in dev_genesis_wasm
jfrain99 Aug 26, 2025
19c468a
Merge pull request #423 from permaweb/feat/dryrun-genesis-wasm
samcamwilliams Aug 27, 2025
08a42fa
wip: re-organize message key constraining on write
samcamwilliams Aug 22, 2025
ae23bbd
chore: remove left-over `debug` event group calls
samcamwilliams Aug 22, 2025
714453e
fix: use `hb_maps` where necessary in HTTP flow; give more helpful AO…
samcamwilliams Aug 22, 2025
221f3ec
wip: use `~eval@1.0/pair` in relayed request, such that the user path…
samcamwilliams Aug 22, 2025
553ac0a
impr: separate user base message from user path, such that path can b…
samcamwilliams Aug 23, 2025
463ff36
impr: link formatting in output
samcamwilliams Aug 24, 2025
458b3bd
fix: add slot key for cached scheduled assignments
parthks Aug 26, 2025
40c1486
wip: Sourcing of message to assign in `~scheduler@1.0`
samcamwilliams Aug 26, 2025
e746e1e
Revert "wip: Sourcing of message to assign in `~scheduler@1.0`"
samcamwilliams Aug 27, 2025
7975b0c
Merge branch 'impr/cache-isolation' into edge
samcamwilliams Aug 27, 2025
1d579b1
feat: Allow logging with AO-Core stacktraces
samcamwilliams Aug 27, 2025
0d14180
Merge pull request #450 from permaweb/feat/ao-trace-logging
samcamwilliams Aug 27, 2025
cb4b379
chore: event groups
samcamwilliams Aug 27, 2025
a182bf7
impr: `~apply@1.0` API and usability
samcamwilliams Aug 27, 2025
c9a671a
fix: use direct key access in hb_http
samcamwilliams Aug 27, 2025
3a3b975
fix: remove source resolution if it contains a path
samcamwilliams Aug 28, 2025
b08f9d7
Merge pull request #451 from permaweb/impr/apply@1.0
samcamwilliams Aug 28, 2025
d5f9ba7
impr: Always print commitments at the top of message formatter outputs
samcamwilliams Aug 28, 2025
e28f98e
fix: store LN schedules in raw form; normalize them on read from cache
samcamwilliams Aug 28, 2025
0f3774c
Merge pull request #453 from permaweb/impr/format-comm-ordering
samcamwilliams Aug 28, 2025
2e63962
Merge pull request #454 from permaweb/fix/store-ln-schedules-raw
samcamwilliams Aug 29, 2025
361e472
impr: explicit map parsing in HTTP messages; multi-tag search in copycat
samcamwilliams Aug 29, 2025
3963bac
impr: `ensure_loaded` supports loading `{Status, _}`-format responses
samcamwilliams Aug 29, 2025
8b96ed6
Merge pull request #455 from permaweb/feat/copycat-query-maps
samcamwilliams Aug 29, 2025
4c6aa97
wip: refactor `is-admissible` in `hb_gateway_client`
samcamwilliams Aug 29, 2025
805e0b6
fix: node process tests must use isolated stores
samcamwilliams Aug 29, 2025
8ba0657
chore: ensure all loaded before match in `~router@1.0`
samcamwilliams Aug 29, 2025
504bcbd
feat: Appropriately support price calculation from `~apply@1.0` subreqs
samcamwilliams Aug 29, 2025
3ce24c0
fix: Do not encode body or data in headers during `accept`-mediated r…
samcamwilliams Aug 29, 2025
ffa264c
fix: find GQL result in `request` rather than base in `~query@1.0/has…
samcamwilliams Aug 29, 2025
e85cde8
Merge pull request #456 from permaweb/impr/normalize-is-admissible
samcamwilliams Aug 29, 2025
88f733f
chore: add scheduler-location event group
samcamwilliams Aug 29, 2025
d1dffe9
chore: remove errant debug `x` group
samcamwilliams Aug 29, 2025
51a46dc
chore: add remote store event groups
samcamwilliams Aug 29, 2025
6ad8ccc
chore: partial fix of failing `genesis_wasm` test
samcamwilliams Aug 29, 2025
eae97b8
Merge pull request #457 from permaweb/chore/tidy-event-groups
samcamwilliams Aug 29, 2025
9ec81c3
fix: Empty Lua tables are messages in AO; misc. Lua fixes
samcamwilliams Sep 1, 2025
e137b22
Merge pull request #459 from permaweb/fix/lua-empty-tables
samcamwilliams Sep 1, 2025
b84fccc
wip: remote gateway peer test
samcamwilliams Aug 30, 2025
bf596aa
wip: do not get data from `/raw` gateway endpoint if size is zero
samcamwilliams Aug 30, 2025
24bf089
impr: callers of `write_location` verify scheduler locations, not int…
samcamwilliams Aug 31, 2025
297ddcc
chore: `scheduler_location` events
samcamwilliams Aug 31, 2025
ad3a054
impr: cache remote peer results in `hb_store_gateway` as well as `rem…
samcamwilliams Aug 31, 2025
d3807a2
chore: normalize pseudo-paths in `~scheduler@1.0` cache
samcamwilliams Aug 31, 2025
d1d3eb8
chore: further event group naming fixes
samcamwilliams Aug 31, 2025
ca2b3c2
impr: fallback from `~ans104@1.0` decoding to httpsig if outbound res…
samcamwilliams Aug 31, 2025
782b100
Merge pull request #446 from VanshSahay/bug/http_format
samcamwilliams Sep 1, 2025
4be8186
Merge pull request #458 from permaweb/impr/gateway-peer-reads
samcamwilliams Sep 1, 2025
27f0513
feat: implement Arweave block and TX endpoints
samcamwilliams Sep 2, 2025
241084a
feat: implement Arweave block indexer in `~copycat@1.0`; refactor ccat.
samcamwilliams Sep 2, 2025
094bc5d
chore: misc clean-up
samcamwilliams Sep 2, 2025
322810c
wip: GraphQL requests interpreted as 'AND' rather than 'OR' operations
samcamwilliams Sep 2, 2025
8646a62
wip: block query support
Lucifer0x17 Sep 2, 2025
10e9e20
bump cowboy to 2.13.0
noahlevenson Sep 2, 2025
78a0409
make http3 server respect user configured port
noahlevenson Sep 2, 2025
abb536b
wip: block filtering
samcamwilliams Sep 2, 2025
2dd0e15
fix typo in error
noahlevenson Sep 2, 2025
98978c3
feat: support block-by-id lookup
samcamwilliams Sep 3, 2025
267df0f
feat: support block range queries
samcamwilliams Sep 3, 2025
1235f59
fix: filter types are `AND` not `OR`. Needs perf work.
samcamwilliams Sep 3, 2025
cbacd0f
fix: return `independent_hash` as ID for blocks
samcamwilliams Sep 3, 2025
dc8cff5
chore: tidy test
samcamwilliams Sep 3, 2025
3bd25c8
chore: improve `copycat_short` event group
samcamwilliams Sep 3, 2025
0db2084
Merge pull request #462 from permaweb/device/arweave
samcamwilliams Sep 3, 2025
fe43dff
chore: Add test for `POST`ing ANS104 items to `~arweave@2.9-pre`.
samcamwilliams Sep 3, 2025
e3f2424
Merge pull request #463 from permaweb/chore/post-tx-test
samcamwilliams Sep 3, 2025
98e566f
impr: `require-codec` replaces `accept-codec` _forces_ encoding with …
samcamwilliams Sep 4, 2025
a722778
Merge pull request #464 from permaweb/impr/require-codec
samcamwilliams Sep 4, 2025
6990078
fix: match both cases for assignment in dev delegated compute
jfrain99 Sep 5, 2025
9d73abb
bump gun to 2.2.0
noahlevenson Sep 5, 2025
1f3d052
make hb_http test use gun instead of httpc
noahlevenson Sep 5, 2025
a7038c9
fix: converting type to capital Assignment
parthks Sep 8, 2025
f8c7a5d
Merge pull request #466 from permaweb/fix/assignment-type-case-match
twilson63 Sep 8, 2025
78098b1
force HTTP2 for server restart test
noahlevenson Sep 8, 2025
cd5fa8b
Merge pull request #467 from permaweb/fix/http3-server
samcamwilliams Sep 8, 2025
62c2219
fix: correctly parse signature in message_to_json_struct
jfrain99 Sep 8, 2025
bfd72e9
chore: fix tuples vs lists; tidy
samcamwilliams Sep 8, 2025
bc0eef5
Merge pull request #468 from permaweb/fix/send-correct-sig-to-genesis…
samcamwilliams Sep 9, 2025
31b8573
fix: nodes can use other peers as graphql servers
samcamwilliams Sep 9, 2025
60663c2
impr: add route normalization if `node` param given in gateway store …
samcamwilliams Sep 9, 2025
84599ef
Merge pull request #469 from permaweb/fix/peer-to-peer-graphql
samcamwilliams Sep 9, 2025
14452f0
fix: httpsig encodes/decodes tag values
JamesPiechota Sep 12, 2025
48d665e
Merge pull request #476 from permaweb/fix/encode-siginfo-strings
samcamwilliams Sep 12, 2025
b47bbd6
cherry: import escaping of profile name
samcamwilliams Sep 17, 2025
2f9e828
feat: lookup key directly in messages if dev is `message@1.0`
samcamwilliams Sep 17, 2025
351477c
wip: test setup
samcamwilliams Sep 17, 2025
84637b8
chore: cleanup
samcamwilliams Sep 17, 2025
a4acbfe
wip: `exports` compat fixes
samcamwilliams Sep 17, 2025
7fd0926
chore: refactor AO-Core device-related functions into lib
samcamwilliams Sep 18, 2025
a2c51c3
fix: `exports` keys as binaries
samcamwilliams Sep 18, 2025
4cc5aa9
wip: refactor hueristic cache lookups
samcamwilliams Sep 18, 2025
2d6fbc2
chore: tidy
samcamwilliams Sep 18, 2025
1ac920a
fix: return value handling
samcamwilliams Sep 18, 2025
c647536
feat: `hb_store_gateway` supports sub-path resolution
samcamwilliams Sep 18, 2025
0bab2d5
wip: fix(?) non-direct keys for all devices include the base non-dire…
samcamwilliams Sep 18, 2025
e17e5c2
wip: allow non-local cache reads in cache control lookup
samcamwilliams Sep 18, 2025
b73b8f6
fix: remove leading `/` from `dynamic-router` default path
samcamwilliams Sep 19, 2025
0f0148d
fix: (?) calculate default ID form for base proc ID in `~push@.10`
samcamwilliams Sep 19, 2025
32c35e6
chore: disable tests that were incorrectly stated as passing in edge
samcamwilliams Sep 19, 2025
3b645d5
chore: tidy events
samcamwilliams Sep 19, 2025
0b2e66d
wip: only scan local caches for direct lookups; efficiently re-use `S…
samcamwilliams Sep 19, 2025
3c639a4
Merge pull request #483 from permaweb/feat/heuristic-message-lookup
samcamwilliams Sep 19, 2025
f1929af
wip: implements a radix prefix tree for efficient large message stora…
samcamwilliams Sep 20, 2025
9572024
fix: `longest_match`
samcamwilliams Sep 20, 2025
a342978
wip: fix the test case logic and added `?event` macro
Lucifer0x17 Sep 20, 2025
327be8d
refactor: added the `~hb_ao_device` for api calls
Lucifer0x17 Sep 20, 2025
15a60f6
fix: both the failing test cases works now
Lucifer0x17 Sep 20, 2025
4899f5a
FIX: test cases transformed to use `normalize_commitments` functionality
Lucifer0x17 Sep 20, 2025
9a76728
impr: add multi-set test; tests use `hb_message:match`
samcamwilliams Sep 20, 2025
9582627
chore: add large balance table test
samcamwilliams Sep 21, 2025
3fd61bc
chore: fix unnecessary `~message/get`
samcamwilliams Sep 21, 2025
e0087db
fix: correctly encode `~profile@1.0` names in `engine: eflame`
samcamwilliams Sep 21, 2025
5977290
wip: linkify message at ID normalization
samcamwilliams Sep 22, 2025
5765f42
feat: add support for importing genesis checkpoints and `POST /checkp…
samcamwilliams Sep 12, 2025
0e3e520
wip: update `~genesis-wasm@1.0/normalize` to match CU
samcamwilliams Sep 12, 2025
db98055
WIP: take process id as key
jfrain99 Sep 15, 2025
403d791
feat: allow passing of relay headers to relay device
jfrain99 Sep 17, 2025
bf7d949
feat: pass process-id as a key to import
jfrain99 Sep 17, 2025
ac6b4cc
feat: add genesis_wasm trusted owners to opts
jfrain99 Sep 17, 2025
4d40880
wip: correctly linkify in `~trie@1.0`
samcamwilliams Sep 22, 2025
260d5da
chore: improve `hb_link:normalize` explanation
samcamwilliams Sep 22, 2025
cd00d83
impr: support multiple return modes in `~profile@1.0/eval&engine=event`
samcamwilliams Sep 22, 2025
980ab4a
chore: better id event group labelling
samcamwilliams Sep 22, 2025
03de20c
chore: add `~patch@1.0` trie test
samcamwilliams Sep 22, 2025
9024c60
chore: update test size
samcamwilliams Sep 23, 2025
123deb6
chore: reconstruct `~patch@1.0` with `~trie@1.0` test
samcamwilliams Sep 23, 2025
d534e91
chore: remove dead status handler
samcamwilliams Sep 23, 2025
7a4a9f7
wip: merge with device `set` key in `hb_ao:set`
samcamwilliams Sep 23, 2025
1ca2d3b
impr: appropriately place device merge functionality in `~message@1.0`
samcamwilliams Sep 23, 2025
e381643
chore: tidy `~trie@1.0` test
samcamwilliams Sep 23, 2025
33213d1
wip: `~patch@1.0` trie test passes; needs clean-up
samcamwilliams Sep 23, 2025
687bff8
chore: clean-up from prior `wip` commit
samcamwilliams Sep 23, 2025
d5e8fe8
chore: more cleanup; test speed
samcamwilliams Sep 23, 2025
4307736
fix: remove `Tags` from processed JSON
samcamwilliams Sep 23, 2025
2c8df91
hack: temporarily filter `<<>>` from keys in grouping
samcamwilliams Sep 23, 2025
6401158
Merge branch 'feat/import-checkpoints-genesis' into omni/m3-b3
Sep 24, 2025
7a3b8d0
Fix: Updating the trie with new values not existing in it
Lucifer0x17 Sep 24, 2025
f483f06
Chore: Added new test cases to check the edge case and updation
Lucifer0x17 Sep 24, 2025
4ea011c
impr: refactor and clean-up
samcamwilliams Sep 24, 2025
5ee4317
impr: device documentation for `~trie@1.0`
samcamwilliams Sep 24, 2025
a1dd5d8
chore: tidy
samcamwilliams Sep 24, 2025
64c5dbe
wip: raise match errors to caller; re-raise in `set`
samcamwilliams Sep 24, 2025
da8e3c0
Merge branch 'feat/dev-trie' into omni/m3-b3
Sep 24, 2025
5518a6e
wip: raise match errors to caller; (temp. disabled) re-raise in `set`
samcamwilliams Sep 24, 2025
c3a9f54
chore: reset cache usage in `~push@1.0`
samcamwilliams Sep 24, 2025
61f482a
Merge branch 'omni/m3-b3' into feat/dev-trie
twilson63 Sep 24, 2025
05113bf
Merge pull request #489 from permaweb/feat/dev-trie
twilson63 Sep 24, 2025
50e91ea
fix: increase memory limit for genesis wasm
jfrain99 Sep 24, 2025
098ae99
Merge pull request #491 from permaweb/fix/genesis-memory-limit-config
jfrain99 Sep 24, 2025
a41e113
hack: WIP remove invalid keys
samcamwilliams Sep 26, 2025
37cc3b8
chore: improve string management abstractions
samcamwilliams Sep 28, 2025
45c4818
feat: truncate keys in large messages during printing. Controllable w…
samcamwilliams Sep 28, 2025
f2dd693
impr: control componennts of env to print in `~hyperbuddy@1.0/format`.
samcamwilliams Sep 28, 2025
4a70d40
impr: pass request params to index key generators
samcamwilliams Sep 28, 2025
c7823cd
chore: remove duplicate test call from `rebar3 eunit`
samcamwilliams Sep 28, 2025
1a31b62
impr: remove implied `format_` from function names in `hb_format`
samcamwilliams Sep 28, 2025
e8b559a
feat: truncate list elements in `hb_format` calls, as with message keys
samcamwilliams Sep 28, 2025
2107c4e
chore: latest cowlib, cowboy, gun, and cowboy_prometheus (+ deps).
samcamwilliams Sep 29, 2025
67d5dc5
chore: tidy test flag; format default keys
samcamwilliams Sep 29, 2025
97369dd
feat: support branch values in `~trie@1.0`; refactor
samcamwilliams Sep 29, 2025
6f4c4b6
fix: encode & in eflame generation
jfrain99 Sep 29, 2025
50aed6b
Merge pull request #497 from permaweb/fix/encode-ampersand-eflame
samcamwilliams Sep 29, 2025
80df008
fix: ignore set calls for empty string keys
samcamwilliams Sep 30, 2025
f9be075
chore: set HTTP request timeout to 5 minutes by default
samcamwilliams Sep 30, 2025
b840bdb
fix: remove relay headers, pass m2 as headers without custom
jfrain99 Sep 29, 2025
909ac6c
fix: path on target overrides
jfrain99 Sep 30, 2025
2efafd5
fix: make new genesis wasm input vars configurable
jfrain99 Sep 30, 2025
5727ced
fix: disregard non-SVG outline from flame generator
samcamwilliams Oct 1, 2025
767072d
chore: test realism
samcamwilliams Oct 1, 2025
d4f95bb
chore: test realism
samcamwilliams Oct 1, 2025
79afc47
wip: revert `~trie@1.0` reimplementation
samcamwilliams Oct 1, 2025
16f1c91
wip: use `target` not `headers` in `~relay@1.0` call
samcamwilliams Oct 1, 2025
8b8af1c
Merge branch 'wip/revert-trie' into omni/m3-b3
samcamwilliams Oct 1, 2025
c162cc1
fix: remove opts defaults for gw limits
jfrain99 Oct 1, 2025
09908e4
Merge pull request #499 from permaweb/fix/genesis-wasm-config
jfrain99 Oct 1, 2025
25033e0
fix: remove relay headers, use target
jfrain99 Oct 1, 2025
71f3bbe
Merge pull request #496 from permaweb/fix/remove-relay-headers
samcamwilliams Oct 2, 2025
d58f16b
chore: disabled inoperable remote node test
samcamwilliams Oct 2, 2025
fb9a232
fix(dev): update genesis_wasm to support 16giB memory
Aug 19, 2025
5a613f7
chore(git): add github to publish image
Aug 19, 2025
d6c522c
chore(hb): fix path of genesis wasm in docker container
dtfiedler Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions .githooks/_/install.sh

This file was deleted.

25 changes: 0 additions & 25 deletions .githooks/commit-msg

This file was deleted.

36 changes: 36 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Build and Publish Docker Image

on:
workflow_dispatch:
push:
branches:
- main

jobs:
image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3

- name: Log in to the GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push container image to GitHub Container Registry
uses: docker/build-push-action@v5
with:
labels: |
org.opencontainers.image.revision=${{ github.sha }}
push: true
platforms: linux/amd64
tags: |
ghcr.io/${{ github.repository_owner }}/hyperbeam:latest
ghcr.io/${{ github.repository_owner }}/hyperbeam:${{ github.sha }}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# config.*
.rebar3
_build
_checkouts
Expand Down Expand Up @@ -42,4 +43,6 @@ mkdocs-site/
mkdocs-site-id.txt
mkdocs-site-manifest.csv

!test/admissible-report-wallet.json
!test/admissible-report-wallet.json
!test/admissible-report.json
!test/config.json
7 changes: 6 additions & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"internalConsoleOptions": "openOnSessionStart",
"module": "hb_debugger",
"function": "start_and_break",
"args": "[${input:moduleName}, ${input:functionName}, [${input:funcArgs}]]"
"args": "[${input:moduleName}, ${input:functionName}, [${input:funcArgs}], <<\"${input:debuggerScope}\">>]"
},
{
"name": "Attach to a 'rebar3 debugger' node.",
Expand Down Expand Up @@ -65,6 +65,11 @@
"id": "funcArgs",
"type": "promptString",
"description": "(Optional) Pass arguments to the function:"
},
{
"id": "debuggerScope",
"type": "promptString",
"description": "(Optional) Additional modules/prefixes for debugger scope:"
}
]
}
32 changes: 31 additions & 1 deletion .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,37 @@
{
"label": "Stop HyperBEAM",
"type": "shell",
"command": "lsof -i tcp:10000 | tail -n 1 | awk '{print $2}' | xargs kill -9"
"command": "lsof -i tcp:8734 | tail -n 1 | awk '{print $2}' | xargs kill -9"
},
{
"label": "Generate a flame graph for a function.",
"type": "shell",
"command": "rebar3 as eflame shell --eval \"hb_debugger:profile_and_stop(fun() -> ${input:moduleName}:${input:functionName}(${input:funcArgs}) end).\"",
"group": "test",
"problemMatcher": "$erlang",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "new"
}
}
],
"inputs": [
{
"id": "moduleName",
"type": "promptString",
"description": "Enter module:"
},
{
"id": "functionName",
"type": "promptString",
"description": "Enter an exported function name:"
},
{
"id": "funcArgs",
"type": "promptString",
"description": "(Optional) Pass arguments to the function:"
}
]
}
47 changes: 36 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM --platform=linux/amd64 ubuntu:22.04
FROM ubuntu:22.04 AS builder

RUN apt-get update && apt-get install -y \
build-essential \
Expand All @@ -7,7 +7,9 @@ RUN apt-get update && apt-get install -y \
pkg-config \
ncurses-dev \
libssl-dev \
sudo
sudo \
curl \
ca-certificates

RUN git clone https://github.com/erlang/otp.git && \
cd otp && \
Expand All @@ -21,15 +23,38 @@ RUN git clone https://github.com/erlang/rebar3.git && \
./bootstrap && \
sudo mv rebar3 /usr/local/bin/

RUN git clone https://github.com/rust-lang/rust.git && \
cd rust && \
./configure && \
make && \
sudo make install
# install node 22 (used by genesis_wasm profile)
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
apt-get install -y nodejs && \
node --version

RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"

WORKDIR /opt

COPY . .

# compile the project with provided profiles
RUN rebar3 clean && rebar3 get-deps && rebar3 as genesis_wasm release

FROM ubuntu:22.04 AS runner

WORKDIR /opt

# Install Node 22 dependencies
RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
gnupg

COPY . /app
# node 22 is still needed for genesis_wasm profile
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
apt-get install -y nodejs && \
node --version

RUN cd /app && \
rebar3 compile
# copy the build artifacts from the builder stage
COPY --from=builder /opt/_build/ /opt/_build/

CMD ["/bin/bash"]
# bin bash here to start the container
ENTRYPOINT ["/opt/_build/genesis_wasm/rel/hb/bin/hb"]
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ compile:
WAMR_VERSION = 2.2.0
WAMR_DIR = _build/wamr

GENESIS_WASM_BRANCH = tillathehun0/cu-experimental
GENESIS_WASM_BRANCH = feat/http-checkpoint
GENESIS_WASM_REPO = https://github.com/permaweb/ao.git
GENESIS_WASM_SERVER_DIR = _build/genesis-wasm-server
GENESIS_WASM_SERVER_DIR = _build/genesis_wasm/genesis-wasm-server

ifdef HB_DEBUG
WAMR_FLAGS = -DWAMR_ENABLE_LOG=1 -DWAMR_BUILD_DUMP_CALL_STACK=1 -DCMAKE_BUILD_TYPE=Debug
Expand Down Expand Up @@ -98,7 +98,7 @@ setup-genesis-wasm: $(GENESIS_WASM_SERVER_DIR)
echo "Error: Node.js is not installed. Please install Node.js before continuing."; \
echo "For Ubuntu/Debian, you can install it with:"; \
echo " curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && \\"; \
echo " apt-get install -y nodejs && \\"; \
echo " apt-get install -y nodejs=22.16.0-1nodesource1 --allow-downgrades && \\"; \
echo " node -v && npm -v"; \
exit 1; \
fi
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,4 +298,3 @@ by [Forward Research](https://fwd.arweave.net). Pull Requests are always welcome

To get started building on HyperBEAM, check out the [hacking on HyperBEAM](./docs/misc/hacking-on-hyperbeam.md)
guide.

2 changes: 1 addition & 1 deletion config.flat
Original file line number Diff line number Diff line change
@@ -1 +1 @@
port: 10000
port: 10000
12 changes: 6 additions & 6 deletions native/dev_snp_nif/src/attestation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@ pub fn generate_attestation_report<'a>(
};

// Step 5: Log the serialized JSON for debugging purposes.
log_message(
"INFO",
file!(),
line!(),
&format!("Generated report JSON: {:?}", report_json),
);
// log_message(
// "INFO",
// file!(),
// line!(),
// &format!("Generated report JSON: {:?}", report_json),
// );

// Step 6: Return the result as a tuple with the `ok` atom.
Ok((ok(), report_json).encode(env))
Expand Down
13 changes: 5 additions & 8 deletions native/dev_snp_nif/src/digest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,11 @@ pub fn compute_launch_digest<'a>(env: Env<'a>, input_map: Term<'a>) -> NifResult
kernel_file: None,
initrd_file: None,
append: None,
// vcpus: args.vcpus,
// vcpu_type: CpuType::try_from(args.vcpu_type).unwrap(),
// vmm_type: Some(VMMType::try_from(args.vmm_type).unwrap()),
// guest_features: GuestFeatures(args.guest_features),
vcpus: 32,
vcpu_type: CpuType::EpycV4,
vmm_type: Some(VMMType::QEMU),
guest_features: GuestFeatures(0x1),

vcpus: args.vcpus,
vcpu_type: CpuType::try_from(args.vcpu_type).unwrap(),
vmm_type: Some(VMMType::try_from(args.vmm_type).unwrap()),
guest_features: GuestFeatures(args.guest_features),
ovmf_hash_str: Some(args.ovmf_hash_str.as_str()),
kernel_hash: Some(hex::decode(args.kernel_hash).unwrap().try_into().unwrap()),
initrd_hash: Some(hex::decode(args.initrd_hash).unwrap().try_into().unwrap()),
Expand Down
Loading
Loading