leios

package
v0.140.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EraIdLeios   = 7
	EraNameLeios = "Leios"

	BlockTypeLeiosRanking  = 8
	BlockTypeLeiosEndorser = 9

	BlockHeaderTypeLeios = 7

	TxTypeLeios = 7
)

Variables

View Source
var EraLeios = common.Era{
	Id:   EraIdLeios,
	Name: EraNameLeios,
}

Functions

This section is empty.

Types

type LeiosBlockHeader

type LeiosBlockHeader struct {
	cbor.StructAsArray
	cbor.DecodeStoreCbor

	Body      LeiosBlockHeaderBody
	Signature []byte
	// contains filtered or unexported fields
}

func NewLeiosBlockHeaderFromCbor

func NewLeiosBlockHeaderFromCbor(data []byte) (*LeiosBlockHeader, error)

func (*LeiosBlockHeader) BlockBodySize

func (h *LeiosBlockHeader) BlockBodySize() uint64

func (*LeiosBlockHeader) BlockNumber

func (h *LeiosBlockHeader) BlockNumber() uint64

func (*LeiosBlockHeader) Era

func (h *LeiosBlockHeader) Era() common.Era

func (*LeiosBlockHeader) Hash

func (*LeiosBlockHeader) IssuerVkey

func (h *LeiosBlockHeader) IssuerVkey() common.IssuerVkey

func (*LeiosBlockHeader) PrevHash

func (h *LeiosBlockHeader) PrevHash() common.Blake2b256

func (*LeiosBlockHeader) SlotNumber

func (h *LeiosBlockHeader) SlotNumber() uint64

func (*LeiosBlockHeader) UnmarshalCBOR

func (h *LeiosBlockHeader) UnmarshalCBOR(cborData []byte) error

type LeiosBlockHeaderBody

type LeiosBlockHeaderBody struct {
	babbage.BabbageBlockHeaderBody
	AnnouncedEb     *common.Blake2b256
	AnnouncedEbSize *uint32
	CertifiedEb     *bool
}

type LeiosEndorserBlock

type LeiosEndorserBlock struct {
	cbor.DecodeStoreCbor
	cbor.StructAsArray

	TxReferences map[common.Blake2b256]uint16
	// contains filtered or unexported fields
}

func NewLeiosEndorserBlockFromCbor

func NewLeiosEndorserBlockFromCbor(data []byte) (*LeiosEndorserBlock, error)

func (*LeiosEndorserBlock) BlockBodySize

func (b *LeiosEndorserBlock) BlockBodySize() uint64

func (*LeiosEndorserBlock) BlockNumber

func (b *LeiosEndorserBlock) BlockNumber() uint64

func (*LeiosEndorserBlock) Era

func (b *LeiosEndorserBlock) Era() common.Era

func (*LeiosEndorserBlock) Hash

func (*LeiosEndorserBlock) Header

func (*LeiosEndorserBlock) IssuerVkey

func (b *LeiosEndorserBlock) IssuerVkey() common.IssuerVkey

func (*LeiosEndorserBlock) PrevHash

func (b *LeiosEndorserBlock) PrevHash() common.Blake2b256

func (*LeiosEndorserBlock) SlotNumber

func (b *LeiosEndorserBlock) SlotNumber() uint64

func (*LeiosEndorserBlock) Transactions

func (b *LeiosEndorserBlock) Transactions() []common.Transaction

func (LeiosEndorserBlock) Type

func (LeiosEndorserBlock) Type() int

func (*LeiosEndorserBlock) Utxorpc

func (b *LeiosEndorserBlock) Utxorpc() (*utxorpc.Block, error)

type LeiosGenesis

type LeiosGenesis struct {
	HeaderDiffusionPeriod           uint  `json:"headerDiffusionPeriod"`
	VotingPeriod                    uint  `json:"votingPeriod"`
	DiffusionPeriod                 uint  `json:"diffusionPeriod"`
	RankingBlockMaxSize             uint  `json:"rankingBlockMaxSize"`
	EndorserBlockReferenceTxMaxSize uint  `json:"endorserBlockRefTxMaxSize"`
	EndorserBlockMaxSize            uint  `json:"endorserBlockMaxSize"`
	MeanCommitteeSize               uint  `json:"meanCommitteeSize"`
	QuorumSize                      uint  `json:"quorumSize"`
	MaxExStepPerEndorserBlock       int64 `json:"maxExStepPerEndorserBlock"`
	MaxExMemPerEndorserBlock        int64 `json:"maxExMemPerEndorserBlock"`
	MaxExStepPerTransaction         int64 `json:"maxExStepPerTransaction"`
	MaxExMemPerTransaction          int64 `json:"maxExMemPerTransaction"`
}

