github.com/ava-labs/avalanchego@v1.11.11/vms/proposervm/summary/build.go (about) 1 // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved. 2 // See the file LICENSE for licensing terms. 3 4 package summary 5 6 import ( 7 "fmt" 8 9 "github.com/ava-labs/avalanchego/utils/hashing" 10 ) 11 12 func Build( 13 forkHeight uint64, 14 block []byte, 15 coreSummary []byte, 16 ) (StateSummary, error) { 17 summary := stateSummary{ 18 Height: forkHeight, 19 Block: block, 20 InnerSummary: coreSummary, 21 } 22 23 bytes, err := Codec.Marshal(CodecVersion, &summary) 24 if err != nil { 25 return nil, fmt.Errorf("cannot marshal proposer summary due to: %w", err) 26 } 27 28 summary.id = hashing.ComputeHash256Array(bytes) 29 summary.bytes = bytes 30 return &summary, nil 31 }