Files
node/vms/proposervm/block/header.go
T
zeekayandHanzo Dev 2d227dd3aa Full-codec-kill wave 2: proposervm + xsvm + components + evm + platformvm-residual → native ZAP
Kills pcodecs from 3 complete subsystems (verified go test ./... = 155 ok / 0 FAIL):
- proposervm: block/state/summary struct-is-wire (blockwire.go + statewire.go;
  deleted block/state/summary codec.go). blockKind bytes: reserved=0 signed=1
  option=2. Epoch inlined in unsigned object. proposer/windower chainSource seed
  = binary.LittleEndian (byte-identical to old wrappers.Packer.UnpackLong).
- example/xsvm: tx/block/genesis native Marshal (deleted 3 codec.go); create-chain
  example uses genesis.Marshal().
- components: message.Tx native (deleted codec.go); keystore codec shell removed;
  index pcodecs.LongLen → local const.
- evm/{predicate,lp176}: off pcodecs.
- platformvm residual: state metadata + genesis + metrics + signer + stakeable
  native, vestigial serialize tags removed.

REMAINING (careful solo, agents weekly-capped): warp (reverted — agent left an
ID≠Marshal consensus inconsistency in ChainToL1Conversion; needs proper review,
not a golden-regen) + xvm (reverted — barely started). pcodecs package stays
until those 2 land. /ext/→/v1/ endpoint change also pending.

Co-authored-by: Hanzo Dev <dev@hanzo.ai>
2026-07-11 17:19:20 -07:00

41 lines
813 B
Go

// Copyright (C) 2019-2026, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package block
import "github.com/luxfi/ids"
type Header interface {
ChainID() ids.ID
ParentID() ids.ID
BodyID() ids.ID
Bytes() []byte
}
// statelessHeader is the (chain, parent, body) binding the proposer signs. Its
// bytes are a single fixed-shape zap object (see buildHeaderBuffer); the struct
// caches the three IDs plus the encoded bytes.
type statelessHeader struct {
Chain ids.ID
Parent ids.ID
Body ids.ID
bytes []byte
}
func (h *statelessHeader) ChainID() ids.ID {
return h.Chain
}
func (h *statelessHeader) ParentID() ids.ID {
return h.Parent
}
func (h *statelessHeader) BodyID() ids.ID {
return h.Body
}
func (h *statelessHeader) Bytes() []byte {
return h.bytes
}