func NewLeiosGenesisFromFile

func NewLeiosGenesisFromFile(path string) (LeiosGenesis, error)

func NewLeiosGenesisFromReader

func NewLeiosGenesisFromReader(r io.Reader) (LeiosGenesis, error)

type LeiosProtocolParameterUpdate

type LeiosProtocolParameterUpdate struct {
	cbor.DecodeStoreCbor
	MinFeeA                          *uint                                     `cbor:"0,keyasint"`
	MinFeeB                          *uint                                     `cbor:"1,keyasint"`
	MaxBlockBodySize                 *uint                                     `cbor:"2,keyasint"`
	MaxTxSize                        *uint                                     `cbor:"3,keyasint"`
	MaxBlockHeaderSize               *uint                                     `cbor:"4,keyasint"`
	KeyDeposit                       *uint                                     `cbor:"5,keyasint"`
	PoolDeposit                      *uint                                     `cbor:"6,keyasint"`
	MaxEpoch                         *uint                                     `cbor:"7,keyasint"`
	NOpt                             *uint                                     `cbor:"8,keyasint"`
	A0                               *cbor.Rat                                 `cbor:"9,keyasint"`
	Rho                              *cbor.Rat                                 `cbor:"10,keyasint"`
	Tau                              *cbor.Rat                                 `cbor:"11,keyasint"`
	ProtocolVersion                  *common.ProtocolParametersProtocolVersion `cbor:"14,keyasint"`
	MinPoolCost                      *uint64                                   `cbor:"16,keyasint"`
	AdaPerUtxoByte                   *uint64                                   `cbor:"17,keyasint"`
	CostModels                       map[uint][]int64                          `cbor:"18,keyasint"`
	ExecutionCosts                   *common.ExUnitPrice                       `cbor:"19,keyasint"`
	MaxTxExUnits                     *common.ExUnits                           `cbor:"20,keyasint"`
	MaxBlockExUnits                  *common.ExUnits                           `cbor:"21,keyasint"`
	MaxValueSize                     *uint                                     `cbor:"22,keyasint"`
	CollateralPercentage             *uint                                     `cbor:"23,keyasint"`
	PoolVotingThresholds             *conway.PoolVotingThresholds              `cbor:"25,keyasint"`
	DRepVotingThresholds             *conway.DRepVotingThresholds              `cbor:"26,keyasint"`
	MinCommitteeSize                 *uint                                     `cbor:"27,keyasint"`
	CommitteeTermLimit               *uint64                                   `cbor:"28,keyasint"`
	GovActionValidityPeriod          *uint64                                   `cbor:"29,keyasint"`
	GovActionDeposit                 *uint64                                   `cbor:"30,keyasint"`
	DRepDeposit                      *uint64                                   `cbor:"31,keyasint"`
	DRepInactivityPeriod             *uint64                                   `cbor:"32,keyasint"`
	MinFeeRefScriptCostPerByte       *cbor.Rat                                 `cbor:"33,keyasint"`
	HeaderDiffusionPeriodLength      *uint64                                   `cbor:"34,keyasint"`
	VotingPeriodLength               *uint64                                   `cbor:"35,keyasint"`
	DiffusionPeriodLength            *uint64                                   `cbor:"36,keyasint"`
	RankingBlockMaxSize              *uint64                                   `cbor:"37,keyasint"`
	EndorserBlockReferenceableTxSize *uint64                                   `cbor:"38,keyasint"`
	EndorserBlockMaxSize             *uint64                                   `cbor:"39,keyasint"`
	MeanCommitteeSize                *uint64                                   `cbor:"40,keyasint"`
	QuorumSize                       *cbor.Rat                                 `cbor:"41,keyasint"`
	MaxPlutusStepsPerEndorserBlock   *uint64                                   `cbor:"42,keyasint"`
	MaxPlutusMemoryPerEndorserBlock  *uint64                                   `cbor:"43,keyasint"`
	MaxPlutusStepsPerTx              *uint64                                   `cbor:"44,keyasint"`
	PlutusMemoryLimitPerTx           *uint64                                   `cbor:"45,keyasint"`
}

func (LeiosProtocolParameterUpdate) IsProtocolParameterUpdate added in v0.139.0

func (LeiosProtocolParameterUpdate) IsProtocolParameterUpdate()

func (*LeiosProtocolParameterUpdate) UnmarshalCBOR added in v0.139.0

func (u *LeiosProtocolParameterUpdate) UnmarshalCBOR(cborData []byte) error

type LeiosProtocolParameters

