Skip to content

πŸ»β€β„οΈ Propter polar bear: packed Rollup and verified Sepolia deployment - #1

Open
iChristwin wants to merge 5 commits into
mainfrom
propter-polar-bear
Open

iChristwin wants to merge 5 commits into
mainfrom
propter-polar-bear

Conversation

@iChristwin

@iChristwin iChristwin commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Replace code snapshots with sparse packed storage: four uint40 Wh accounts and uint24 nonces per word, uint32 slot IDs and absolute word replacements. Reconstruct the proof statement from current old words and full on-chain keys; verify after provisional writes so invalid proofs revert atomically. Emit the exact update bytes for indexers.

πŸ»β€β„οΈ Add m3terId(bytes32) reverse keystore lookup. Keep nonzero keys unique, allow idempotent registration, and remove reverse entries on rotation/revocation. Unknown and zero keys revert with KeyNotFound, preserving a valid lookup result of meter 0. NFT-owner authority remains unchanged. Append the reverse mapping at slot 3, preserving existing word/key/program-key slots and the guest statement.

Deploy the replacement fresh-genesis Sepolia instance at 0x9a9ED9b9A9BEC10d1B5E41b1873E78d19501D5Fa with the specified M3ter NFT and SP1 gateway. Restrict the testing vkey setter to the deploying wallet and chain ID 11155111; reject zero keys. This test-only administrative authority can alter the accepted program and should be removed for a mainnet release.

Record deployment/registration transactions and verification results; archive the previous deployment. Etherscan verification passed; Sourcify reports exact creation and runtime matches. Meter 7's key is registered and its reverse lookup returns 7. The previous Rollup had zero committed words, and its empty prover database was backed up before the switch.

Validation: all 30 Solidity tests passed, including 1,024-run packing and keystore fuzz tests, authority, duplicate rejection, meter-zero/max-ID handling, rotation/revocation/reuse, replay/domain checks and rollback behavior. Separate accounting and bidirectional-keystore invariants each passed 16,384 calls. Deployed runtime bytecode matches the tested artifact.

Companion packaged prover: M3tering/Prover#13. The existing published guest/images remain compatible; the node configuration and database identity now use the new address.

Co-authored with @iChristwin πŸ»β€β„οΈ

Use four-byte slots, authenticated packed meter state, and a clean documented implementation.

Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Keep account, nonce, and words as the read interface. Update packing coverage and README.

Validation: 22 Solidity tests pass under the CI profile, including 16,384 invariant calls.

Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
…tration

Set the supplied NFT/verifier addresses, restrict program-key changes to the deployer on Sepolia, and record the fresh-genesis deployment and meter 7 key registration. Etherscan verification passed; Sourcify reports exact creation/runtime matches. All 23 Solidity tests passed.

Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
@iChristwin iChristwin changed the title πŸ»β€β„οΈ Propter polar bear: canonical rollup protocol πŸ»β€β„οΈ Propter polar bear: packed Rollup and verified Sepolia deployment Oct 27, 2026
codex and others added 2 commits October 28, 2026 07:02
Maintain both keystore directions through registration, rotation and revocation, including meter zero. Preserve the statement and state storage layout. Cover behavior with fuzz tests and a stateful bidirectional model.

Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Archive the previous deployment, record the replacement contract and meter 7 registration, and update the documented address. Etherscan verification passed; Sourcify reports exact creation and runtime matches.

Co-authored-by: I. Christwin <52095470+iChristwin@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants