Documentation
¶
Index ¶
- Constants
- func NewBlockFromCbor(blockType uint, data []byte) (interface{}, error)
- func NewBlockHeaderFromCbor(blockType uint, data []byte) (interface{}, error)
- func NewTransactionBodyFromCbor(txType uint, data []byte) (interface{}, error)
- func NewTransactionFromCbor(txType uint, data []byte) (interface{}, error)
- type AllegraBlock
- type AllegraTransaction
- type AllegraTransactionBody
- type AlonzoBlock
- type AlonzoTransaction
- type AlonzoTransactionBody
- type AlonzoTransactionWitnessSet
- type BabbageBlock
- type BabbageBlockHeader
- type BabbageTransaction
- type BabbageTransactionBody
- type Blake2b224
- type Blake2b256
- type ByronEpochBoundaryBlock
- type ByronEpochBoundaryBlockHeader
- type ByronMainBlock
- type ByronMainBlockBody
- type ByronMainBlockHeader
- type ByronTransaction
- type ByronTransactionBody
- type MaryBlock
- type MaryTransaction
- type MaryTransactionBody
- type MaryTransactionOutput
- type ShelleyBlock
- type ShelleyBlockHeader
- type ShelleyTransaction
- type ShelleyTransactionBody
- type ShelleyTransactionInput
- type ShelleyTransactionOutput
- type ShelleyTransactionWitnessSet
Constants ¶
View Source
const ( BLOCK_TYPE_ALLEGRA = 3 BLOCK_HEADER_TYPE_ALLEGRA = 2 TX_TYPE_ALLEGRA = 2 )
View Source
const ( BLOCK_TYPE_ALONZO = 5 BLOCK_HEADER_TYPE_ALONZO = 4 TX_TYPE_ALONZO = 4 )
View Source
const ( BLOCK_TYPE_BABBAGE = 6 BLOCK_HEADER_TYPE_BABBAGE = 5 TX_TYPE_BABBAGE = 5 )
View Source
const ( BLOCK_TYPE_BYRON_EBB = 0 BLOCK_TYPE_BYRON_MAIN = 1 BLOCK_HEADER_TYPE_BYRON = 0 TX_TYPE_BYRON = 0 )
View Source
const ( BLOCK_TYPE_MARY = 4 BLOCK_HEADER_TYPE_MARY = 3 TX_TYPE_MARY = 3 )
View Source
const ( BLOCK_TYPE_SHELLEY = 2 BLOCK_HEADER_TYPE_SHELLEY = 1 TX_TYPE_SHELLEY = 1 )
Variables ¶
This section is empty.
Functions ¶
func NewBlockFromCbor ¶
func NewBlockHeaderFromCbor ¶
XXX: should this take the block header type instead?
func NewTransactionBodyFromCbor ¶ added in v0.2.0
func NewTransactionFromCbor ¶
Types ¶
type AllegraBlock ¶
type AllegraBlock struct {
Header ShelleyBlockHeader
TransactionBodies []AllegraTransactionBody
TransactionWitnessSets []ShelleyTransactionWitnessSet
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
TransactionMetadataSet map[uint]cbor.RawMessage
// contains filtered or unexported fields
}
func NewAllegraBlockFromCbor ¶
func NewAllegraBlockFromCbor(data []byte) (*AllegraBlock, error)
func (*AllegraBlock) Id ¶
func (b *AllegraBlock) Id() string
type AllegraTransaction ¶
type AllegraTransaction struct {
Body AllegraTransactionBody
WitnessSet ShelleyTransactionWitnessSet
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
Metadata cbor.RawMessage
// contains filtered or unexported fields
}
func NewAllegraTransactionFromCbor ¶
func NewAllegraTransactionFromCbor(data []byte) (*AllegraTransaction, error)
type AllegraTransactionBody ¶ added in v0.2.0
type AllegraTransactionBody struct {
ShelleyTransactionBody
ValidityIntervalStart uint64 `cbor:"8,keyasint,omitempty"`
}
func NewAllegraTransactionBodyFromCbor ¶ added in v0.2.0
func NewAllegraTransactionBodyFromCbor(data []byte) (*AllegraTransactionBody, error)
type AlonzoBlock ¶
type AlonzoBlock struct {
Header ShelleyBlockHeader
TransactionBodies []AlonzoTransactionBody
TransactionWitnessSets []AlonzoTransactionWitnessSet
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
TransactionMetadataSet map[uint]cbor.RawMessage
InvalidTransactions []uint
// contains filtered or unexported fields
}
func NewAlonzoBlockFromCbor ¶
func NewAlonzoBlockFromCbor(data []byte) (*AlonzoBlock, error)
func (*AlonzoBlock) Id ¶
func (b *AlonzoBlock) Id() string
type AlonzoTransaction ¶
type AlonzoTransaction struct {
Body AlonzoTransactionBody
WitnessSet AlonzoTransactionWitnessSet
IsValid bool
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
Metadata cbor.RawMessage
// contains filtered or unexported fields
}
func NewAlonzoTransactionFromCbor ¶
func NewAlonzoTransactionFromCbor(data []byte) (*AlonzoTransaction, error)
type AlonzoTransactionBody ¶ added in v0.2.0
type AlonzoTransactionBody struct {
MaryTransactionBody
ScriptDataHash Blake2b256 `cbor:"11,keyasint,omitempty"`
Collateral []ShelleyTransactionInput `cbor:"13,keyasint,omitempty"`
RequiredSigners []Blake2b224 `cbor:"14,keyasint,omitempty"`
NetworkId uint8 `cbor:"15,keyasint,omitempty"`
}
func NewAlonzoTransactionBodyFromCbor ¶ added in v0.2.0
func NewAlonzoTransactionBodyFromCbor(data []byte) (*AlonzoTransactionBody, error)
type AlonzoTransactionWitnessSet ¶
type AlonzoTransactionWitnessSet struct {
ShelleyTransactionWitnessSet
PlutusScripts interface{} `cbor:"3,keyasint,omitempty"`
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
PlutusData []cbor.RawMessage `cbor:"4,keyasint,omitempty"`
Redeemers []cbor.RawMessage `cbor:"5,keyasint,omitempty"`
}
type BabbageBlock ¶
type BabbageBlock struct {
Header BabbageBlockHeader
TransactionBodies []BabbageTransactionBody
TransactionWitnessSets []AlonzoTransactionWitnessSet
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
TransactionMetadataSet map[uint]cbor.RawMessage
InvalidTransactions []uint
// contains filtered or unexported fields
}
func NewBabbageBlockFromCbor ¶
func NewBabbageBlockFromCbor(data []byte) (*BabbageBlock, error)
func (*BabbageBlock) Id ¶
func (b *BabbageBlock) Id() string
type BabbageBlockHeader ¶
type BabbageBlockHeader struct {
Body struct {
BlockNumber uint64
Slot uint64
PrevHash Blake2b256
IssuerVkey interface{}
VrfKey interface{}
VrfResult interface{}
BlockBodySize uint32
BlockBodyHash Blake2b256
OpCert struct {
HotVkey interface{}
SequenceNumber uint32
KesPeriod uint32
Signature interface{}
// contains filtered or unexported fields
}
ProtoVersion struct {
Major uint64
Minor uint64
// contains filtered or unexported fields
}
// contains filtered or unexported fields
}
Signature interface{}
// contains filtered or unexported fields
}
func NewBabbageBlockHeaderFromCbor ¶
func NewBabbageBlockHeaderFromCbor(data []byte) (*BabbageBlockHeader, error)
func (*BabbageBlockHeader) Id ¶
func (h *BabbageBlockHeader) Id() string
type BabbageTransaction ¶
type BabbageTransaction struct {
Body BabbageTransactionBody
WitnessSet AlonzoTransactionWitnessSet
IsValid bool
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
Metadata cbor.RawMessage
// contains filtered or unexported fields
}
func NewBabbageTransactionFromCbor ¶
func NewBabbageTransactionFromCbor(data []byte) (*BabbageTransaction, error)
type BabbageTransactionBody ¶ added in v0.2.0
type BabbageTransactionBody struct {
AlonzoTransactionBody
CollateralReturn ShelleyTransactionOutput `cbor:"16,keyasint,omitempty"`
TotalCollateral uint64 `cbor:"17,keyasint,omitempty"`
ReferenceInputs []ShelleyTransactionInput `cbor:"18,keyasint,omitempty"`
}
func NewBabbageTransactionBodyFromCbor ¶ added in v0.2.0
func NewBabbageTransactionBodyFromCbor(data []byte) (*BabbageTransactionBody, error)
type Blake2b224 ¶
type Blake2b224 [28]byte
func (Blake2b224) String ¶
func (b Blake2b224) String() string
type Blake2b256 ¶
type Blake2b256 [32]byte
func (Blake2b256) String ¶
func (b Blake2b256) String() string
type ByronEpochBoundaryBlock ¶
type ByronEpochBoundaryBlock struct {
Header ByronEpochBoundaryBlockHeader
Body []Blake2b224
Extra []interface{}
// contains filtered or unexported fields
}
func NewByronEpochBoundaryBlockFromCbor ¶
func NewByronEpochBoundaryBlockFromCbor(data []byte) (*ByronEpochBoundaryBlock, error)
func (*ByronEpochBoundaryBlock) Id ¶
func (b *ByronEpochBoundaryBlock) Id() string
type ByronEpochBoundaryBlockHeader ¶
type ByronEpochBoundaryBlockHeader struct {
ProtocolMagic uint32
PrevBlock Blake2b256
BodyProof interface{}
ConsensusData struct {
Epoch uint64
Difficulty struct {
Value uint64
// contains filtered or unexported fields
}
// contains filtered or unexported fields
}
ExtraData interface{}
// contains filtered or unexported fields
}
func NewByronEpochBoundaryBlockHeaderFromCbor ¶
func NewByronEpochBoundaryBlockHeaderFromCbor(data []byte) (*ByronEpochBoundaryBlockHeader, error)
func (*ByronEpochBoundaryBlockHeader) Id ¶
func (h *ByronEpochBoundaryBlockHeader) Id() string
type ByronMainBlock ¶
type ByronMainBlock struct {
Header ByronMainBlockHeader
Body ByronMainBlockBody
Extra []interface{}
// contains filtered or unexported fields
}
func NewByronMainBlockFromCbor ¶
func NewByronMainBlockFromCbor(data []byte) (*ByronMainBlock, error)
func (*ByronMainBlock) Id ¶
func (b *ByronMainBlock) Id() string
type ByronMainBlockBody ¶
type ByronMainBlockBody struct {
TxPayload []ByronTransactionBody
// We keep this field as raw CBOR, since it contains a map with []byte
// keys, which Go doesn't allow
SscPayload cbor.RawMessage
DlgPayload []interface{}
UpdPayload []interface{}
// contains filtered or unexported fields
}
type ByronMainBlockHeader ¶
type ByronMainBlockHeader struct {
ProtocolMagic uint32
PrevBlock Blake2b256
BodyProof interface{}
ConsensusData struct {
// [slotid, pubkey, difficulty, blocksig]
SlotId struct {
Epoch uint64
Slot uint16
// contains filtered or unexported fields
}
PubKey []byte
Difficulty struct {
Unknown uint64
// contains filtered or unexported fields
}
BlockSig []interface{}
// contains filtered or unexported fields
}
ExtraData struct {
BlockVersion struct {
Major uint16
Minor uint16
Unknown uint8
// contains filtered or unexported fields
}
SoftwareVersion struct {
Name string
Unknown uint32
// contains filtered or unexported fields
}
Attributes interface{}
ExtraProof Blake2b256
// contains filtered or unexported fields
}
// contains filtered or unexported fields
}
func NewByronMainBlockHeaderFromCbor ¶
func NewByronMainBlockHeaderFromCbor(data []byte) (*ByronMainBlockHeader, error)
func (*ByronMainBlockHeader) Id ¶
func (h *ByronMainBlockHeader) Id() string
type ByronTransaction ¶
type ByronTransaction interface{}
TODO: flesh this out
func NewByronTransactionFromCbor ¶
func NewByronTransactionFromCbor(data []byte) (*ByronTransaction, error)
type ByronTransactionBody ¶ added in v0.2.0
type ByronTransactionBody interface{}
TODO: flesh this out
func NewByronTransactionBodyFromCbor ¶ added in v0.2.0
func NewByronTransactionBodyFromCbor(data []byte) (*ByronTransactionBody, error)
type MaryBlock ¶
type MaryBlock struct {
Header ShelleyBlockHeader
TransactionBodies []MaryTransactionBody
TransactionWitnessSets []ShelleyTransactionWitnessSet
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
TransactionMetadataSet map[uint]cbor.RawMessage
// contains filtered or unexported fields
}
func NewMaryBlockFromCbor ¶
type MaryTransaction ¶
type MaryTransaction struct {
Body MaryTransactionBody
WitnessSet ShelleyTransactionWitnessSet
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
Metadata cbor.RawMessage
// contains filtered or unexported fields
}
func NewMaryTransactionFromCbor ¶
func NewMaryTransactionFromCbor(data []byte) (*MaryTransaction, error)
type MaryTransactionBody ¶ added in v0.2.0
type MaryTransactionBody struct {
AllegraTransactionBody
//Outputs []MaryTransactionOutput `cbor:"1,keyasint,omitempty"`
Outputs []cbor.RawMessage `cbor:"1,keyasint,omitempty"`
// TODO: further parsing of this field
Mint cbor.RawMessage `cbor:"9,keyasint,omitempty"`
}
func NewMaryTransactionBodyFromCbor ¶ added in v0.2.0
func NewMaryTransactionBodyFromCbor(data []byte) (*MaryTransactionBody, error)
type MaryTransactionOutput ¶
type MaryTransactionOutput cbor.RawMessage
type ShelleyBlock ¶
type ShelleyBlock struct {
Header ShelleyBlockHeader
TransactionBodies []ShelleyTransactionBody
TransactionWitnessSets []ShelleyTransactionWitnessSet
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
TransactionMetadataSet map[uint]cbor.RawMessage
// contains filtered or unexported fields
}
func NewShelleyBlockFromCbor ¶
func NewShelleyBlockFromCbor(data []byte) (*ShelleyBlock, error)
func (*ShelleyBlock) Id ¶
func (b *ShelleyBlock) Id() string
type ShelleyBlockHeader ¶
type ShelleyBlockHeader struct {
Body struct {
BlockNumber uint64
Slot uint64
PrevHash Blake2b256
IssuerVkey interface{}
VrfKey interface{}
NonceVrf interface{}
LeaderVrf interface{}
BlockBodySize uint32
BlockBodyHash Blake2b256
OpCertHotVkey interface{}
OpCertSequenceNumber uint32
OpCertKesPeriod uint32
OpCertSignature interface{}
ProtoMajorVersion uint64
ProtoMinorVersion uint64
// contains filtered or unexported fields
}
Signature interface{}
// contains filtered or unexported fields
}
func NewShelleyBlockHeaderFromCbor ¶
func NewShelleyBlockHeaderFromCbor(data []byte) (*ShelleyBlockHeader, error)
func (*ShelleyBlockHeader) Id ¶
func (h *ShelleyBlockHeader) Id() string
type ShelleyTransaction ¶
type ShelleyTransaction struct {
Body ShelleyTransactionBody
WitnessSet ShelleyTransactionWitnessSet
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
Metadata cbor.RawMessage
// contains filtered or unexported fields
}
func NewShelleyTransactionFromCbor ¶
func NewShelleyTransactionFromCbor(data []byte) (*ShelleyTransaction, error)
type ShelleyTransactionBody ¶ added in v0.2.0
type ShelleyTransactionBody struct {
Inputs []ShelleyTransactionInput `cbor:"0,keyasint,omitempty"`
Outputs []ShelleyTransactionOutput `cbor:"1,keyasint,omitempty"`
Fee uint64 `cbor:"2,keyasint,omitempty"`
Ttl uint64 `cbor:"3,keyasint,omitempty"`
// TODO: figure out how to parse properly
Certificates []cbor.RawMessage `cbor:"4,keyasint,omitempty"`
// TODO: figure out how to parse this correctly
// We keep the raw CBOR because it can contain a map with []byte keys, which
// Go does not allow
Withdrawals cbor.RawMessage `cbor:"5,keyasint,omitempty"`
Update struct {
// TODO: figure out how to parse properly
// We use RawMessage here because the content is arbitrary and can contain data that
// cannot easily be represented in Go (such as maps with bytestring keys)
ProtocolParamUpdates cbor.RawMessage
Epoch uint64
// contains filtered or unexported fields
} `cbor:"6,keyasint,omitempty"`
MetadataHash Blake2b256 `cbor:"7,keyasint,omitempty"`
}
func NewShelleyTransactionBodyFromCbor ¶ added in v0.2.0
func NewShelleyTransactionBodyFromCbor(data []byte) (*ShelleyTransactionBody, error)
type ShelleyTransactionInput ¶
type ShelleyTransactionInput struct {
Id Blake2b256
Index uint32
// contains filtered or unexported fields
}
type ShelleyTransactionOutput ¶
type ShelleyTransactionOutput struct {
Address Blake2b256
Amount uint64
// contains filtered or unexported fields
}
type ShelleyTransactionWitnessSet ¶
type ShelleyTransactionWitnessSet struct {
VkeyWitnesses []interface{} `cbor:"0,keyasint,omitempty"`
MultisigScripts []interface{} `cbor:"1,keyasint,omitempty"`
BootstrapWitnesses []interface{} `cbor:"2,keyasint,omitempty"`
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.