|
| 1 | +# Base Canary V0 Deployment |
| 2 | + |
| 3 | +Date: 2026-05-13 |
| 4 | + |
| 5 | +Status: live Base mainnet canary deployment for V0 testing only. |
| 6 | + |
| 7 | +This is not a production launch, production L1 deployment, token launch, |
| 8 | +production verifier network, or production Uniswap v4 hook deployment. |
| 9 | + |
| 10 | +## Network |
| 11 | + |
| 12 | +- Network: Base mainnet |
| 13 | +- Chain id: `8453` |
| 14 | +- RPC used for deployment/testing: public Base RPC |
| 15 | +- Deployer: `0x3A6fBA5a78216ba3a8DA8d8F501dee2C8186aFf9` |
| 16 | +- Starting balance observed before dry run: `0.005451853012787615 ETH` |
| 17 | +- Balance observed after deploy and smoke actions: `0.005423591837039270 ETH` |
| 18 | +- Approximate total ETH spent by deploy plus smoke actions: `0.000028261175748345 ETH` |
| 19 | + |
| 20 | +Private key material was loaded from a local ignored environment file and was |
| 21 | +not committed. |
| 22 | + |
| 23 | +## Deployed Contracts |
| 24 | + |
| 25 | +| Contract | Address | Deploy tx | Block | |
| 26 | +| --- | --- | --- | --- | |
| 27 | +| `RootfieldRegistry` | `0x2a7ADd68a1d45C3251E2F92fFe4926124654a97C` | `0x9ef9cb563646921e8f8dd71ad237054b8ee5b0c8e8ecc0c3b1577661844d6108` | `45955460` | |
| 28 | +| `FlowMemoryHookAdapter` | `0x179Df6d52e9DeF5D02704583a2E4E5a9FF427245` | `0xab22f1b9a19c090c63d4b3a4e100cf80571f5142ab91620fbc76d739d1f318b9` | `45955461` | |
| 29 | +| `ArtifactRegistry` | `0x8F074d0F4e66975b740A4b7a316330c9660a485E` | `0xbd07e7d0280a20344521628b13353152da859e62fdcdb4355bf04b50a4176b0b` | `45955462` | |
| 30 | +| `CursorRegistry` | `0x3360689009685eade15c876855D24161b05829C1` | `0x7eecbb949a617bff8fc8c0749a3332e1e2d2fe7b17f0cf3d7522155f5675cee9` | `45955463` | |
| 31 | +| `ReceiptVerifier` | `0x94ba7aA4562f8F8528C327378F6352350f6ddB5B` | `0x3b29454ebb4104e38a0f886a4a370f26d3e3bc5ab22bbfb921374fa904e38e95` | `45955464` | |
| 32 | +| `WorkerRegistry` | `0xa8c07eF53Eeb4e57297ee35025a9cD5303fCCD29` | `0x213a1ba85d6e998937c907699be83b7cd7db9eba4e43f937f94ad7b62bf3cfde` | `45955465` | |
| 33 | +| `VerifierRegistry` | `0xAf920ca7436Bb72172E27C96E0B716f01dcC5DBd` | `0x87696577de6522f885a67c9df98fd8942387e7e7c735f3215f067b2cbc913d2f` | `45955466` | |
| 34 | +| `WorkReceiptRegistry` | `0x2874cee0D581E4562ac9015BfCf330f1ea58a1F3` | `0xa278992a28c2a1ad9e4c78998dbbfb43399e55182ca93f8aac40e9447b2f854f` | `45955467` | |
| 35 | +| `VerifierReportRegistry` | `0x95bC7455AdFD60e1B908ba455c25Ae732C1Ef996` | `0x9def1a9338bf65e04bc43fd3f4ef1bb973ebdf1ee4b351a77157c396da6af074` | `45955468` | |
| 36 | +| `WorkDebtScheduler` | `0xa752e9bC7fAf39f659110D8Cf408E7707db94E34` | `0x139e3b89b0c674c6031d34fbfafb2649e114443ed7b98b9722d59bc19ffb6bdc` | `45955469` | |
| 37 | + |
| 38 | +All 10 deployed addresses returned non-empty bytecode through `cast code`. |
| 39 | + |
| 40 | +## Smoke Actions |
| 41 | + |
| 42 | +Rootfield id: |
| 43 | + |
| 44 | +```text |
| 45 | +0x19c830e926bfd3ce06d71ed0ef2e90ddc73accf4367b0defea835dc1cd3b3114 |
| 46 | +``` |
| 47 | + |
| 48 | +### Rootfield Registration |
| 49 | + |
| 50 | +- Transaction: `0x994b98b1cff0c897d75b62cf7c95340f74a59d0c208af68f1dea2d161b80cf00` |
| 51 | +- Block: `45955506` |
| 52 | +- FlowPulse pulse id: `0xa62ffb4b36a415032949138edbdcba5005de2e35952df88bdf592d4266184b87` |
| 53 | +- Pulse type: `1` / `ROOTFIELD_REGISTERED` |
| 54 | + |
| 55 | +### Root Submission |
| 56 | + |
| 57 | +- Transaction: `0x24a43789ef489dd6c697567466944a210273e46c333e7be878cda6df9acb8e7a` |
| 58 | +- Block: `45955533` |
| 59 | +- FlowPulse pulse id: `0x72407268a2ea62659d6b0f62800931936cc6ea7ea5f5b6db91801ba2f8b43eab` |
| 60 | +- Pulse type: `2` / `ROOT_COMMITTED` |
| 61 | +- Latest root after smoke action: |
| 62 | + `0x4a7b8601c06c20bcc7b69c05c51980c12dbd50cbd95a59f460d40555bfc37ce3` |
| 63 | + |
| 64 | +### Swap-Memory Signal |
| 65 | + |
| 66 | +- Transaction: `0xaee21f6d0e9df1a45eae0c7714a4f8eae7fb72afbb07dd67b3a1f0ff724a014f` |
| 67 | +- Block: `45955535` |
| 68 | +- FlowPulse pulse id: `0x16c2adf5f3e46ee91d16a432d2420c566851b311e767860cab99068dcaca2591` |
| 69 | +- Pulse type: `4` / `SWAP_MEMORY_SIGNAL` |
| 70 | +- Commitment: |
| 71 | + `0x30055afe075a7c6ea8557ea3a2d3c7012d9d558ebda95803726179355f98ede9` |
| 72 | + |
| 73 | +## State Readback |
| 74 | + |
| 75 | +`RootfieldRegistry.getRootfield(rootfieldId)` returned: |
| 76 | + |
| 77 | +```text |
| 78 | +owner: 0x3A6fBA5a78216ba3a8DA8d8F501dee2C8186aFf9 |
| 79 | +schemaHash: 0x0b4537a7fa7cdd45fd6ff2052f1e4f9087a40b09fb6fe06a686ac67ac96fa5c3 |
| 80 | +metadataHash: 0x5f2a82ffa386793a2a67971ab801b2633b76954a95ee873e463730e6442ef90d |
| 81 | +latestRoot: 0x4a7b8601c06c20bcc7b69c05c51980c12dbd50cbd95a59f460d40555bfc37ce3 |
| 82 | +pulseCount: 2 |
| 83 | +rootCount: 1 |
| 84 | +active: true |
| 85 | +``` |
| 86 | + |
| 87 | +## Important Gaps Found |
| 88 | + |
| 89 | +1. The checked-in live reader is Base Sepolia-only and intentionally rejects |
| 90 | + Base mainnet chain id `8453`. A guarded Base canary reader is needed before |
| 91 | + the dashboard can ingest live mainnet canary logs. |
| 92 | +2. The dashboard still consumes generated fixtures. It does not yet ingest a |
| 93 | + deployment artifact plus live read output. |
| 94 | +3. Contract source verification is not automated for all deployed contracts. |
| 95 | +4. `FlowMemoryHookAdapter` is still an adapter scaffold. It is not a production |
| 96 | + Uniswap v4 hook wired into PoolManager permissions. |
| 97 | +5. Ownership is still direct deployer ownership where applicable. There is no |
| 98 | + multisig, governance, recovery, or operational key policy. |
| 99 | +6. Verifier and worker registry flows are deployed, but live verifier report |
| 100 | + submission, report signing, and verifier economics are not built. |
| 101 | + |
| 102 | +## Notes |
| 103 | + |
| 104 | +The first registration command encountered a public-RPC nonce race after the |
| 105 | +transaction landed. The chain state and FlowPulse log were checked directly |
| 106 | +before subsequent smoke actions were sent. |
0 commit comments