Documentation
¶
Index ¶
Constants ¶
const KindQuasarCert zapv2.KindByte = 0x01
KindQuasarCert is the wire discriminator for QuasarCert.
const OffsetQuasarCert_BLSLen = 36
OffsetQuasarCert_BLSLen is the byte offset of the BLSLen field.
const OffsetQuasarCert_BLSOff = 32
OffsetQuasarCert_BLSOff is the byte offset of the BLSOff field.
const OffsetQuasarCert_CoronaLen = 44
OffsetQuasarCert_CoronaLen is the byte offset of the CoronaLen field.
const OffsetQuasarCert_CoronaOff = 40
OffsetQuasarCert_CoronaOff is the byte offset of the CoronaOff field.
const OffsetQuasarCert_Epoch = 8
OffsetQuasarCert_Epoch is the byte offset of the Epoch field.
const OffsetQuasarCert_FinalityUnixNano = 16
OffsetQuasarCert_FinalityUnixNano is the byte offset of the FinalityUnixNano field.
const OffsetQuasarCert_MLDSARollupLen = 68
OffsetQuasarCert_MLDSARollupLen is the byte offset of the MLDSARollupLen field.
const OffsetQuasarCert_MLDSARollupOff = 64
OffsetQuasarCert_MLDSARollupOff is the byte offset of the MLDSARollupOff field.
const OffsetQuasarCert_MagnetarLen = 60
OffsetQuasarCert_MagnetarLen is the byte offset of the MagnetarLen field.
const OffsetQuasarCert_MagnetarOff = 56
OffsetQuasarCert_MagnetarOff is the byte offset of the MagnetarOff field.
const OffsetQuasarCert_PulsarLen = 52
OffsetQuasarCert_PulsarLen is the byte offset of the PulsarLen field.
const OffsetQuasarCert_PulsarOff = 48
OffsetQuasarCert_PulsarOff is the byte offset of the PulsarOff field.
const OffsetQuasarCert_Validators = 24
OffsetQuasarCert_Validators is the byte offset of the Validators field.
const SizeQuasarCert = 72
SizeQuasarCert is the fixed object payload size in bytes.
Variables ¶
var QuasarCertSchemaFields = struct { Epoch zapv2.Field[QuasarCertSchema, uint64] FinalityUnixNano zapv2.Field[QuasarCertSchema, int64] Validators zapv2.Field[QuasarCertSchema, uint32] BLSOff zapv2.Field[QuasarCertSchema, uint32] BLSLen zapv2.Field[QuasarCertSchema, uint32] CoronaOff zapv2.Field[QuasarCertSchema, uint32] CoronaLen zapv2.Field[QuasarCertSchema, uint32] PulsarOff zapv2.Field[QuasarCertSchema, uint32] PulsarLen zapv2.Field[QuasarCertSchema, uint32] MagnetarOff zapv2.Field[QuasarCertSchema, uint32] MagnetarLen zapv2.Field[QuasarCertSchema, uint32] MLDSARollupOff zapv2.Field[QuasarCertSchema, uint32] MLDSARollupLen zapv2.Field[QuasarCertSchema, uint32] }{ Epoch: zapv2.At[QuasarCertSchema, uint64](8), FinalityUnixNano: zapv2.At[QuasarCertSchema, int64](16), Validators: zapv2.At[QuasarCertSchema, uint32](24), BLSOff: zapv2.At[QuasarCertSchema, uint32](32), BLSLen: zapv2.At[QuasarCertSchema, uint32](36), CoronaOff: zapv2.At[QuasarCertSchema, uint32](40), CoronaLen: zapv2.At[QuasarCertSchema, uint32](44), PulsarOff: zapv2.At[QuasarCertSchema, uint32](48), PulsarLen: zapv2.At[QuasarCertSchema, uint32](52), MagnetarOff: zapv2.At[QuasarCertSchema, uint32](56), MagnetarLen: zapv2.At[QuasarCertSchema, uint32](60), MLDSARollupOff: zapv2.At[QuasarCertSchema, uint32](64), MLDSARollupLen: zapv2.At[QuasarCertSchema, uint32](68), }
QuasarCertSchemaFields is the namespace of every scalar field accessor for QuasarCert. Use with zapv2.Read / zapv2.Write for type-safe access. Byte-array fields are emitted as standalone functions, see below.
Functions ¶
func NewQuasarCert ¶
func NewQuasarCert(epoch uint64, finalityUnixNano int64, validators uint32, bLSOff uint32, bLSLen uint32, coronaOff uint32, coronaLen uint32, pulsarOff uint32, pulsarLen uint32, magnetarOff uint32, magnetarLen uint32, mLDSARollupOff uint32, mLDSARollupLen uint32) (zapv2.View[QuasarCertSchema], []byte)
NewQuasarCert builds a fresh QuasarCert in a ZAP buffer.
Hand-rolled fast path: inlines v1 primitives (zap.NewBuilder, [*Builder.StartObject], [*ObjectBuilder.Set*], [*Builder.Finish]) so the entire build expands at the call site. Result: 1 heap alloc (the buffer), zero overhead vs v1.
func WrapQuasarCert ¶
func WrapQuasarCert(b []byte) (zapv2.View[QuasarCertSchema], error)
WrapQuasarCert parses a ZAP buffer into a typed [zapv2.View[QuasarCert]]. Validates the wire frame and the kind discriminator at offset 0; returns *zapv2.SchemaError on kind mismatch.
Hand-rolled fast path: inlines zap.Parse (which is itself inlineable). Zero heap allocs on the happy path; matches v1 hand-rolled performance.
Types ¶
type QuasarCertSchema ¶
type QuasarCertSchema struct{}
QuasarCertSchema is the v2 schema marker for QuasarCert. Methods are constant- returning so concrete-typed [zapv2.Wrap[QuasarCertSchema]] calls fold to literals at the call site.
func (QuasarCertSchema) Kind ¶
func (QuasarCertSchema) Kind() zapv2.KindByte
func (QuasarCertSchema) Name ¶
func (QuasarCertSchema) Name() string
func (QuasarCertSchema) Size ¶
func (QuasarCertSchema) Size() int