mary

package
v0.138.0 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2025 License: Apache-2.0 Imports: 12 Imported by: 1

Documentation

Index

Constants

View Source
const (
	EraIdMary   = 3
	EraNameMary = "Mary"

	BlockTypeMary = 4

	BlockHeaderTypeMary = 3

	TxTypeMary = 3
)

Variables

View Source
var EraMary = common.Era{
	Id:   EraIdMary,
	Name: EraNameMary,
}

Functions

func MinCoinTxOut added in v0.138.0

func MinCoinTxOut(
	_ common.Transaction,
	pparams common.ProtocolParameters,
) (uint64, error)

MinCoinTxOut calculates the minimum coin for a transaction output based on protocol parameters

func MinFeeTx added in v0.138.0

func MinFeeTx(
	tx common.Transaction,
	pparams common.ProtocolParameters,
) (uint64, error)

MinFeeTx calculates the minimum required fee for a transaction based on protocol parameters

func UtxoValidateBadInputsUtxo added in v0.109.0

func UtxoValidateBadInputsUtxo(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

func UtxoValidateFeeTooSmallUtxo added in v0.109.0

func UtxoValidateFeeTooSmallUtxo(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

func UtxoValidateInputSetEmptyUtxo added in v0.109.0

func UtxoValidateInputSetEmptyUtxo(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

func UtxoValidateMaxTxSizeUtxo added in v0.109.0

func UtxoValidateMaxTxSizeUtxo(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

func UtxoValidateOutputBootAddrAttrsTooBig added in v0.109.0

func UtxoValidateOutputBootAddrAttrsTooBig(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

func UtxoValidateOutputTooBigUtxo added in v0.109.0

func UtxoValidateOutputTooBigUtxo(
	tx common.Transaction,
	slot uint64,
	_ common.LedgerState,
	_ common.ProtocolParameters,
) error

UtxoValidateOutputTooBigUtxo ensures that transaction output values are not too large

func UtxoValidateOutputTooSmallUtxo added in v0.109.0

func UtxoValidateOutputTooSmallUtxo(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

func UtxoValidateOutsideValidityIntervalUtxo added in v0.109.0

func UtxoValidateOutsideValidityIntervalUtxo(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

func UtxoValidateValueNotConservedUtxo added in v0.109.0

func UtxoValidateValueNotConservedUtxo(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

func UtxoValidateWrongNetwork added in v0.109.0

func UtxoValidateWrongNetwork(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

func UtxoValidateWrongNetworkWithdrawal added in v0.109.0

func UtxoValidateWrongNetworkWithdrawal(
	tx common.Transaction,
	slot uint64,
	ls common.LedgerState,
	pp common.ProtocolParameters,
) error

Types

type MaryBlock

type MaryBlock struct {
	cbor.StructAsArray
	cbor.DecodeStoreCbor
	BlockHeader            *MaryBlockHeader
	TransactionBodies      []MaryTransactionBody
	TransactionWitnessSets []shelley.ShelleyTransactionWitnessSet
	TransactionMetadataSet map[uint]*cbor.LazyValue
}

func NewMaryBlockFromCbor

func NewMaryBlockFromCbor(data []byte) (*MaryBlock, error)

func (*MaryBlock) BlockBodySize

func (b *MaryBlock) BlockBodySize() uint64

func (*MaryBlock) BlockNumber

func (b *MaryBlock) BlockNumber() uint64

func (*MaryBlock) Era

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

func (*MaryBlock) Hash

func (b *MaryBlock) Hash() common.Blake2b256

func (*MaryBlock) Header

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

func (*MaryBlock) IssuerVkey

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

func (*MaryBlock) MarshalCBOR added in v0.138.0

func (b *MaryBlock) MarshalCBOR() ([]byte, error)

func (*MaryBlock) PrevHash added in v0.105.0

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

func (*MaryBlock) SlotNumber

func (b *MaryBlock) SlotNumber() uint64

func (*MaryBlock) Transactions

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

func (MaryBlock) Type added in v0.94.0

func (MaryBlock) Type() int

func (*MaryBlock) UnmarshalCBOR

func (b *MaryBlock) UnmarshalCBOR(cborData []byte) error

func (*MaryBlock) Utxorpc

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

type MaryBlockHeader

type MaryBlockHeader struct {
	shelley.ShelleyBlockHeader
}

func NewMaryBlockHeaderFromCbor added in v0.114.0

func NewMaryBlockHeaderFromCbor(data []byte) (*MaryBlockHeader, error)

func (*MaryBlockHeader) Era

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

type MaryProtocolParameterUpdate

type MaryProtocolParameterUpdate 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"`
	Decentralization   *cbor.Rat                                 `cbor:"12,keyasint"`
	ExtraEntropy       *common.Nonce                             `cbor:"13,keyasint"`
	ProtocolVersion    *common.ProtocolParametersProtocolVersion `cbor:"14,keyasint"`
	MinUtxoValue       *uint                                     `cbor:"15,keyasint"`
	MinPoolCost        *uint64                                   `cbor:"16,keyasint"`
}

func (MaryProtocolParameterUpdate) IsProtocolParameterUpdate added in v0.138.0

func (MaryProtocolParameterUpdate) IsProtocolParameterUpdate()

func (*MaryProtocolParameterUpdate) MarshalCBOR added in v0.138.0

func (p *MaryProtocolParameterUpdate) MarshalCBOR() ([]byte, error)

func (*MaryProtocolParameterUpdate) UnmarshalCBOR added in v0.99.0

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

type MaryProtocolParameters

type MaryProtocolParameters 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
	Decentralization   *cbor.Rat
	ExtraEntropy       common.Nonce
	ProtocolMajor      uint
	ProtocolMinor      uint
	MinUtxoValue       uint
	MinPoolCost        uint64
}

func UpgradePParams added in v0.103.0

func UpgradePParams(
	prevPParams shelley.ShelleyProtocolParameters,
) MaryProtocolParameters

func (*MaryProtocolParameters) Update added in v0.99.0

func (p *MaryProtocolParameters) Update(
	paramUpdate *MaryProtocolParameterUpdate,
)

func (*MaryProtocolParameters) Utxorpc added in v0.103.0

func (p *MaryProtocolParameters) Utxorpc() (*cardano.PParams, error)

type MaryTransaction

type MaryTransaction struct {
	cbor.StructAsArray
	cbor.DecodeStoreCbor

	Body       MaryTransactionBody
	WitnessSet shelley.ShelleyTransactionWitnessSet
	TxMetadata *cbor.LazyValue
	// contains filtered or unexported fields
}

func NewMaryTransactionFromCbor

func NewMaryTransactionFromCbor(data []byte) (*MaryTransaction, error)

func (MaryTransaction) AssetMint

func (MaryTransaction) AuxDataHash

func (t MaryTransaction) AuxDataHash() *common.Blake2b256

func (*MaryTransaction) Cbor

func (t *MaryTransaction) Cbor() []byte

func (MaryTransaction) Certificates

func (t MaryTransaction) Certificates() []common.Certificate

func (MaryTransaction) Collateral

func (t MaryTransaction) Collateral() []common.TransactionInput

func (MaryTransaction) CollateralReturn

func (t MaryTransaction) CollateralReturn() common.TransactionOutput

func (MaryTransaction) Consumed

func (t MaryTransaction) Consumed() []common.TransactionInput

func (MaryTransaction) CurrentTreasuryValue

func (t MaryTransaction) CurrentTreasuryValue() int64

func (MaryTransaction) Donation

func (t MaryTransaction) Donation() uint64

func (MaryTransaction) Fee

func (t MaryTransaction) Fee() uint64

func (MaryTransaction) Hash

func (MaryTransaction) Id added in v0.136.0

func (MaryTransaction) Inputs

func (MaryTransaction) IsValid

func (t MaryTransaction) IsValid() bool

func (MaryTransaction) LeiosHash added in v0.136.0

func (t MaryTransaction) LeiosHash() common.Blake2b256

func (MaryTransaction) Metadata

func (t MaryTransaction) Metadata() *cbor.LazyValue

func (MaryTransaction) Outputs

func (MaryTransaction) Produced

func (t MaryTransaction) Produced() []common.Utxo

func (MaryTransaction) ProposalProcedures

func (t MaryTransaction) ProposalProcedures() []common.ProposalProcedure

func (MaryTransaction) ProtocolParameterUpdates added in v0.95.0

func (t MaryTransaction) ProtocolParameterUpdates() (uint64, map[common.Blake2b224]common.ProtocolParameterUpdate)

func (MaryTransaction) ReferenceInputs

func (t MaryTransaction) ReferenceInputs() []common.TransactionInput

func (MaryTransaction) RequiredSigners

func (t MaryTransaction) RequiredSigners() []common.Blake2b224

func (MaryTransaction) ScriptDataHash

func (t MaryTransaction) ScriptDataHash() *common.Blake2b256

func (MaryTransaction) TTL

func (t MaryTransaction) TTL() uint64

func (MaryTransaction) TotalCollateral

func (t MaryTransaction) TotalCollateral() uint64

func (MaryTransaction) Type added in v0.94.0

func (MaryTransaction) Type() int

func (*MaryTransaction) UnmarshalCBOR added in v0.114.1

func (t *MaryTransaction) UnmarshalCBOR(cborData []byte) error

func (*MaryTransaction) Utxorpc

func (t *MaryTransaction) Utxorpc() (*utxorpc.Tx, error)

func (MaryTransaction) ValidityIntervalStart

func (t MaryTransaction) ValidityIntervalStart() uint64

func (MaryTransaction) VotingProcedures

func (t MaryTransaction) VotingProcedures() common.VotingProcedures

func (MaryTransaction) Withdrawals

func (t MaryTransaction) Withdrawals() map[*common.Address]uint64

func (MaryTransaction) Witnesses added in v0.110.0

type MaryTransactionBody

type MaryTransactionBody struct {
	common.TransactionBodyBase
	TxInputs                shelley.ShelleyTransactionInputSet            `cbor:"0,keyasint,omitempty"`
	TxOutputs               []MaryTransactionOutput                       `cbor:"1,keyasint,omitempty"`
	TxFee                   uint64                                        `cbor:"2,keyasint,omitempty"`
	Ttl                     uint64                                        `cbor:"3,keyasint,omitempty"`
	TxCertificates          []common.CertificateWrapper                   `cbor:"4,keyasint,omitempty"`
	TxWithdrawals           map[*common.Address]uint64                    `cbor:"5,keyasint,omitempty"`
	Update                  *MaryTransactionPparamUpdate                  `cbor:"6,keyasint,omitempty"`
	TxAuxDataHash           *common.Blake2b256                            `cbor:"7,keyasint,omitempty"`
	TxValidityIntervalStart *uint64                                       `cbor:"8,keyasint,omitempty"`
	TxMint                  *common.MultiAsset[common.MultiAssetTypeMint] `cbor:"9,keyasint,omitempty"`
}

func NewMaryTransactionBodyFromCbor

func NewMaryTransactionBodyFromCbor(data []byte) (*MaryTransactionBody, error)

func (*MaryTransactionBody) AssetMint

func (*MaryTransactionBody) AuxDataHash added in v0.117.0

func (b *MaryTransactionBody) AuxDataHash() *common.Blake2b256

func (*MaryTransactionBody) Certificates added in v0.117.0

func (b *MaryTransactionBody) Certificates() []common.Certificate

func (*MaryTransactionBody) Fee added in v0.117.0

func (b *MaryTransactionBody) Fee() uint64

func (*MaryTransactionBody) Inputs added in v0.117.0

func (*MaryTransactionBody) MarshalCBOR added in v0.138.0

func (b *MaryTransactionBody) MarshalCBOR() ([]byte, error)

func (*MaryTransactionBody) Outputs

func (*MaryTransactionBody) ProtocolParameterUpdates added in v0.95.0

func (b *MaryTransactionBody) ProtocolParameterUpdates() (uint64, map[common.Blake2b224]common.ProtocolParameterUpdate)

func (*MaryTransactionBody) TTL added in v0.117.0

func (b *MaryTransactionBody) TTL() uint64

func (*MaryTransactionBody) UnmarshalCBOR

func (b *MaryTransactionBody) UnmarshalCBOR(cborData []byte) error

func (*MaryTransactionBody) Utxorpc added in v0.117.0

func (b *MaryTransactionBody) Utxorpc() (*utxorpc.Tx, error)

func (*MaryTransactionBody) ValidityIntervalStart added in v0.117.0

func (b *MaryTransactionBody) ValidityIntervalStart() uint64

func (*MaryTransactionBody) Withdrawals added in v0.117.0

func (b *MaryTransactionBody) Withdrawals() map[*common.Address]uint64

type MaryTransactionOutput

type MaryTransactionOutput struct {
	cbor.StructAsArray
	cbor.DecodeStoreCbor
	OutputAddress common.Address
	OutputAmount  MaryTransactionOutputValue
}

func NewMaryTransactionOutputFromCbor

func NewMaryTransactionOutputFromCbor(
	data []byte,
) (*MaryTransactionOutput, error)

func (MaryTransactionOutput) Address

func (o MaryTransactionOutput) Address() common.Address

func (MaryTransactionOutput) Amount

func (o MaryTransactionOutput) Amount() uint64

func (MaryTransactionOutput) Assets

func (MaryTransactionOutput) Datum

func (o MaryTransactionOutput) Datum() *common.Datum

func (MaryTransactionOutput) DatumHash

func (o MaryTransactionOutput) DatumHash() *common.Blake2b256

func (MaryTransactionOutput) MarshalJSON

func (o MaryTransactionOutput) MarshalJSON() ([]byte, error)

func (MaryTransactionOutput) ScriptRef added in v0.126.0

func (txo MaryTransactionOutput) ScriptRef() common.Script

func (MaryTransactionOutput) String added in v0.135.0

func (o MaryTransactionOutput) String() string

func (MaryTransactionOutput) ToPlutusData added in v0.130.0

func (o MaryTransactionOutput) ToPlutusData() data.PlutusData

func (*MaryTransactionOutput) UnmarshalCBOR added in v0.114.1

func (o *MaryTransactionOutput) UnmarshalCBOR(cborData []byte) error

func (MaryTransactionOutput) Utxorpc

func (o MaryTransactionOutput) Utxorpc() (*utxorpc.TxOutput, error)

type MaryTransactionOutputValue

type MaryTransactionOutputValue struct {
	cbor.StructAsArray
	Amount uint64
	// We use a pointer here to allow it to be nil
	Assets *common.MultiAsset[common.MultiAssetTypeOutput]
}

func (*MaryTransactionOutputValue) MarshalCBOR

func (v *MaryTransactionOutputValue) MarshalCBOR() ([]byte, error)

func (*MaryTransactionOutputValue) UnmarshalCBOR

func (v *MaryTransactionOutputValue) UnmarshalCBOR(data []byte) error

type MaryTransactionPparamUpdate added in v0.128.0

type MaryTransactionPparamUpdate struct {
	cbor.StructAsArray
	ProtocolParamUpdates map[common.Blake2b224]MaryProtocolParameterUpdate
	Epoch                uint64
}

type OutputTooBigUtxoError added in v0.109.0

type OutputTooBigUtxoError struct {
	Outputs []common.TransactionOutput
}

func (OutputTooBigUtxoError) Error added in v0.109.0

func (e OutputTooBigUtxoError) Error() string

Jump to

Keyboard shortcuts

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