Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: public logs #11091

Merged
merged 32 commits into from
Jan 20, 2025
Merged

feat!: public logs #11091

merged 32 commits into from
Jan 20, 2025

Conversation

MirandaWood
Copy link
Contributor

@MirandaWood MirandaWood commented Jan 7, 2025

Public Logs


Unencrypted logs -> public logs #9589

Like private_logs, public logs are introduced in this PR and replace unencrypted logs. They:

  • Are no longer treated as bytes in ts/sol
  • Are no longer treated as log hashes in kernels/rollups
  • Are treated as arrays of fields (with contract address) everywhere

AVM team: I've made some limited changes with help from Ilyas (tyvm) just so we have tests passing and logs being emitted, this is not complete! I've added #11124 to help track where changes need to be made in areas of the code I have no familiarity with. I didn't want to touch too many areas so I haven't fully renamed unencrypted -> public. Ofc I'm happy to help anywhere that's needed.

Aztec-nr/Noir-contracts: This PR also addresses #9835. I don't know much about how partial notes work or should work, so I tried to touch the least I could to convert these logs to fields. One big change is that the first field now contains the length of private fields and ciphertext bytes along with the public fields. This is because now we don't emit logs as an array of bytes with a set length to ts, there isn't a way to tell when a log 'ends'. We also can't just discard zero values, because in many cases zeros are emitted as real log values.


TODO: Completed

  • Some more renaming (e.g. UnencryptedLogsResponse, prefixes, public context, noir contracts)
  • MAX_UNENCRYPTED_LOGS_PER_CALL -> MAX_PUBLIC_LOGS_PER_CALL (not done yet, because PublicCircuitPublicInputs is linked to AvmCircuitInputs which goes into bb)
  • Test and cleanup anything touching partial notes

