From 75724e61c6385cf8aa23ed243e133c7f9b5722d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Bene=C5=A1?= Date: Fri, 6 Mar 2026 10:53:04 +0700 Subject: [PATCH] docs: clarifying Noir fields vs struct fields in event metadata (#21172) --- yarn-project/stdlib/src/abi/event_metadata_definition.ts | 2 ++ yarn-project/stdlib/src/logs/public_log.ts | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/yarn-project/stdlib/src/abi/event_metadata_definition.ts b/yarn-project/stdlib/src/abi/event_metadata_definition.ts index 889a34466842..bf60d04b7c5a 100644 --- a/yarn-project/stdlib/src/abi/event_metadata_definition.ts +++ b/yarn-project/stdlib/src/abi/event_metadata_definition.ts @@ -1,8 +1,10 @@ import type { AbiType } from './abi.js'; import type { EventSelector } from './event_selector.js'; +/** Metadata for a contract event, used to decode emitted event logs back into structured data. */ export type EventMetadataDefinition = { eventSelector: EventSelector; abiType: AbiType; + /** Names of the event's struct members (not serialized Noir Field elements). */ fieldNames: string[]; }; diff --git a/yarn-project/stdlib/src/logs/public_log.ts b/yarn-project/stdlib/src/logs/public_log.ts index 5932261b4b90..490e39a0bcae 100644 --- a/yarn-project/stdlib/src/logs/public_log.ts +++ b/yarn-project/stdlib/src/logs/public_log.ts @@ -120,8 +120,8 @@ export class FlatPublicLogs { export class PublicLog { constructor( - public contractAddress: AztecAddress, - public fields: Fr[], + public readonly contractAddress: AztecAddress, + public readonly fields: Fr[], ) {} static from(fields: FieldsOf) { @@ -146,7 +146,9 @@ export class PublicLog { return this.fields.length + PUBLIC_LOG_HEADER_LENGTH; } + /** Returns the serialized log (field as in noir field and not a struct field). */ getEmittedFields() { + // We slice from 0 to return a shallow copy. return this.fields.slice(0); }