type LeiosProtocolParameters struct {
	cbor.StructAsArray
	MinFeeA                    uint
	MinFeeB                    uint
	MaxBlockBodySize           uint
	MaxTxSize                  uint
	MaxBlockHeaderSize         uint
	KeyDeposit                 uint
	PoolDeposit                uint
	MaxEpoch                   uint
	NOpt                       uint
	A0                         cbor.Rat
	Rho                        cbor.Rat
	Tau                        cbor.Rat
	ProtocolVersion            common.ProtocolParametersProtocolVersion
	MinPoolCost                uint64
	AdaPerUtxoByte             uint64
	CostModels                 map[uint][]int64
	ExecutionCosts             common.ExUnitPrice
	MaxTxExUnits               common.ExUnits
	MaxBlockExUnits            common.ExUnits
	MaxValueSize               uint
	CollateralPercentage       uint
	PoolVotingThresholds       conway.PoolVotingThresholds
	DRepVotingThresholds       conway.DRepVotingThresholds
	MinCommitteeSize           uint
	CommitteeTermLimit         uint64
	GovActionValidityPeriod    uint64
	GovActionDeposit           uint64
	DRepDeposit                uint64
	DRepInactivityPeriod       uint64
	MinFeeRefScriptCostPerByte cbor.Rat
	// Leios specific parameters
	HeaderDiffusionPeriodLength      uint64
	VotingPeriodLength               uint64
	DiffusionPeriodLength            uint64
	RankingBlockMaxSize              uint64
	EndorserBlockReferenceableTxSize uint64
	EndorserBlockMaxSize             uint64
	MeanCommitteeSize                uint64
	QuorumSize                       cbor.Rat
	MaxPlutusStepsPerEndorserBlock   uint64
	MaxPlutusMemoryPerEndorserBlock  uint64
	MaxPlutusStepsPerTx              uint64
	PlutusMemoryLimitPerTx           uint64
}

func (*LeiosProtocolParameters) Update added in v0.139.0

func (p *LeiosProtocolParameters) Update(
	paramUpdate *LeiosProtocolParameterUpdate,
)

func (*LeiosProtocolParameters) Utxorpc added in v0.139.0

func (p *LeiosProtocolParameters) Utxorpc() (any, error)

type LeiosRankingBlock

type LeiosRankingBlock struct {
	conway.ConwayBlock
	BlockHeader   *LeiosBlockHeader          `cbor:"0,keyasint"`
	EbCertificate *common.LeiosEbCertificate `cbor:"5,keyasint,omitempty,omitzero"`
}

func NewLeiosRankingBlockFromCbor

func NewLeiosRankingBlockFromCbor(data []byte) (*LeiosRankingBlock, error)

func (*LeiosRankingBlock) BlockBodySize

func (b *LeiosRankingBlock) BlockBodySize() uint64

func (*LeiosRankingBlock) BlockNumber

func (b *LeiosRankingBlock) BlockNumber() uint64

func (*LeiosRankingBlock) Era

func (b *LeiosRankingBlock) Era() common.Era

func (*LeiosRankingBlock) Hash

func (*LeiosRankingBlock) Header

func (b *LeiosRankingBlock) Header() common.BlockHeader

func (*LeiosRankingBlock) IssuerVkey

func (b *LeiosRankingBlock) IssuerVkey() common.IssuerVkey

func (*LeiosRankingBlock) PrevHash

func (b *LeiosRankingBlock) PrevHash() common.Blake2b256

func (*LeiosRankingBlock) SlotNumber

func (b *LeiosRankingBlock) SlotNumber() uint64

func (*LeiosRankingBlock) Transactions

func (b *LeiosRankingBlock) Transactions() []common.Transaction

func (LeiosRankingBlock) Type

func (LeiosRankingBlock) Type() int

func (*LeiosRankingBlock) Utxorpc

func (b *LeiosRankingBlock) Utxorpc() (*utxorpc.Block, error)

type LeiosTransaction

type LeiosTransaction struct {
	conway.ConwayTransaction

	Body       LeiosTransactionBody
	WitnessSet LeiosTransactionWitnessSet
	// contains filtered or unexported fields
}

func NewLeiosTransactionFromCbor

func NewLeiosTransactionFromCbor(data []byte) (*LeiosTransaction, error)

func (*LeiosTransaction) LeiosHash

func (t *LeiosTransaction) LeiosHash() common.Blake2b256

type LeiosTransactionBody

type LeiosTransactionBody = conway.ConwayTransactionBody

func NewLeiosTransactionBodyFromCbor

func NewLeiosTransactionBodyFromCbor(
	data []byte,
) (*LeiosTransactionBody, error)

type LeiosTransactionWitnessSet

type LeiosTransactionWitnessSet = conway.ConwayTransactionWitnessSet

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL