Repository navigation
π»ββοΈ Propter polar bear: packed-state prover and deployable node - #13
Open
iChristwin wants to merge 10 commits into
Open
iChristwin wants to merge 10 commits into
iChristwin wants to merge 10 commits into
Conversation
Use four-byte slots, authenticated packed meter state, and a clean documented implementation. Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Add Docker Compose, locked image inputs, HTTPS/Streamr validation, persistent queueing, gas admission and durable request/transaction recovery. Publish tested images through GitHub Actions for simple installations. Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Guard output directories as soon as a paid attempt exists, serialize access, and flush witnesses before requesting proofs. Document the existing signature format when resetting genesis. Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Use Alloy with_chain_id and test the production request builder by signing and decoding its transaction without the SP1 feature. Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Use only the first 72 message bytes, acknowledge individual discards and duplicate relays, and retain valid peers in mixed batches. Keep database writes authenticated and canonical, with retryable infrastructure failures and concurrent nonce conflict protection. Cover HTTP behavior and real PostgreSQL races and rollback. Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Expose the worker shared-memory limit so real batches do not inherit Dockerβs 64 MiB default. Keep allocation bounded by the worker memory limit and set setup/Compose defaults to twelve hours. Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
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.
Replace snapshot/MPT processing with authenticated sparse updates to packed Rollup words: four uint40 Wh accounts and uint24 nonces per word, four-byte slot IDs, absolute replacements, and current on-chain signing keys.
Package PostgreSQL, Streamr/HTTPS ingestion, and scheduled proving with Docker Compose and interactive setup. Keep spending keys in the worker, and preserve paid request/proof/signed-transaction artifacts for recovery. Apply modeled and live-chain gas admission, local cycle/PGU admission, price/credit and ETH funding checks before buying proofs.
π»ββοΈ Accept single actions or batches permissively. Use only the first 72 message bytes and discard the suffix before validation. Store only canonical, authenticated actions: discard malformed prefixes, invalid signatures, consumed nonces and conflicting entries without rejecting valid peers. Identical relays deduplicate. Return HTTP 202 with accepted/duplicates/discarded counts, including all-discarded batches. Keep malformed JSON/body limits, congestion and infrastructure failures as explicit transport/retry errors; RPC outages do not become successful discards, and database failures roll back writes.
GitHub Actions builds and smoke-tests public GHCR images, including real guest execution. Base-image digests, dependency locks, the guest ELF/checksum/vkey, Dockerfiles and the main README support repeatable builds and contributions. Dependency-path normalization reproduces the packaged guest ELF byte for byte. Credentials and runtime databases are excluded.
Companion: M3tering/Rollup#1. Sepolia Rollup:
0x9a9ED9b9A9BEC10d1B5E41b1873E78d19501D5Fa. The separate local node useshttps://test-prover.m3ter.ing. Fresh genesis requires nonce 1 and owner-registered keys. The README documents historical signature reuse when resetting nonces with an existing signing key.Validation: all seven ingestion tests passed locally against a disposable PostgreSQL database. Coverage includes HTTP acknowledgements, truncation, invalid prefixes despite valid suffixes, mixed batches, canonical DB contents, duplicate/conflict races, RPC failures, DB rollback, nonce gaps and paid-request recovery safeguards. Existing protocol tests cover accounting, encoding, gas admission, signing and real guest execution. The companion Rollup has 30 passing tests and exact Etherscan/Sourcify verification. A paid end-to-end proof still requires a fresh signed meter action.
Co-authored with @iChristwin π»ββοΈ