Documentation ¶
Overview ¶
Code generated by fastssz. DO NOT EDIT. Hash: 367c18d749028ab50a36b03cb0fa7b77b79156f0a98a3cc790c3b313f17590ec Version: 0.1.3
Code generated by fastssz. DO NOT EDIT. Hash: 367c18d749028ab50a36b03cb0fa7b77b79156f0a98a3cc790c3b313f17590ec Version: 0.1.3
Code generated by fastssz. DO NOT EDIT. Hash: 367c18d749028ab50a36b03cb0fa7b77b79156f0a98a3cc790c3b313f17590ec Version: 0.1.3
Code generated by fastssz. DO NOT EDIT. Hash: d03c36f29f8417e468ff635fcd47b58938b50c44ebc5fbb27d5afefdf4bdc91f Version: 0.1.3
Code generated by fastssz. DO NOT EDIT. Hash: 367c18d749028ab50a36b03cb0fa7b77b79156f0a98a3cc790c3b313f17590ec Version: 0.1.3
Index ¶
- Constants
- type BeaconBlock
- func (b *BeaconBlock) GetTree() (*ssz.Node, error)
- func (b *BeaconBlock) HashTreeRoot() ([32]byte, error)
- func (b *BeaconBlock) HashTreeRootWith(hh ssz.HashWalker) (err error)
- func (b *BeaconBlock) MarshalJSON() ([]byte, error)
- func (b *BeaconBlock) MarshalSSZ() ([]byte, error)
- func (b *BeaconBlock) MarshalSSZTo(buf []byte) (dst []byte, err error)
- func (b *BeaconBlock) MarshalYAML() ([]byte, error)
- func (b *BeaconBlock) SizeSSZ() (size int)
- func (b *BeaconBlock) String() string
- func (b *BeaconBlock) UnmarshalJSON(input []byte) error
- func (b *BeaconBlock) UnmarshalSSZ(buf []byte) error
- func (b *BeaconBlock) UnmarshalYAML(input []byte) error
- type BeaconBlockBody
- func (b *BeaconBlockBody) GetTree() (*ssz.Node, error)
- func (b *BeaconBlockBody) HashTreeRoot() ([32]byte, error)
- func (b *BeaconBlockBody) HashTreeRootWith(hh ssz.HashWalker) (err error)
- func (b *BeaconBlockBody) MarshalJSON() ([]byte, error)
- func (b *BeaconBlockBody) MarshalSSZ() ([]byte, error)
- func (b *BeaconBlockBody) MarshalSSZTo(buf []byte) (dst []byte, err error)
- func (b *BeaconBlockBody) MarshalYAML() ([]byte, error)
- func (b *BeaconBlockBody) SizeSSZ() (size int)
- func (b *BeaconBlockBody) String() string
- func (b *BeaconBlockBody) UnmarshalJSON(input []byte) error
- func (b *BeaconBlockBody) UnmarshalSSZ(buf []byte) error
- func (b *BeaconBlockBody) UnmarshalYAML(input []byte) error
- type BeaconState
- type BlobIndex
- type ExecutionPayload
- func (e *ExecutionPayload) GetTree() (*ssz.Node, error)
- func (e *ExecutionPayload) HashTreeRoot() ([32]byte, error)
- func (e *ExecutionPayload) HashTreeRootWith(hh ssz.HashWalker) (err error)
- func (e *ExecutionPayload) MarshalJSON() ([]byte, error)
- func (e *ExecutionPayload) MarshalSSZ() ([]byte, error)
- func (e *ExecutionPayload) MarshalSSZTo(buf []byte) (dst []byte, err error)
- func (e *ExecutionPayload) MarshalYAML() ([]byte, error)
- func (e *ExecutionPayload) SizeSSZ() (size int)
- func (e *ExecutionPayload) String() string
- func (e *ExecutionPayload) UnmarshalJSON(input []byte) error
- func (e *ExecutionPayload) UnmarshalSSZ(buf []byte) error
- func (e *ExecutionPayload) UnmarshalYAML(input []byte) error
- type ExecutionPayloadHeader
- func (e *ExecutionPayloadHeader) GetTree() (*ssz.Node, error)
- func (e *ExecutionPayloadHeader) HashTreeRoot() ([32]byte, error)
- func (e *ExecutionPayloadHeader) HashTreeRootWith(hh ssz.HashWalker) (err error)
- func (e *ExecutionPayloadHeader) MarshalJSON() ([]byte, error)
- func (e *ExecutionPayloadHeader) MarshalSSZ() ([]byte, error)
- func (e *ExecutionPayloadHeader) MarshalSSZTo(buf []byte) (dst []byte, err error)
- func (e *ExecutionPayloadHeader) MarshalYAML() ([]byte, error)
- func (e *ExecutionPayloadHeader) SizeSSZ() (size int)
- func (e *ExecutionPayloadHeader) String() string
- func (e *ExecutionPayloadHeader) UnmarshalJSON(input []byte) error
- func (e *ExecutionPayloadHeader) UnmarshalSSZ(buf []byte) error
- func (e *ExecutionPayloadHeader) UnmarshalYAML(input []byte) error
- type KzgCommitment
- type SignedBeaconBlock
- func (s *SignedBeaconBlock) GetTree() (*ssz.Node, error)
- func (s *SignedBeaconBlock) HashTreeRoot() ([32]byte, error)
- func (s *SignedBeaconBlock) HashTreeRootWith(hh ssz.HashWalker) (err error)
- func (s *SignedBeaconBlock) MarshalJSON() ([]byte, error)
- func (s *SignedBeaconBlock) MarshalSSZ() ([]byte, error)
- func (s *SignedBeaconBlock) MarshalSSZTo(buf []byte) (dst []byte, err error)
- func (s *SignedBeaconBlock) MarshalYAML() ([]byte, error)
- func (s *SignedBeaconBlock) SizeSSZ() (size int)
- func (s *SignedBeaconBlock) String() string
- func (s *SignedBeaconBlock) UnmarshalJSON(input []byte) error
- func (s *SignedBeaconBlock) UnmarshalSSZ(buf []byte) error
- func (s *SignedBeaconBlock) UnmarshalYAML(input []byte) error
- type VersionedHash
Constants ¶
const KzgCommitmentLength = 48
KzgCommitmentLength is the number of bytes in a KZG commitment.
const VersionedHashLength = 32
VersionedHashLength is the number of bytes in a versioned hash.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BeaconBlock ¶
type BeaconBlock struct { Slot phase0.Slot ProposerIndex phase0.ValidatorIndex ParentRoot phase0.Root `ssz-size:"32"` StateRoot phase0.Root `ssz-size:"32"` Body *BeaconBlockBody }
BeaconBlock represents a beacon block.
func (*BeaconBlock) GetTree ¶
func (b *BeaconBlock) GetTree() (*ssz.Node, error)
GetTree ssz hashes the BeaconBlock object
func (*BeaconBlock) HashTreeRoot ¶
func (b *BeaconBlock) HashTreeRoot() ([32]byte, error)
HashTreeRoot ssz hashes the BeaconBlock object
func (*BeaconBlock) HashTreeRootWith ¶
func (b *BeaconBlock) HashTreeRootWith(hh ssz.HashWalker) (err error)
HashTreeRootWith ssz hashes the BeaconBlock object with a hasher
func (*BeaconBlock) MarshalJSON ¶
func (b *BeaconBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (*BeaconBlock) MarshalSSZ ¶
func (b *BeaconBlock) MarshalSSZ() ([]byte, error)
MarshalSSZ ssz marshals the BeaconBlock object
func (*BeaconBlock) MarshalSSZTo ¶
func (b *BeaconBlock) MarshalSSZTo(buf []byte) (dst []byte, err error)
MarshalSSZTo ssz marshals the BeaconBlock object to a target array
func (*BeaconBlock) MarshalYAML ¶
func (b *BeaconBlock) MarshalYAML() ([]byte, error)
MarshalYAML implements yaml.Marshaler.
func (*BeaconBlock) SizeSSZ ¶
func (b *BeaconBlock) SizeSSZ() (size int)
SizeSSZ returns the ssz encoded size in bytes for the BeaconBlock object
func (*BeaconBlock) String ¶
func (b *BeaconBlock) String() string
String returns a string version of the structure.
func (*BeaconBlock) UnmarshalJSON ¶
func (b *BeaconBlock) UnmarshalJSON(input []byte) error
UnmarshalJSON implements json.Unmarshaler.
func (*BeaconBlock) UnmarshalSSZ ¶
func (b *BeaconBlock) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ ssz unmarshals the BeaconBlock object
func (*BeaconBlock) UnmarshalYAML ¶
func (b *BeaconBlock) UnmarshalYAML(input []byte) error
UnmarshalYAML implements yaml.Unmarshaler.
type BeaconBlockBody ¶
type BeaconBlockBody struct { RANDAOReveal phase0.BLSSignature `ssz-size:"96"` ETH1Data *phase0.ETH1Data Graffiti [32]byte `ssz-size:"32"` ProposerSlashings []*phase0.ProposerSlashing `ssz-max:"16"` AttesterSlashings []*phase0.AttesterSlashing `ssz-max:"2"` Attestations []*phase0.Attestation `ssz-max:"128"` Deposits []*phase0.Deposit `ssz-max:"16"` VoluntaryExits []*phase0.SignedVoluntaryExit `ssz-max:"16"` SyncAggregate *altair.SyncAggregate ExecutionPayload *ExecutionPayload BLSToExecutionChanges []*capella.SignedBLSToExecutionChange `ssz-max:"16"` BlobKzgCommitments []KzgCommitment `ssz-size:"?,48" ssz-max:"4"` }
BeaconBlockBody represents the body of a beacon block.
func (*BeaconBlockBody) GetTree ¶
func (b *BeaconBlockBody) GetTree() (*ssz.Node, error)
GetTree ssz hashes the BeaconBlockBody object
func (*BeaconBlockBody) HashTreeRoot ¶
func (b *BeaconBlockBody) HashTreeRoot() ([32]byte, error)
HashTreeRoot ssz hashes the BeaconBlockBody object
func (*BeaconBlockBody) HashTreeRootWith ¶
func (b *BeaconBlockBody) HashTreeRootWith(hh ssz.HashWalker) (err error)
HashTreeRootWith ssz hashes the BeaconBlockBody object with a hasher
func (*BeaconBlockBody) MarshalJSON ¶
func (b *BeaconBlockBody) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (*BeaconBlockBody) MarshalSSZ ¶
func (b *BeaconBlockBody) MarshalSSZ() ([]byte, error)
MarshalSSZ ssz marshals the BeaconBlockBody object
func (*BeaconBlockBody) MarshalSSZTo ¶
func (b *BeaconBlockBody) MarshalSSZTo(buf []byte) (dst []byte, err error)
MarshalSSZTo ssz marshals the BeaconBlockBody object to a target array
func (*BeaconBlockBody) MarshalYAML ¶
func (b *BeaconBlockBody) MarshalYAML() ([]byte, error)
MarshalYAML implements yaml.Marshaler.
func (*BeaconBlockBody) SizeSSZ ¶
func (b *BeaconBlockBody) SizeSSZ() (size int)
SizeSSZ returns the ssz encoded size in bytes for the BeaconBlockBody object
func (*BeaconBlockBody) String ¶
func (b *BeaconBlockBody) String() string
String returns a string version of the structure.
func (*BeaconBlockBody) UnmarshalJSON ¶
func (b *BeaconBlockBody) UnmarshalJSON(input []byte) error
UnmarshalJSON implements json.Unmarshaler.
func (*BeaconBlockBody) UnmarshalSSZ ¶
func (b *BeaconBlockBody) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ ssz unmarshals the BeaconBlockBody object
func (*BeaconBlockBody) UnmarshalYAML ¶
func (b *BeaconBlockBody) UnmarshalYAML(input []byte) error
UnmarshalYAML implements yaml.Unmarshaler.
type BeaconState ¶
type BeaconState struct { GenesisTime uint64 GenesisValidatorsRoot phase0.Root `ssz-size:"32"` Slot phase0.Slot Fork *phase0.Fork LatestBlockHeader *phase0.BeaconBlockHeader BlockRoots []phase0.Root `ssz-size:"8192,32"` StateRoots []phase0.Root `ssz-size:"8192,32"` HistoricalRoots []phase0.Root `ssz-size:"?,32" ssz-max:"16777216"` ETH1Data *phase0.ETH1Data ETH1DataVotes []*phase0.ETH1Data `ssz-max:"2048"` ETH1DepositIndex uint64 Validators []*phase0.Validator `ssz-max:"1099511627776"` Balances []phase0.Gwei `ssz-max:"1099511627776"` RANDAOMixes []phase0.Root `ssz-size:"65536,32"` Slashings []phase0.Gwei `ssz-size:"8192"` PreviousEpochParticipation []altair.ParticipationFlags `ssz-max:"1099511627776"` CurrentEpochParticipation []altair.ParticipationFlags `ssz-max:"1099511627776"` JustificationBits bitfield.Bitvector4 `ssz-size:"1"` PreviousJustifiedCheckpoint *phase0.Checkpoint CurrentJustifiedCheckpoint *phase0.Checkpoint FinalizedCheckpoint *phase0.Checkpoint InactivityScores []uint64 `ssz-max:"1099511627776"` CurrentSyncCommittee *altair.SyncCommittee NextSyncCommittee *altair.SyncCommittee LatestExecutionPayloadHeader *ExecutionPayloadHeader NextWithdrawalIndex capella.WithdrawalIndex NextWithdrawalValidatorIndex phase0.ValidatorIndex HistoricalSummaries []*capella.HistoricalSummary `ssz-size:"?,32" ssz-max:"16777216"` }
BeaconState represents a beacon state.
func (*BeaconState) MarshalJSON ¶
func (s *BeaconState) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (*BeaconState) String ¶
func (s *BeaconState) String() string
String returns a string version of the structure.
func (*BeaconState) UnmarshalJSON ¶
func (s *BeaconState) UnmarshalJSON(input []byte) error
UnmarshalJSON implements json.Unmarshaler.
type ExecutionPayload ¶
type ExecutionPayload struct { ParentHash phase0.Hash32 `ssz-size:"32"` FeeRecipient bellatrix.ExecutionAddress `ssz-size:"20"` StateRoot phase0.Root `ssz-size:"32"` ReceiptsRoot phase0.Root `ssz-size:"32"` LogsBloom [256]byte `ssz-size:"256"` PrevRandao [32]byte `ssz-size:"32"` BlockNumber uint64 GasLimit uint64 GasUsed uint64 Timestamp uint64 ExtraData []byte `ssz-max:"32"` BaseFeePerGas *uint256.Int `ssz-size:"32"` BlockHash phase0.Hash32 `ssz-size:"32"` Transactions []bellatrix.Transaction `ssz-max:"1048576,1073741824" ssz-size:"?,?"` Withdrawals []*capella.Withdrawal `ssz-max:"16"` ExcessDataGas *uint256.Int `ssz-size:"32"` }
ExecutionPayload represents an execution layer payload.
func (*ExecutionPayload) GetTree ¶
func (e *ExecutionPayload) GetTree() (*ssz.Node, error)
GetTree ssz hashes the ExecutionPayload object
func (*ExecutionPayload) HashTreeRoot ¶
func (e *ExecutionPayload) HashTreeRoot() ([32]byte, error)
HashTreeRoot ssz hashes the ExecutionPayload object
func (*ExecutionPayload) HashTreeRootWith ¶
func (e *ExecutionPayload) HashTreeRootWith(hh ssz.HashWalker) (err error)
HashTreeRootWith ssz hashes the ExecutionPayload object with a hasher
func (*ExecutionPayload) MarshalJSON ¶
func (e *ExecutionPayload) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (*ExecutionPayload) MarshalSSZ ¶
func (e *ExecutionPayload) MarshalSSZ() ([]byte, error)
MarshalSSZ ssz marshals the ExecutionPayload object
func (*ExecutionPayload) MarshalSSZTo ¶
func (e *ExecutionPayload) MarshalSSZTo(buf []byte) (dst []byte, err error)
MarshalSSZTo ssz marshals the ExecutionPayload object to a target array
func (*ExecutionPayload) MarshalYAML ¶
func (e *ExecutionPayload) MarshalYAML() ([]byte, error)
MarshalYAML implements yaml.Marshaler.
func (*ExecutionPayload) SizeSSZ ¶
func (e *ExecutionPayload) SizeSSZ() (size int)
SizeSSZ returns the ssz encoded size in bytes for the ExecutionPayload object
func (*ExecutionPayload) String ¶
func (e *ExecutionPayload) String() string
String returns a string version of the structure.
func (*ExecutionPayload) UnmarshalJSON ¶
func (e *ExecutionPayload) UnmarshalJSON(input []byte) error
UnmarshalJSON implements json.Unmarshaler.
func (*ExecutionPayload) UnmarshalSSZ ¶
func (e *ExecutionPayload) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ ssz unmarshals the ExecutionPayload object
func (*ExecutionPayload) UnmarshalYAML ¶
func (e *ExecutionPayload) UnmarshalYAML(input []byte) error
UnmarshalYAML implements yaml.Unmarshaler.
type ExecutionPayloadHeader ¶
type ExecutionPayloadHeader struct { ParentHash phase0.Hash32 `ssz-size:"32"` FeeRecipient bellatrix.ExecutionAddress `ssz-size:"20"` StateRoot phase0.Root `ssz-size:"32"` ReceiptsRoot phase0.Root `ssz-size:"32"` LogsBloom [256]byte `ssz-size:"256"` PrevRandao [32]byte `ssz-size:"32"` BlockNumber uint64 GasLimit uint64 GasUsed uint64 Timestamp uint64 ExtraData []byte `ssz-max:"32"` BaseFeePerGas *uint256.Int `ssz-size:"32"` BlockHash phase0.Hash32 `ssz-size:"32"` TransactionsRoot phase0.Root `ssz-size:"32"` WithdrawalsRoot phase0.Root `ssz-size:"32"` ExcessDataGas *uint256.Int `ssz-size:"32"` }
ExecutionPayloadHeader represents an execution layer payload header.
func (*ExecutionPayloadHeader) GetTree ¶
func (e *ExecutionPayloadHeader) GetTree() (*ssz.Node, error)
GetTree ssz hashes the ExecutionPayloadHeader object
func (*ExecutionPayloadHeader) HashTreeRoot ¶
func (e *ExecutionPayloadHeader) HashTreeRoot() ([32]byte, error)
HashTreeRoot ssz hashes the ExecutionPayloadHeader object
func (*ExecutionPayloadHeader) HashTreeRootWith ¶
func (e *ExecutionPayloadHeader) HashTreeRootWith(hh ssz.HashWalker) (err error)
HashTreeRootWith ssz hashes the ExecutionPayloadHeader object with a hasher
func (*ExecutionPayloadHeader) MarshalJSON ¶
func (e *ExecutionPayloadHeader) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (*ExecutionPayloadHeader) MarshalSSZ ¶
func (e *ExecutionPayloadHeader) MarshalSSZ() ([]byte, error)
MarshalSSZ ssz marshals the ExecutionPayloadHeader object
func (*ExecutionPayloadHeader) MarshalSSZTo ¶
func (e *ExecutionPayloadHeader) MarshalSSZTo(buf []byte) (dst []byte, err error)
MarshalSSZTo ssz marshals the ExecutionPayloadHeader object to a target array
func (*ExecutionPayloadHeader) MarshalYAML ¶
func (e *ExecutionPayloadHeader) MarshalYAML() ([]byte, error)
MarshalYAML implements yaml.Marshaler.
func (*ExecutionPayloadHeader) SizeSSZ ¶
func (e *ExecutionPayloadHeader) SizeSSZ() (size int)
SizeSSZ returns the ssz encoded size in bytes for the ExecutionPayloadHeader object
func (*ExecutionPayloadHeader) String ¶
func (e *ExecutionPayloadHeader) String() string
String returns a string version of the structure.
func (*ExecutionPayloadHeader) UnmarshalJSON ¶
func (e *ExecutionPayloadHeader) UnmarshalJSON(input []byte) error
UnmarshalJSON implements json.Unmarshaler.
func (*ExecutionPayloadHeader) UnmarshalSSZ ¶
func (e *ExecutionPayloadHeader) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ ssz unmarshals the ExecutionPayloadHeader object
func (*ExecutionPayloadHeader) UnmarshalYAML ¶
func (e *ExecutionPayloadHeader) UnmarshalYAML(input []byte) error
UnmarshalYAML implements yaml.Unmarshaler.
type KzgCommitment ¶
type KzgCommitment [48]byte
KzgCommitment is an KZG commitment.
func (KzgCommitment) Format ¶
func (k KzgCommitment) Format(state fmt.State, v rune)
Format formats the KZG commitment.
func (KzgCommitment) String ¶
func (k KzgCommitment) String() string
String returns a string version of the structure.
type SignedBeaconBlock ¶
type SignedBeaconBlock struct { Message *BeaconBlock Signature phase0.BLSSignature `ssz-size:"96"` }
SignedBeaconBlock is a signed beacon block.
func (*SignedBeaconBlock) GetTree ¶
func (s *SignedBeaconBlock) GetTree() (*ssz.Node, error)
GetTree ssz hashes the SignedBeaconBlock object
func (*SignedBeaconBlock) HashTreeRoot ¶
func (s *SignedBeaconBlock) HashTreeRoot() ([32]byte, error)
HashTreeRoot ssz hashes the SignedBeaconBlock object
func (*SignedBeaconBlock) HashTreeRootWith ¶
func (s *SignedBeaconBlock) HashTreeRootWith(hh ssz.HashWalker) (err error)
HashTreeRootWith ssz hashes the SignedBeaconBlock object with a hasher
func (*SignedBeaconBlock) MarshalJSON ¶
func (s *SignedBeaconBlock) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (*SignedBeaconBlock) MarshalSSZ ¶
func (s *SignedBeaconBlock) MarshalSSZ() ([]byte, error)
MarshalSSZ ssz marshals the SignedBeaconBlock object
func (*SignedBeaconBlock) MarshalSSZTo ¶
func (s *SignedBeaconBlock) MarshalSSZTo(buf []byte) (dst []byte, err error)
MarshalSSZTo ssz marshals the SignedBeaconBlock object to a target array
func (*SignedBeaconBlock) MarshalYAML ¶
func (s *SignedBeaconBlock) MarshalYAML() ([]byte, error)
MarshalYAML implements yaml.Marshaler.
func (*SignedBeaconBlock) SizeSSZ ¶
func (s *SignedBeaconBlock) SizeSSZ() (size int)
SizeSSZ returns the ssz encoded size in bytes for the SignedBeaconBlock object
func (*SignedBeaconBlock) String ¶
func (s *SignedBeaconBlock) String() string
String returns a string version of the structure.
func (*SignedBeaconBlock) UnmarshalJSON ¶
func (s *SignedBeaconBlock) UnmarshalJSON(input []byte) error
UnmarshalJSON implements json.Unmarshaler.
func (*SignedBeaconBlock) UnmarshalSSZ ¶
func (s *SignedBeaconBlock) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ ssz unmarshals the SignedBeaconBlock object
func (*SignedBeaconBlock) UnmarshalYAML ¶
func (s *SignedBeaconBlock) UnmarshalYAML(input []byte) error
UnmarshalYAML implements yaml.Unmarshaler.
Source Files ¶
- beaconblock.go
- beaconblock_json.go
- beaconblock_ssz.go
- beaconblock_yaml.go
- beaconblockbody.go
- beaconblockbody_json.go
- beaconblockbody_ssz.go
- beaconblockbody_yaml.go
- beaconstate.go
- beaconstate_json.go
- consts.go
- executionpayload.go
- executionpayload_json.go
- executionpayload_ssz.go
- executionpayload_yaml.go
- executionpayloadheader.go
- executionpayloadheader_json.go
- executionpayloadheader_ssz.go
- executionpayloadheader_yaml.go
- generate.go
- signedbeaconblock.go
- signedbeaconblock_json.go
- signedbeaconblock_ssz.go
- signedbeaconblock_yaml.go
- types.go