TODO in follow-up PRS:

  • Tightly pack individual logs when adding to blob: This is relatively complex because of the hacks we have in place (feat(blobs): Remove ts blob oracle #10323) and the requirement to overhaul blob field decoding, to avoid bloating this PR I'll make a new one.
  • Rename emit_unencrypted: This will touch a lot of files and just make it difficult to review, so I'll add a follow up PR with just this renaming.
  • Convert contract class logs to fields: Note that some classes like UnencryptedL2Log still exist. This is solely for contract class logs which have thousands of fields and so are still hashed to a single value in the kernels/rollups/ts. In a follow up PR I'll separately convert these to fields to benchmark the effects.

@MirandaWood MirandaWood linked an issue Jan 14, 2025 that may be closed by this pull request
@MirandaWood MirandaWood marked this pull request as ready for review January 14, 2025 13:27
Comment on lines 32 to 43
* Computes the siloed tag.
* @dev We do this second layer of siloing (one was already done as the tagging secret is app-siloed) because kernels
* do that to protect against contract impersonation attacks. This extra layer of siloing in kernels ensures that
* a malicious contract cannot emit a note with a tag corresponding to another contract.
* TODO(#10273/#11124): noir-projects/aztec-nr/aztec/src/encrypted_logs/payload.nr implies we still need to silo
* even though the log containing this tag is siloed, the above dev msg no longer applies with public logs.
* @param recipient The recipient of the note
* @param app The app address
* @returns The tag as it is submitted on-chain in a log.
* @returns The siloed tag.
*/
computeSiloedTag(recipient: AztecAddress, app: AztecAddress) {
const tag = this.computeTag(recipient);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm unsure whether we still need to silo the tag itself. The comment here and in payload.nr kind of implies we do ('extra layer of siloing...') so I have left it in.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I know nothing changed about this so we should keep it.

Comment on lines -472 to -489
export function mapPrivateToRollupAccumulatedDataToNoir(
privateToRollupAccumulatedData: PrivateToRollupAccumulatedData,
): PrivateToRollupAccumulatedDataNoir {
return {
note_hashes: mapTuple(privateToRollupAccumulatedData.noteHashes, mapFieldToNoir),
nullifiers: mapTuple(privateToRollupAccumulatedData.nullifiers, mapFieldToNoir),
l2_to_l1_msgs: mapTuple(privateToRollupAccumulatedData.l2ToL1Msgs, mapScopedL2ToL1MessageToNoir),
private_logs: mapTuple(privateToRollupAccumulatedData.privateLogs, mapPrivateLogToNoir),
contract_class_logs_hashes: mapTuple(
privateToRollupAccumulatedData.contractClassLogsHashes,
mapScopedLogHashToNoir,
),
contract_class_log_preimages_length: mapFieldToNoir(privateToRollupAccumulatedData.contractClassLogPreimagesLength),
};
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved this to common - I didn't think it made sense to have mapPrivateToRollupAccumulatedDataToNoir and mapPrivateToRollupAccumulatedDataFromNoir in different files

Copy link
Contributor

github-actions bot commented Jan 14, 2025

Changes to public function bytecode sizes

Generated at commit: c1d1413a2b40835d9d8c08eea5b1e9e832360ba1, compared to commit: 73a6698bfa7400a94fe5d07e8f7508a5a73ed587

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
NFT::public_dispatch -687 ✅ -2.95%
Token::public_dispatch -968 ✅ -3.02%
Token::complete_refund -819 ✅ -12.29%
Token::_finalize_transfer_to_private_unsafe -814 ✅ -13.11%
Token::finalize_transfer_to_private -814 ✅ -13.21%
NFT::_finalize_transfer_to_private_unsafe -687 ✅ -13.25%
NFT::finalize_transfer_to_private -687 ✅ -13.37%
Token::_finalize_mint_to_private_unsafe -814 ✅ -13.90%
Token::finalize_mint_to_private -814 ✅ -14.02%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
NFT::public_dispatch 22,636 (-687) -2.95%
Token::public_dispatch 31,119 (-968) -3.02%
Token::complete_refund 5,845 (-819) -12.29%
Token::_finalize_transfer_to_private_unsafe 5,393 (-814) -13.11%
Token::finalize_transfer_to_private 5,346 (-814) -13.21%
NFT::_finalize_transfer_to_private_unsafe 4,498 (-687) -13.25%
NFT::finalize_transfer_to_private 4,451 (-687) -13.37%
Token::_finalize_mint_to_private_unsafe 5,041 (-814) -13.90%
Token::finalize_mint_to_private 4,994 (-814) -14.02%

Copy link
Contributor

github-actions bot commented Jan 14, 2025

Changes to circuit sizes

Generated at commit: c1d1413a2b40835d9d8c08eea5b1e9e832360ba1, compared to commit: 73a6698bfa7400a94fe5d07e8f7508a5a73ed587

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base_private +1,295 ❌ +0.95% +4,591 ❌ +0.26%
rollup_base_public -7,405 ✅ -2.03% -66,125 ✅ -2.05%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base_private 137,856 (+1,295) +0.95% 1,775,166 (+4,591) +0.26%
rollup_base_public 357,075 (-7,405) -2.03% 3,167,366 (-66,125) -2.05%

yarn-project/pxe/src/pxe_service/pxe_service.ts Outdated Show resolved Hide resolved
@@ -151,8 +150,6 @@ export function makeProcessedTxFromTxWithPublicCalls(
...(revertCode.isOK() ? tx.data.forPublic!.revertibleAccumulatedData.privateLogs : []),
].filter(l => !l.isEmpty());

// Unencrypted logs emitted from public functions are inserted to tx.unencryptedLogs directly :(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So happy to see it's finally gone!

for i in 0..encrypted.len() {
log_bytes[i + 32] = encrypted[i];
}
// TODO(#10273/#11124) This should be done by the AVM when it's processing the raw logs instead of their hashes.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment was added by me. But looking at the whole thing again, I don't think the AVM should do the siloing. It only needs to ensure the contract address is correct.

We could still silo the tag here. But we need to double check a log's contract address. We can add contract address to TxScopedL2Log and check it if isFromPublic is true.

Or we skip the siloing, and call getLogsByTags twice, once with the siloed tag for private logs, once with the raw tag for public logs.

Copy link
Contributor Author

@MirandaWood MirandaWood Jan 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, I will remove this comment. It's probably cleaner to keep siloing the tag to keep the same 'rule' for private and public logs. In this case, I'll check the contract address in the pxe when we syncTaggedLogs* (since we already provide the address there) unless somewhere else is better?

@MirandaWood MirandaWood requested a review from LeilaWang January 16, 2025 12:33
@Maddiaa0
Copy link
Member

Maddiaa0 commented Jan 17, 2025

Marking as breaking as the PXE interface changes on getPublicLogs - i think this will impact block explorers

We should probably add migration notes too

@Maddiaa0 Maddiaa0 changed the title feat: public logs feat!: public logs Jan 17, 2025
const tag = new Fr(correctedBuffer);
this.#log.verbose(`Storing unencrypted tagged log with tag ${tag.toString()} in block ${block.number}`);
// The first elt stores lengths => tag is in fields[1]
const tag = log.log[1];
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be the same as log_store.

for (let i = 0; i < processedLog.length; i++) {
processedLog[i] = unprocessedLog[31 + i * 32];
}
const publicValues = log.log.slice(privateValuesLength + 1, privateValuesLength + 1 + publicValuesLength);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The total length of a tagged log is not checked in log_store. So even when the first field has the correct format, it might not be a partial log and the private/public values here will not have the expected length.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done - though I can only check overflow rather than underflow since zeros might be emitted. I also removed the check on the existence of log.log[1] because I realised it will always exist in a PublicLog!

@@ -907,32 +908,30 @@ export class PXEService implements PXE {

async getUnencryptedEvents<T>(eventMetadataDef: EventMetadataDefinition, from: number, limit: number): Promise<T[]> {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you also change this one to getPublicEvents, and getEncryptedEvents to getPrivateEvents in this PR?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And remember to add the changes to migration notes. Thanks!

@MirandaWood MirandaWood requested a review from LeilaWang January 20, 2025 13:40
@@ -6,7 +6,24 @@ keywords: [sandbox, aztec, notes, migration, updating, upgrading]

Aztec is in full-speed development. Literally every version breaks compatibility with the previous ones. This page attempts to target errors and difficulties you might encounter when upgrading, and how to resolve them.

## TBD
## 0.71.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you also add the changes for getPublicEvents and getPrivateEvents here?

@MirandaWood MirandaWood merged commit f4725d2 into master Jan 20, 2025
51 checks passed
@MirandaWood MirandaWood deleted the mw/public-logs branch January 20, 2025 17:08
MirandaWood added a commit that referenced this pull request Jan 22, 2025
This turned out much smaller than I thought it would be...

Renames the context method `emit_unencrypted` to `emit_public`. I didn't
touch AVM to avoid giving the team a bunch of awful conflicts. But I'm
happy to blitz through and rename all `unencrypted`s to `public`s in the
AVM whenever!

Continues #11091 for #9589
Maddiaa0 pushed a commit that referenced this pull request Jan 22, 2025
This turned out much smaller than I thought it would be...

Renames the context method `emit_unencrypted` to `emit_public`. I didn't
touch AVM to avoid giving the team a bunch of awful conflicts. But I'm
happy to blitz through and rename all `unencrypted`s to `public`s in the
AVM whenever!

Continues #11091 for #9589
just-mitch pushed a commit that referenced this pull request Jan 24, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.72.0</summary>

##
[0.72.0](aztec-package-v0.71.0...aztec-package-v0.72.0)
(2025-01-24)


### Features

* Gaztec
([#11229](#11229))
([79f810d](79f810d))
* Lazy wasm pt. 2
([#11410](#11410))
([01510f4](01510f4))
* Lazy wasm pt3
([#11435](#11435))
([7068d05](7068d05))


### Bug Fixes

* Init fee juice contract in sandbox
([#11379](#11379))
([caab526](caab526))
* Use simulation to estimate gas used
([#11211](#11211))
([63776f0](63776f0))


### Miscellaneous

* Trace propagation from json rpc client to server
([#11325](#11325))
([85ccc15](85ccc15))
</details>

<details><summary>barretenberg.js: 0.72.0</summary>

##
[0.72.0](barretenberg.js-v0.71.0...barretenberg.js-v0.72.0)
(2025-01-24)


### Features

* Gaztec
([#11229](#11229))
([79f810d](79f810d))
* Lazy wasm pt.1
([#11371](#11371))
([864bc6f](864bc6f))
* Lazy wasm pt3
([#11435](#11435))
([7068d05](7068d05))
* UH recursion in the browser
([#11049](#11049))
([c3c04a4](c3c04a4))


### Bug Fixes

* Lint
([#11389](#11389))
([87b0dee](87b0dee))
</details>

<details><summary>aztec-packages: 0.72.0</summary>

##
[0.72.0](aztec-packages-v0.71.0...aztec-packages-v0.72.0)
(2025-01-24)


### ⚠ BREAKING CHANGES

* **aztec.js:** remove field from aztec address like
([#11350](#11350))
* public logs
([#11091](#11091))

### Features

* **avm:** Address and class id derivation setup
([#11354](#11354))
([5f3cffc](5f3cffc))
* **avm:** Bytecode manager changes
([#11347](#11347))
([4a9c072](4a9c072))
* **avm:** Include initial tree roots in DB
([#11360](#11360))
([4d149be](4d149be))
* **avm:** Interactive debugger
([#11477](#11477))
([53e57d3](53e57d3))
* Consensus layer in spartan
([#11105](#11105))
([55dd03c](55dd03c))
* Eccvm sumcheck with commitments to round univariates
([#11206](#11206))
([fe34b05](fe34b05))
* Gaztec
([#11229](#11229))
([79f810d](79f810d))
* Lazy wasm pt. 2
([#11410](#11410))
([01510f4](01510f4))
* Lazy wasm pt.1
([#11371](#11371))
([864bc6f](864bc6f))
* Lazy wasm pt3
([#11435](#11435))
([7068d05](7068d05))
* **p2p:** Batch request response
([#11331](#11331))
([13b379d](13b379d))
* **p2p:** Request response node sampling
([#11330](#11330))
([6426d90](6426d90))
* **p2p:** Send goodbye messages on disconnecting to peers
([#10920](#10920))
([046968f](046968f))
* **p2p:** Validator use batch requests
([#11332](#11332))
([29f7ce4](29f7ce4))
* Packable trait + using it for public storage
([#11136](#11136))
([e74ce15](e74ce15))
* Public logs
([#11091](#11091))
([f4725d2](f4725d2))
* Re-exposing `compute_initialization_hash`
([#11423](#11423))
([1ad2b70](1ad2b70))
* **reqresp:** Request l2 blocks
([#11337](#11337))
([73a6698](73a6698))
* **spartan:** Extra acounts with cl config
([#11301](#11301))
([13fed74](13fed74))
* UH recursion in the browser
([#11049](#11049))
([c3c04a4](c3c04a4))


### Bug Fixes

* **aztec.js:** Remove field from aztec address like
([#11350](#11350))
([26093f7](26093f7))
* **bootstrap:** Include crates in noir projects hashes
([#11344](#11344))
([1075113](1075113))
* **bootstrap:** Include crates in noir projects hashes take 2
([#11351](#11351))
([1f36a04](1f36a04))
* Clarify sepolia GA secrets
([#11424](#11424))
([cf3c911](cf3c911))
* **docs:** Downgrade docusaurus to v 3.6
([#11386](#11386))
([1e5d225](1e5d225))
* Don't publish a block if we failed to create the block proposal
([#11475](#11475))
([f589c90](f589c90))
* Flakey e2e_pruned_blocks test
([#11431](#11431))
([887b8ff](887b8ff))
* Hackily fix the public input columns of avm recursion constraint
([#11428](#11428))
([436c3c6](436c3c6))
* Hardcode value in constants
([#11442](#11442))
([dd0684a](dd0684a))
* Init fee juice contract in sandbox
([#11379](#11379))
([caab526](caab526))
* Lint
([#11389](#11389))
([87b0dee](87b0dee))
* Mnemonic needs quotes
([#11429](#11429))
([de8dad4](de8dad4))
* Move eslint in circuits.js to dev deps
([#11340](#11340))
([079a2c4](079a2c4))
* Network deployments
([#11463](#11463))
([0804913](0804913))
* Pad base fee in aztec.js
([#11370](#11370))
([d0e9a55](d0e9a55))
* Prevent PXE from making historical queries during note discovery
([#11406](#11406))
([23000d4](23000d4))
* Publish aztec packages
([#11434](#11434))
([d9bfd51](d9bfd51))
* Re-stage the git hook formatted files - doh
([#11430](#11430))
([02e6529](02e6529))
* **readme:** Remove stale link
([#11333](#11333))
([bfcd8a5](bfcd8a5))
* Spartan accounts
([#11321](#11321))
([fa9c9ce](fa9c9ce))
* **spartan:** Beacon node networking policy
([#11484](#11484))
([d5b9892](d5b9892))
* Stale selector comments
([#11311](#11311))
([629bd64](629bd64))
* Txe partial note support
([#11414](#11414))
([cd9cad9](cd9cad9))
* Update devbox
([#11339](#11339))
([aca84ff](aca84ff))
* Use simulation to estimate gas used
([#11211](#11211))
([63776f0](63776f0))
* Verify start state of a block
([#11290](#11290))
([5eb3e8f](5eb3e8f))
* Version undefined does not exist for tree NULLIFIER_TREE
([#11421](#11421))
([b1cb502](b1cb502))


### Miscellaneous

* Add a couple of comments in the AVM range check gadget
([#11402](#11402))
([f1fd2d1](f1fd2d1))
* Add OTEL_EXCLUDE_METRICS
([#11317](#11317))
([37d4fa8](37d4fa8))
* **avm:** Do not use commit_sparse
([#11447](#11447))
([9796e1e](9796e1e))
* **avm:** Remove some codegen bloat
([#11418](#11418))
([6b0106c](6b0106c))
* **bootstrap:** Refine noir contracts rebuild pattern
([#11367](#11367))
([90f5e8f](90f5e8f))
* Bump CRS and constants
([#11306](#11306))
([9e5ea3a](9e5ea3a))
* **ci:** Set correct image version in aztec image docker releases
([#11334](#11334))
([197db95](197db95))
* Dont install and run metrics stack on kind network smoke
([#11366](#11366))
([f66db63](f66db63))
* Exclude system metrics from k8s deployments
([#11401](#11401))
([31be5fb](31be5fb))
* Exp 2 with 128 validators
([#11483](#11483))
([206ca8d](206ca8d))
* Fix devnet deploy
([#11387](#11387))
([71d8ede](71d8ede))
* Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits
([#11377](#11377))
([5018c94](5018c94))
* Improving clarity of serialization in macros
([#11460](#11460))
([7790973](7790973))
* Increase initial fee juice mint
([#11369](#11369))
([bca7052](bca7052))
* Minor Gemini refactor to prep for opening k-shifts
([#11393](#11393))
([30a063a](30a063a))
* More granular error handling for toradixBE
([#11378](#11378))
([64f4052](64f4052)),
closes
[#11295](#11295)
* Nargo fmt pre-commit hook
([#11416](#11416))
([6f2e2e0](6f2e2e0))
* Nuking redundant oracle
([#11368](#11368))
([b32d9a1](b32d9a1))
* **p2p:** Disable flakey test
([#11380](#11380))
([94012b5](94012b5))
* **p2p:** Reorganise reqresp handlers
([#11327](#11327))
([f048acd](f048acd))
* Point to monorepo's nargo in vscode workspace settings
([#11349](#11349))
([bb96e7c](bb96e7c))
* Print warning in builder when failure happens.
([#11205](#11205))
([5a52e95](5a52e95))
* Public network with sepolia
([#11488](#11488))
([80f5a46](80f5a46))
* Rc-2 release on Sepolia
([#11479](#11479))
([bef7b0f](bef7b0f))
* Redo typo PR by Daulox92
([#11458](#11458))
([f3ba327](f3ba327))
* Redo typo PR by Dimitrolito
([#11413](#11413))
([d4b7075](d4b7075))
* Redo typo PR by nnsW3
([#11322](#11322))
([de64823](de64823))
* Redo typo PR by offensif
([#11411](#11411))
([a756578](a756578))
* Redo typo PR by savvar9991
([#11412](#11412))
([53ea3af](53ea3af))
* Redo typo PR by teenager-ETH
([#11320](#11320))
([77854e2](77854e2))
* Redo typo PR by teenager-ETH
([#11450](#11450))
([dd46152](dd46152))
* Reenable reqresp offline peers test
([#11384](#11384))
([931dfa6](931dfa6))
* Renaming emit unencrypted -&gt; emit public
([#11361](#11361))
([c047a12](c047a12))
* Replace relative paths to noir-protocol-circuits
([6f644cd](6f644cd))
* Replace relative paths to noir-protocol-circuits
([fe24778](fe24778))
* Replace relative paths to noir-protocol-circuits
([fcdb409](fcdb409))
* Replace relative paths to noir-protocol-circuits
([ea43aed](ea43aed))
* Replace relative paths to noir-protocol-circuits
([7653c69](7653c69))
* Replace relative paths to noir-protocol-circuits
([204476e](204476e))
* Serialize trait impls for U128 following intrinsic Noir serialization
([#11142](#11142))
([c5671d2](c5671d2))
* Slower exp2
([#11487](#11487))
([e995c0f](e995c0f))
* **sol:** Generate & compile verifier contract in bootstrap
([#11364](#11364))
([bf3b12a](bf3b12a))
* **spartan:** Apply release fixes post cl
([#11385](#11385))
([2bbf562](2bbf562))
* Stricter contributing rules
([#11462](#11462))
([2535425](2535425))
* Temporarily disable boxes
([#11472](#11472))
([f6c63fe](f6c63fe))
* Test starting multiple anvils allocates distinct ports
([#11314](#11314))
([e385ea9](e385ea9))
* Trace propagation from json rpc client to server
([#11325](#11325))
([85ccc15](85ccc15))
* Try fix e2e block building flake
([#11359](#11359))
([38fbd5c](38fbd5c))
* Try fix flakey public processor test
([#11348](#11348))
([8de55d4](8de55d4))
* Updated ethereum resource config
([#11485](#11485))
([8788561](8788561))
</details>

<details><summary>barretenberg: 0.72.0</summary>

##
[0.72.0](barretenberg-v0.71.0...barretenberg-v0.72.0)
(2025-01-24)


### ⚠ BREAKING CHANGES

* public logs
([#11091](#11091))

### Features

* **avm:** Address and class id derivation setup
([#11354](#11354))
([5f3cffc](5f3cffc))
* **avm:** Bytecode manager changes
([#11347](#11347))
([4a9c072](4a9c072))
* **avm:** Include initial tree roots in DB
([#11360](#11360))
([4d149be](4d149be))
* **avm:** Interactive debugger
([#11477](#11477))
([53e57d3](53e57d3))
* Eccvm sumcheck with commitments to round univariates
([#11206](#11206))
([fe34b05](fe34b05))
* Lazy wasm pt. 2
([#11410](#11410))
([01510f4](01510f4))
* Public logs
([#11091](#11091))
([f4725d2](f4725d2))
* UH recursion in the browser
([#11049](#11049))
([c3c04a4](c3c04a4))


### Bug Fixes

* Hackily fix the public input columns of avm recursion constraint
([#11428](#11428))
([436c3c6](436c3c6))
* Verify start state of a block
([#11290](#11290))
([5eb3e8f](5eb3e8f))


### Miscellaneous

* Add a couple of comments in the AVM range check gadget
([#11402](#11402))
([f1fd2d1](f1fd2d1))
* **avm:** Do not use commit_sparse
([#11447](#11447))
([9796e1e](9796e1e))
* **avm:** Remove some codegen bloat
([#11418](#11418))
([6b0106c](6b0106c))
* Bump CRS and constants
([#11306](#11306))
([9e5ea3a](9e5ea3a))
* Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits
([#11377](#11377))
([5018c94](5018c94))
* Minor Gemini refactor to prep for opening k-shifts
([#11393](#11393))
([30a063a](30a063a))
* More granular error handling for toradixBE
([#11378](#11378))
([64f4052](64f4052)),
closes
[#11295](#11295)
* Print warning in builder when failure happens.
([#11205](#11205))
([5a52e95](5a52e95))
* Redo typo PR by Daulox92
([#11458](#11458))
([f3ba327](f3ba327))
* Redo typo PR by teenager-ETH
([#11320](#11320))
([77854e2](77854e2))
* **sol:** Generate & compile verifier contract in bootstrap
([#11364](#11364))
([bf3b12a](bf3b12a))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Jan 25, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.72.0</summary>

##
[0.72.0](AztecProtocol/aztec-packages@aztec-package-v0.71.0...aztec-package-v0.72.0)
(2025-01-24)


### Features

* Gaztec
([#11229](AztecProtocol/aztec-packages#11229))
([79f810d](AztecProtocol/aztec-packages@79f810d))
* Lazy wasm pt. 2
([#11410](AztecProtocol/aztec-packages#11410))
([01510f4](AztecProtocol/aztec-packages@01510f4))
* Lazy wasm pt3
([#11435](AztecProtocol/aztec-packages#11435))
([7068d05](AztecProtocol/aztec-packages@7068d05))


### Bug Fixes

* Init fee juice contract in sandbox
([#11379](AztecProtocol/aztec-packages#11379))
([caab526](AztecProtocol/aztec-packages@caab526))
* Use simulation to estimate gas used
([#11211](AztecProtocol/aztec-packages#11211))
([63776f0](AztecProtocol/aztec-packages@63776f0))


### Miscellaneous

* Trace propagation from json rpc client to server
([#11325](AztecProtocol/aztec-packages#11325))
([85ccc15](AztecProtocol/aztec-packages@85ccc15))
</details>

<details><summary>barretenberg.js: 0.72.0</summary>

##
[0.72.0](AztecProtocol/aztec-packages@barretenberg.js-v0.71.0...barretenberg.js-v0.72.0)
(2025-01-24)


### Features

* Gaztec
([#11229](AztecProtocol/aztec-packages#11229))
([79f810d](AztecProtocol/aztec-packages@79f810d))
* Lazy wasm pt.1
([#11371](AztecProtocol/aztec-packages#11371))
([864bc6f](AztecProtocol/aztec-packages@864bc6f))
* Lazy wasm pt3
([#11435](AztecProtocol/aztec-packages#11435))
([7068d05](AztecProtocol/aztec-packages@7068d05))
* UH recursion in the browser
([#11049](AztecProtocol/aztec-packages#11049))
([c3c04a4](AztecProtocol/aztec-packages@c3c04a4))


### Bug Fixes

* Lint
([#11389](AztecProtocol/aztec-packages#11389))
([87b0dee](AztecProtocol/aztec-packages@87b0dee))
</details>

<details><summary>aztec-packages: 0.72.0</summary>

##
[0.72.0](AztecProtocol/aztec-packages@aztec-packages-v0.71.0...aztec-packages-v0.72.0)
(2025-01-24)


### ⚠ BREAKING CHANGES

* **aztec.js:** remove field from aztec address like
([#11350](AztecProtocol/aztec-packages#11350))
* public logs
([#11091](AztecProtocol/aztec-packages#11091))

### Features

* **avm:** Address and class id derivation setup
([#11354](AztecProtocol/aztec-packages#11354))
([5f3cffc](AztecProtocol/aztec-packages@5f3cffc))
* **avm:** Bytecode manager changes
([#11347](AztecProtocol/aztec-packages#11347))
([4a9c072](AztecProtocol/aztec-packages@4a9c072))
* **avm:** Include initial tree roots in DB
([#11360](AztecProtocol/aztec-packages#11360))
([4d149be](AztecProtocol/aztec-packages@4d149be))
* **avm:** Interactive debugger
([#11477](AztecProtocol/aztec-packages#11477))
([53e57d3](AztecProtocol/aztec-packages@53e57d3))
* Consensus layer in spartan
([#11105](AztecProtocol/aztec-packages#11105))
([55dd03c](AztecProtocol/aztec-packages@55dd03c))
* Eccvm sumcheck with commitments to round univariates
([#11206](AztecProtocol/aztec-packages#11206))
([fe34b05](AztecProtocol/aztec-packages@fe34b05))
* Gaztec
([#11229](AztecProtocol/aztec-packages#11229))
([79f810d](AztecProtocol/aztec-packages@79f810d))
* Lazy wasm pt. 2
([#11410](AztecProtocol/aztec-packages#11410))
([01510f4](AztecProtocol/aztec-packages@01510f4))
* Lazy wasm pt.1
([#11371](AztecProtocol/aztec-packages#11371))
([864bc6f](AztecProtocol/aztec-packages@864bc6f))
* Lazy wasm pt3
([#11435](AztecProtocol/aztec-packages#11435))
([7068d05](AztecProtocol/aztec-packages@7068d05))
* **p2p:** Batch request response
([#11331](AztecProtocol/aztec-packages#11331))
([13b379d](AztecProtocol/aztec-packages@13b379d))
* **p2p:** Request response node sampling
([#11330](AztecProtocol/aztec-packages#11330))
([6426d90](AztecProtocol/aztec-packages@6426d90))
* **p2p:** Send goodbye messages on disconnecting to peers
([#10920](AztecProtocol/aztec-packages#10920))
([046968f](AztecProtocol/aztec-packages@046968f))
* **p2p:** Validator use batch requests
([#11332](AztecProtocol/aztec-packages#11332))
([29f7ce4](AztecProtocol/aztec-packages@29f7ce4))
* Packable trait + using it for public storage
([#11136](AztecProtocol/aztec-packages#11136))
([e74ce15](AztecProtocol/aztec-packages@e74ce15))
* Public logs
([#11091](AztecProtocol/aztec-packages#11091))
([f4725d2](AztecProtocol/aztec-packages@f4725d2))
* Re-exposing `compute_initialization_hash`
([#11423](AztecProtocol/aztec-packages#11423))
([1ad2b70](AztecProtocol/aztec-packages@1ad2b70))
* **reqresp:** Request l2 blocks
([#11337](AztecProtocol/aztec-packages#11337))
([73a6698](AztecProtocol/aztec-packages@73a6698))
* **spartan:** Extra acounts with cl config
([#11301](AztecProtocol/aztec-packages#11301))
([13fed74](AztecProtocol/aztec-packages@13fed74))
* UH recursion in the browser
([#11049](AztecProtocol/aztec-packages#11049))
([c3c04a4](AztecProtocol/aztec-packages@c3c04a4))


### Bug Fixes

* **aztec.js:** Remove field from aztec address like
([#11350](AztecProtocol/aztec-packages#11350))
([26093f7](AztecProtocol/aztec-packages@26093f7))
* **bootstrap:** Include crates in noir projects hashes
([#11344](AztecProtocol/aztec-packages#11344))
([1075113](AztecProtocol/aztec-packages@1075113))
* **bootstrap:** Include crates in noir projects hashes take 2
([#11351](AztecProtocol/aztec-packages#11351))
([1f36a04](AztecProtocol/aztec-packages@1f36a04))
* Clarify sepolia GA secrets
([#11424](AztecProtocol/aztec-packages#11424))
([cf3c911](AztecProtocol/aztec-packages@cf3c911))
* **docs:** Downgrade docusaurus to v 3.6
([#11386](AztecProtocol/aztec-packages#11386))
([1e5d225](AztecProtocol/aztec-packages@1e5d225))
* Don't publish a block if we failed to create the block proposal
([#11475](AztecProtocol/aztec-packages#11475))
([f589c90](AztecProtocol/aztec-packages@f589c90))
* Flakey e2e_pruned_blocks test
([#11431](AztecProtocol/aztec-packages#11431))
([887b8ff](AztecProtocol/aztec-packages@887b8ff))
* Hackily fix the public input columns of avm recursion constraint
([#11428](AztecProtocol/aztec-packages#11428))
([436c3c6](AztecProtocol/aztec-packages@436c3c6))
* Hardcode value in constants
([#11442](AztecProtocol/aztec-packages#11442))
([dd0684a](AztecProtocol/aztec-packages@dd0684a))
* Init fee juice contract in sandbox
([#11379](AztecProtocol/aztec-packages#11379))
([caab526](AztecProtocol/aztec-packages@caab526))
* Lint
([#11389](AztecProtocol/aztec-packages#11389))
([87b0dee](AztecProtocol/aztec-packages@87b0dee))
* Mnemonic needs quotes
([#11429](AztecProtocol/aztec-packages#11429))
([de8dad4](AztecProtocol/aztec-packages@de8dad4))
* Move eslint in circuits.js to dev deps
([#11340](AztecProtocol/aztec-packages#11340))
([079a2c4](AztecProtocol/aztec-packages@079a2c4))
* Network deployments
([#11463](AztecProtocol/aztec-packages#11463))
([0804913](AztecProtocol/aztec-packages@0804913))
* Pad base fee in aztec.js
([#11370](AztecProtocol/aztec-packages#11370))
([d0e9a55](AztecProtocol/aztec-packages@d0e9a55))
* Prevent PXE from making historical queries during note discovery
([#11406](AztecProtocol/aztec-packages#11406))
([23000d4](AztecProtocol/aztec-packages@23000d4))
* Publish aztec packages
([#11434](AztecProtocol/aztec-packages#11434))
([d9bfd51](AztecProtocol/aztec-packages@d9bfd51))
* Re-stage the git hook formatted files - doh
([#11430](AztecProtocol/aztec-packages#11430))
([02e6529](AztecProtocol/aztec-packages@02e6529))
* **readme:** Remove stale link
([#11333](AztecProtocol/aztec-packages#11333))
([bfcd8a5](AztecProtocol/aztec-packages@bfcd8a5))
* Spartan accounts
([#11321](AztecProtocol/aztec-packages#11321))
([fa9c9ce](AztecProtocol/aztec-packages@fa9c9ce))
* **spartan:** Beacon node networking policy
([#11484](AztecProtocol/aztec-packages#11484))
([d5b9892](AztecProtocol/aztec-packages@d5b9892))
* Stale selector comments
([#11311](AztecProtocol/aztec-packages#11311))
([629bd64](AztecProtocol/aztec-packages@629bd64))
* Txe partial note support
([#11414](AztecProtocol/aztec-packages#11414))
([cd9cad9](AztecProtocol/aztec-packages@cd9cad9))
* Update devbox
([#11339](AztecProtocol/aztec-packages#11339))
([aca84ff](AztecProtocol/aztec-packages@aca84ff))
* Use simulation to estimate gas used
([#11211](AztecProtocol/aztec-packages#11211))
([63776f0](AztecProtocol/aztec-packages@63776f0))
* Verify start state of a block
([#11290](AztecProtocol/aztec-packages#11290))
([5eb3e8f](AztecProtocol/aztec-packages@5eb3e8f))
* Version undefined does not exist for tree NULLIFIER_TREE
([#11421](AztecProtocol/aztec-packages#11421))
([b1cb502](AztecProtocol/aztec-packages@b1cb502))


### Miscellaneous

* Add a couple of comments in the AVM range check gadget
([#11402](AztecProtocol/aztec-packages#11402))
([f1fd2d1](AztecProtocol/aztec-packages@f1fd2d1))
* Add OTEL_EXCLUDE_METRICS
([#11317](AztecProtocol/aztec-packages#11317))
([37d4fa8](AztecProtocol/aztec-packages@37d4fa8))
* **avm:** Do not use commit_sparse
([#11447](AztecProtocol/aztec-packages#11447))
([9796e1e](AztecProtocol/aztec-packages@9796e1e))
* **avm:** Remove some codegen bloat
([#11418](AztecProtocol/aztec-packages#11418))
([6b0106c](AztecProtocol/aztec-packages@6b0106c))
* **bootstrap:** Refine noir contracts rebuild pattern
([#11367](AztecProtocol/aztec-packages#11367))
([90f5e8f](AztecProtocol/aztec-packages@90f5e8f))
* Bump CRS and constants
([#11306](AztecProtocol/aztec-packages#11306))
([9e5ea3a](AztecProtocol/aztec-packages@9e5ea3a))
* **ci:** Set correct image version in aztec image docker releases
([#11334](AztecProtocol/aztec-packages#11334))
([197db95](AztecProtocol/aztec-packages@197db95))
* Dont install and run metrics stack on kind network smoke
([#11366](AztecProtocol/aztec-packages#11366))
([f66db63](AztecProtocol/aztec-packages@f66db63))
* Exclude system metrics from k8s deployments
([#11401](AztecProtocol/aztec-packages#11401))
([31be5fb](AztecProtocol/aztec-packages@31be5fb))
* Exp 2 with 128 validators
([#11483](AztecProtocol/aztec-packages#11483))
([206ca8d](AztecProtocol/aztec-packages@206ca8d))
* Fix devnet deploy
([#11387](AztecProtocol/aztec-packages#11387))
([71d8ede](AztecProtocol/aztec-packages@71d8ede))
* Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits
([#11377](AztecProtocol/aztec-packages#11377))
([5018c94](AztecProtocol/aztec-packages@5018c94))
* Improving clarity of serialization in macros
([#11460](AztecProtocol/aztec-packages#11460))
([7790973](AztecProtocol/aztec-packages@7790973))
* Increase initial fee juice mint
([#11369](AztecProtocol/aztec-packages#11369))
([bca7052](AztecProtocol/aztec-packages@bca7052))
* Minor Gemini refactor to prep for opening k-shifts
([#11393](AztecProtocol/aztec-packages#11393))
([30a063a](AztecProtocol/aztec-packages@30a063a))
* More granular error handling for toradixBE
([#11378](AztecProtocol/aztec-packages#11378))
([64f4052](AztecProtocol/aztec-packages@64f4052)),
closes
[#11295](AztecProtocol/aztec-packages#11295)
* Nargo fmt pre-commit hook
([#11416](AztecProtocol/aztec-packages#11416))
([6f2e2e0](AztecProtocol/aztec-packages@6f2e2e0))
* Nuking redundant oracle
([#11368](AztecProtocol/aztec-packages#11368))
([b32d9a1](AztecProtocol/aztec-packages@b32d9a1))
* **p2p:** Disable flakey test
([#11380](AztecProtocol/aztec-packages#11380))
([94012b5](AztecProtocol/aztec-packages@94012b5))
* **p2p:** Reorganise reqresp handlers
([#11327](AztecProtocol/aztec-packages#11327))
([f048acd](AztecProtocol/aztec-packages@f048acd))
* Point to monorepo's nargo in vscode workspace settings
([#11349](AztecProtocol/aztec-packages#11349))
([bb96e7c](AztecProtocol/aztec-packages@bb96e7c))
* Print warning in builder when failure happens.
([#11205](AztecProtocol/aztec-packages#11205))
([5a52e95](AztecProtocol/aztec-packages@5a52e95))
* Public network with sepolia
([#11488](AztecProtocol/aztec-packages#11488))
([80f5a46](AztecProtocol/aztec-packages@80f5a46))
* Rc-2 release on Sepolia
([#11479](AztecProtocol/aztec-packages#11479))
([bef7b0f](AztecProtocol/aztec-packages@bef7b0f))
* Redo typo PR by Daulox92
([#11458](AztecProtocol/aztec-packages#11458))
([f3ba327](AztecProtocol/aztec-packages@f3ba327))
* Redo typo PR by Dimitrolito
([#11413](AztecProtocol/aztec-packages#11413))
([d4b7075](AztecProtocol/aztec-packages@d4b7075))
* Redo typo PR by nnsW3
([#11322](AztecProtocol/aztec-packages#11322))
([de64823](AztecProtocol/aztec-packages@de64823))
* Redo typo PR by offensif
([#11411](AztecProtocol/aztec-packages#11411))
([a756578](AztecProtocol/aztec-packages@a756578))
* Redo typo PR by savvar9991
([#11412](AztecProtocol/aztec-packages#11412))
([53ea3af](AztecProtocol/aztec-packages@53ea3af))
* Redo typo PR by teenager-ETH
([#11320](AztecProtocol/aztec-packages#11320))
([77854e2](AztecProtocol/aztec-packages@77854e2))
* Redo typo PR by teenager-ETH
([#11450](AztecProtocol/aztec-packages#11450))
([dd46152](AztecProtocol/aztec-packages@dd46152))
* Reenable reqresp offline peers test
([#11384](AztecProtocol/aztec-packages#11384))
([931dfa6](AztecProtocol/aztec-packages@931dfa6))
* Renaming emit unencrypted -&gt; emit public
([#11361](AztecProtocol/aztec-packages#11361))
([c047a12](AztecProtocol/aztec-packages@c047a12))
* Replace relative paths to noir-protocol-circuits
([6f644cd](AztecProtocol/aztec-packages@6f644cd))
* Replace relative paths to noir-protocol-circuits
([fe24778](AztecProtocol/aztec-packages@fe24778))
* Replace relative paths to noir-protocol-circuits
([fcdb409](AztecProtocol/aztec-packages@fcdb409))
* Replace relative paths to noir-protocol-circuits
([ea43aed](AztecProtocol/aztec-packages@ea43aed))
* Replace relative paths to noir-protocol-circuits
([7653c69](AztecProtocol/aztec-packages@7653c69))
* Replace relative paths to noir-protocol-circuits
([204476e](AztecProtocol/aztec-packages@204476e))
* Serialize trait impls for U128 following intrinsic Noir serialization
([#11142](AztecProtocol/aztec-packages#11142))
([c5671d2](AztecProtocol/aztec-packages@c5671d2))
* Slower exp2
([#11487](AztecProtocol/aztec-packages#11487))
([e995c0f](AztecProtocol/aztec-packages@e995c0f))
* **sol:** Generate & compile verifier contract in bootstrap
([#11364](AztecProtocol/aztec-packages#11364))
([bf3b12a](AztecProtocol/aztec-packages@bf3b12a))
* **spartan:** Apply release fixes post cl
([#11385](AztecProtocol/aztec-packages#11385))
([2bbf562](AztecProtocol/aztec-packages@2bbf562))
* Stricter contributing rules
([#11462](AztecProtocol/aztec-packages#11462))
([2535425](AztecProtocol/aztec-packages@2535425))
* Temporarily disable boxes
([#11472](AztecProtocol/aztec-packages#11472))
([f6c63fe](AztecProtocol/aztec-packages@f6c63fe))
* Test starting multiple anvils allocates distinct ports
([#11314](AztecProtocol/aztec-packages#11314))
([e385ea9](AztecProtocol/aztec-packages@e385ea9))
* Trace propagation from json rpc client to server
([#11325](AztecProtocol/aztec-packages#11325))
([85ccc15](AztecProtocol/aztec-packages@85ccc15))
* Try fix e2e block building flake
([#11359](AztecProtocol/aztec-packages#11359))
([38fbd5c](AztecProtocol/aztec-packages@38fbd5c))
* Try fix flakey public processor test
([#11348](AztecProtocol/aztec-packages#11348))
([8de55d4](AztecProtocol/aztec-packages@8de55d4))
* Updated ethereum resource config
([#11485](AztecProtocol/aztec-packages#11485))
([8788561](AztecProtocol/aztec-packages@8788561))
</details>

<details><summary>barretenberg: 0.72.0</summary>

##
[0.72.0](AztecProtocol/aztec-packages@barretenberg-v0.71.0...barretenberg-v0.72.0)
(2025-01-24)


### ⚠ BREAKING CHANGES

* public logs
([#11091](AztecProtocol/aztec-packages#11091))

### Features

* **avm:** Address and class id derivation setup
([#11354](AztecProtocol/aztec-packages#11354))
([5f3cffc](AztecProtocol/aztec-packages@5f3cffc))
* **avm:** Bytecode manager changes
([#11347](AztecProtocol/aztec-packages#11347))
([4a9c072](AztecProtocol/aztec-packages@4a9c072))
* **avm:** Include initial tree roots in DB
([#11360](AztecProtocol/aztec-packages#11360))
([4d149be](AztecProtocol/aztec-packages@4d149be))
* **avm:** Interactive debugger
([#11477](AztecProtocol/aztec-packages#11477))
([53e57d3](AztecProtocol/aztec-packages@53e57d3))
* Eccvm sumcheck with commitments to round univariates
([#11206](AztecProtocol/aztec-packages#11206))
([fe34b05](AztecProtocol/aztec-packages@fe34b05))
* Lazy wasm pt. 2
([#11410](AztecProtocol/aztec-packages#11410))
([01510f4](AztecProtocol/aztec-packages@01510f4))
* Public logs
([#11091](AztecProtocol/aztec-packages#11091))
([f4725d2](AztecProtocol/aztec-packages@f4725d2))
* UH recursion in the browser
([#11049](AztecProtocol/aztec-packages#11049))
([c3c04a4](AztecProtocol/aztec-packages@c3c04a4))


### Bug Fixes

* Hackily fix the public input columns of avm recursion constraint
([#11428](AztecProtocol/aztec-packages#11428))
([436c3c6](AztecProtocol/aztec-packages@436c3c6))
* Verify start state of a block
([#11290](AztecProtocol/aztec-packages#11290))
([5eb3e8f](AztecProtocol/aztec-packages@5eb3e8f))


### Miscellaneous

* Add a couple of comments in the AVM range check gadget
([#11402](AztecProtocol/aztec-packages#11402))
([f1fd2d1](AztecProtocol/aztec-packages@f1fd2d1))
* **avm:** Do not use commit_sparse
([#11447](AztecProtocol/aztec-packages#11447))
([9796e1e](AztecProtocol/aztec-packages@9796e1e))
* **avm:** Remove some codegen bloat
([#11418](AztecProtocol/aztec-packages#11418))
([6b0106c](AztecProtocol/aztec-packages@6b0106c))
* Bump CRS and constants
([#11306](AztecProtocol/aztec-packages#11306))
([9e5ea3a](AztecProtocol/aztec-packages@9e5ea3a))
* Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits
([#11377](AztecProtocol/aztec-packages#11377))
([5018c94](AztecProtocol/aztec-packages@5018c94))
* Minor Gemini refactor to prep for opening k-shifts
([#11393](AztecProtocol/aztec-packages#11393))
([30a063a](AztecProtocol/aztec-packages@30a063a))
* More granular error handling for toradixBE
([#11378](AztecProtocol/aztec-packages#11378))
([64f4052](AztecProtocol/aztec-packages@64f4052)),
closes
[#11295](AztecProtocol/aztec-packages#11295)
* Print warning in builder when failure happens.
([#11205](AztecProtocol/aztec-packages#11205))
([5a52e95](AztecProtocol/aztec-packages@5a52e95))
* Redo typo PR by Daulox92
([#11458](AztecProtocol/aztec-packages#11458))
([f3ba327](AztecProtocol/aztec-packages@f3ba327))
* Redo typo PR by teenager-ETH
([#11320](AztecProtocol/aztec-packages#11320))
([77854e2](AztecProtocol/aztec-packages@77854e2))
* **sol:** Generate & compile verifier contract in bootstrap
([#11364](AztecProtocol/aztec-packages#11364))
([bf3b12a](AztecProtocol/aztec-packages@bf3b12a))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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.

Rename unencrypted_logs to public_logs and remove it from private.
6 participants