Repository navigation
Conversation
…ned operator and admin messages to the protocol processes on an internal HyperBEAM node
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
hyperbeam-gateway, a public service in front of a HyperBEAM node that is reachable only inside the cluster. It answers a fixed set of reads and signed messages for operator-registry, relay-rewards and staking-rewards, checks every message before it reaches the node, and builds its own request to the node instead of forwarding the client's path, query string or headers. Routes are the node's own paths, so@anyone-protocol/ao-clientand the dashboard work against the gateway or a node without changes.Changes
apps/hyperbeam-gateway: ANS-104 parsing and Ethereum (type 3) signature verification on@noble/curvesand@noble/hashes2.4.0, low-s only.Submit-Fingerprint-Certificate,Renounce-Fingerprint-Certificate,Set-DelegateandSet-Share. The gateway applies the contract's own precondition from operator-registry'soperatorview first, so a message the contract would reject never takes a slot.ADMIN_ACTIONS, and are accepted only from a signer inADMIN_SIGNERSwho also holdsadminor the action's role in the process'srolesview. Controller actions (Add-Scores,Complete-Round,Claim-Rewards) andEvalare not routable.dumpis not served. Message results are served only for slots the gateway itself sent.Verified
bun run checkwith Bun 1.4.3: 242 pass, 1 skipped (the existing real-node test).@dha-team/arbundles1.0.4; the test signer reproduces those items byte for byte.@anyone-protocol/ao-clientsendMessageandreadViewrun unchanged against the gateway backed by a stub node: a submission is accepted and its result read back, an identical resend is answered from the record with one push at the node, a refused submission surfaces asAoHttpError403, anddumpasAoNotFoundError.bun, answers/healthz, creates its record under/app/data, and answers 502 when no node is reachable.