github.com/MetalBlockchain/metalgo@v1.11.9/vms/example/xsvm/state/keys.go (about)

     1  // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
     2  // See the file LICENSE for licensing terms.
     3  
     4  package state
     5  
     6  var (
     7  	initializedKey = []byte{}
     8  	blockPrefix    = []byte{0x00}
     9  	addressPrefix  = []byte{0x01}
    10  	chainPrefix    = []byte{0x02}
    11  	messagePrefix  = []byte{0x03}
    12  )
    13  
    14  func Flatten[T any](slices ...[]T) []T {
    15  	var size int
    16  	for _, slice := range slices {
    17  		size += len(slice)
    18  	}
    19  
    20  	result := make([]T, 0, size)
    21  	for _, slice := range slices {
    22  		result = append(result, slice...)
    23  	}
    24  	return result
    25  }