Solution: LP-0017 — Whistleblower#48
Conversation
|
|
Hi! Thank you for your submission. I will review later this week and will try to come back with concrete comment. |
| - [x] **Broadcast dedup**: chronicle keeps a per-CID publish ledger; subscribers (incl. `batch-anchor`) skip duplicates. | ||
| - [x] **Batch tool resume after interruption**: seeded from chain at startup + Waku store-protocol catch-up over a configurable lookback window. | ||
| - [x] **CU benchmarks (1 + 50 CID)**: documented in `README_CHRONICLE_REGISTRY.md` § Compute units (cold n=1 = 2,240 cycles; cold n=50 = 178,646 cycles). | ||
| - [x] **Local LEZ deployment**: chronicle-registry deploys to a local LEZ devnet via `make deploy`; `scripts/setup.sh` does so end-to-end. |
There was a problem hiding this comment.
I think we need to have it tested on the testnet/devnet as per criteria here
https://github.com/logos-co/lambda-prize/blob/master/prizes/LP-0017.md#supportability
have you tried?
There was a problem hiding this comment.
At the time I submitted i wasnt aware there was a publicly available devnet.
I have just now deployed the registry and tested it on there
The deploy transaction is a752b72b95ed607f9c7238a042d62639a3cad2d8a2772ec5b047a07e17d7cf11,
the registry was opened in cebc71807de8a04dd2ab1e15026602b697329a2fdceaf80dfe22ac5e59958d7a,
an n=1 index_batch ran in ef7abccab98859028a608b3a4e7abeb355bb4a67fa48d0c5cc76e25ab8fdba26,
and an n=50 index_batch ran in 0eddbf2e877430e073a59c6e27842da07b4f34e0b733e4d24643d7074d9cb6cc
| - [x] **Batch tool resume after interruption**: seeded from chain at startup + Waku store-protocol catch-up over a configurable lookback window. | ||
| - [x] **CU benchmarks (1 + 50 CID)**: documented in `README_CHRONICLE_REGISTRY.md` § Compute units (cold n=1 = 2,240 cycles; cold n=50 = 178,646 cycles). | ||
| - [x] **Local LEZ deployment**: chronicle-registry deploys to a local LEZ devnet via `make deploy`; `scripts/setup.sh` does so end-to-end. | ||
| - [ ] **E2E integration tests in CI**: IT contract sketched in `integration-test.toml`; chronicle smoke test on the IT topic; that runs against a real local sequencer; `RISC0_DEV_MODE` left unset so the prover runs in production mode CI runner that runs lez and logoscore environment pending. |
There was a problem hiding this comment.
I am not sure on this step. Were you able to validate E2E?
https://github.com/logos-co/lambda-prize/blob/master/prizes/LP-0017.md#supportability
There was a problem hiding this comment.
To clarify what I meant by "E2E validated": the publish + anchor flows are both exercised by
reproducible smoke tests packaged as Nix flake apps, runnable from a fresh clone with:
nix run .#smoke-publish # upload → broadcast → status → restart-persistence
nix run .#smoke-anchor # full publish + on-chain registry round-trip
Both run against actual nwaku and (for anchor) an actual LEZ sequencer + on-chain
chronicle-registry SPEL program — no mocks. The publish smoke also drops and restarts the
daemon mid-test to verify ledger reload. They're driven by the same chronicle plugin a basecamp
user runs, so passing locally means the whole pipeline works end-to-end.
The reason was scope: smoke-anchor needs the LEZ sequencer running, which is
non-trivial to provision on a stock runner. I'd been validating both manually on every push and
treating that as sufficient for the prize submission.
I'm pushing a commit now that should adds them to CI — it brings up nwaku via docker-compose, builds the modules via Nix,
and runs nix run
There was a problem hiding this comment.
thanks, while manually everything must be working we still need to have tests and green CI (as per criteria in the link)
|
|
||
| Worst-case (n=50 near the 100 KiB account-data cap) is ~288k cycles — well under 1 Mi, ~3 % of the NSSA 32 Mi per-tx budget. | ||
|
|
||
| ### Supportability |
There was a problem hiding this comment.
I can't find in this document mentioning of CI is green on the default branch but it is a criteria listed in https://github.com/logos-co/lambda-prize/blob/master/prizes/LP-0017.md#supportability
There was a problem hiding this comment.
What i had on CI, was tests for the anchor tool were green. But as referenced above i shall push the remaining e2e tests up.
| @@ -0,0 +1,141 @@ | |||
| # Solution: LP-0017 — Whistleblower | |||
There was a problem hiding this comment.
overall, in this submission I see you are missing GitHub issues filed for any problems encountered with Logos technology
have you had no problems? was everything smooth?
There was a problem hiding this comment.
this is one of the requirements
https://github.com/logos-co/lambda-prize/blob/master/prizes/LP-0017.md#submission-requirements
There was a problem hiding this comment.
I shall add that to documentation, but the one issue in did encounter i made a pr for it
logos-co/spel#189
its just around serialisation of string vecs in spel cli
There was a problem hiding this comment.
please, add it
any other issues have you had?
|
I left some comments, please, let me know if you have questions Meanwhile I will try to play with your submitted software |
|
I have checked https://github.com/Thompsonmina/WhistleBlower-Logos- and here are some comments:
|
Yes the custom pin is because of the fix. Without it i cant use the cli to populate the cids into the registries, hence the pr. But if you look at the scope of the pr, it basically on touches the part needed for that. Once accepted it should be trivial to point back to regular spel.
Thanks for flagging this. The program_id is set in one place in batch-anchor: batch-anchor/batch-anchor.toml — production config If your build does produce a different program_id for any reason (e.g. modified guest deps, different risc0 toolchain, or cargo build instead of make build), the fix is just to swap the line in batch-anchor.toml to whatever ID make deploy reports — no code change needed. If you can share the program_id make deploy produced (or the error you hit), happy to dig into the divergence.
When you say "mismatched CIDs" — is that about this project and my open PR to spel (logos-co/spel#189), or about plain upstream spel? If plain spel: as I noted earlier, upstream spel currently has no way to invoke a method with a Vec argument — that's the whole problem the PR solves. |
|
It appears there are multiple loose ends here. We'll close this submission, and we'll be looking forward to your resubmission once these are addressed. Please understand that we're able to provide only basic feedback here, so do not expect the reviewer to engage further in a back-and-forth discussion. |
Submission for LP-17. Repo: https://github.com/Thompsonmina/WhistleBlower-Logos- · Demo: https://github.com/Thompsonmina/WhistleBlower-Logos-/releases/download/demo-v1/demo.mp4