Documentation ¶
Index ¶
- Constants
- func IsValidAttributeType(usage AttributeUsage) bool
- type Attribute
- type AttributeUsage
- type Block
- func (b *Block) Deserialize(r io.Reader) error
- func (b *Block) DeserializeTxLoc(r *bytes.Buffer) ([]TxLoc, error)
- func (b *Block) GetSize() int
- func (b *Block) Hash() common.Uint256
- func (b *Block) Serialize(w io.Writer) error
- func (b *Block) SerializeSizeStripped() int
- func (b *Block) TxLoc() ([]TxLoc, error)
- type DPOSHeader
- type DposBlock
- type Header
- type Input
- type OutPoint
- type Output
- type OutputInfo
- type OutputPayload
- type OutputType
- type Payload
- type Transaction
- func (tx *Transaction) Deserialize(r io.Reader) error
- func (tx *Transaction) DeserializeUnsigned(r io.Reader) error
- func (tx *Transaction) GetSize() int
- func (tx *Transaction) GetSpecialTxHash() (common.Uint256, error)
- func (tx *Transaction) Hash() common.Uint256
- func (tx *Transaction) ISCRCouncilMemberClaimNode() bool
- func (tx *Transaction) IsActivateProducerTx() bool
- func (tx *Transaction) IsCRAssetsRectifyTx() bool
- func (tx *Transaction) IsCRCAppropriationTx() bool
- func (tx *Transaction) IsCRCProposalRealWithdrawTx() bool
- func (tx *Transaction) IsCRCProposalReviewTx() bool
- func (tx *Transaction) IsCRCProposalTrackingTx() bool
- func (tx *Transaction) IsCRCProposalTx() bool
- func (tx *Transaction) IsCRCProposalWithdrawTx() bool
- func (tx *Transaction) IsCancelProducerTx() bool
- func (tx *Transaction) IsCoinBaseTx() bool
- func (tx *Transaction) IsCustomIDRelatedTx() bool
- func (tx *Transaction) IsCustomIDResultTx() bool
- func (tx *Transaction) IsIllegalBlockTx() bool
- func (tx *Transaction) IsIllegalProposalTx() bool
- func (tx *Transaction) IsIllegalTypeTx() bool
- func (tx *Transaction) IsIllegalVoteTx() bool
- func (tx *Transaction) IsInactiveArbitrators() bool
- func (tx *Transaction) IsNewSideChainPowTx() bool
- func (tx *Transaction) IsNextTurnDPOSInfoTx() bool
- func (tx *Transaction) IsProducerRelatedTx() bool
- func (tx *Transaction) IsRechargeToSideChainTx() bool
- func (tx *Transaction) IsRegisterCRTx() bool
- func (tx *Transaction) IsRegisterProducerTx() bool
- func (tx *Transaction) IsReturnCRDepositCoinTx() bool
- func (tx *Transaction) IsReturnDepositCoin() bool
- func (tx *Transaction) IsRevertToDPOS() bool
- func (tx *Transaction) IsRevertToPOW() bool
- func (tx *Transaction) IsSideChainPowTx() bool
- func (tx *Transaction) IsSidechainIllegalDataTx() bool
- func (tx *Transaction) IsSpecialTx() bool
- func (tx *Transaction) IsTransferCrossChainAssetTx() bool
- func (tx *Transaction) IsUnregisterCRTx() bool
- func (tx *Transaction) IsUpdateCRTx() bool
- func (tx *Transaction) IsUpdateProducerTx() bool
- func (tx *Transaction) IsUpdateVersion() bool
- func (tx *Transaction) IsWithdrawFromSideChainTx() bool
- func (tx *Transaction) Serialize(w io.Writer) error
- func (tx *Transaction) SerializeSizeStripped() int
- func (tx *Transaction) SerializeUnsigned(w io.Writer) error
- func (tx *Transaction) String() string
- type TransactionVersion
- type TxLoc
- type TxType
- type UTXO
Constants ¶
const (
InvalidBlockSize int = -1
)
const (
InvalidTransactionSize = -1
)
Variables ¶
This section is empty.
Functions ¶
func IsValidAttributeType ¶
func IsValidAttributeType(usage AttributeUsage) bool
Types ¶
type Attribute ¶
type Attribute struct { Usage AttributeUsage Data []byte }
func NewAttribute ¶
func NewAttribute(u AttributeUsage, d []byte) Attribute
type AttributeUsage ¶
type AttributeUsage byte
const ( Nonce AttributeUsage = 0x00 Script AttributeUsage = 0x20 Memo AttributeUsage = 0x81 Description AttributeUsage = 0x90 DescriptionUrl AttributeUsage = 0x91 Confirmations AttributeUsage = 0x92 )
func (AttributeUsage) Name ¶
func (it AttributeUsage) Name() string
type Block ¶
type Block struct { Header Transactions []*Transaction }
func (*Block) DeserializeTxLoc ¶ added in v0.5.0
DeserializeTxLoc decodes r in the same manner Deserialize does, but it takes a byte buffer instead of a generic reader and returns a slice containing the start and length of each transaction within the raw data that is being deserialized.
func (*Block) SerializeSizeStripped ¶ added in v0.5.0
SerializeSizeStripped returns the number of bytes it would take to serialize the block, excluding any witness data (if any).
type DPOSHeader ¶ added in v0.3.0
DPOSHeader represents a POW header + DPOS confirm
func (*DPOSHeader) Deserialize ¶ added in v0.3.0
func (h *DPOSHeader) Deserialize(r io.Reader) error
type Header ¶
type Header struct { Version uint32 Previous common.Uint256 MerkleRoot common.Uint256 Timestamp uint32 Bits uint32 Nonce uint32 Height uint32 AuxPow auxpow.AuxPow }
func (*Header) DeserializeNoAux ¶ added in v0.5.0
type Input ¶
type OutPoint ¶
func OutPointFromBytes ¶
type Output ¶
type Output struct { AssetID common.Uint256 Value common.Fixed64 OutputLock uint32 ProgramHash common.Uint168 Type OutputType Payload OutputPayload }
func (*Output) Deserialize ¶
func (o *Output) Deserialize(r io.Reader, txVersion TransactionVersion) error
type OutputInfo ¶ added in v0.7.0
func (*OutputInfo) Deserialize ¶ added in v0.7.0
func (o *OutputInfo) Deserialize(r io.Reader) (err error)
type OutputPayload ¶
type OutputType ¶
type OutputType byte
OutputType represents the type of a output payload.
const ( // OTNone indicates there is no payload for this output. OTNone OutputType = iota // OTVote indicates the output payload is a vote. OTVote // OTMapping indicates the output payload is a mapping. OTMapping )
type Payload ¶
type Payload interface { // Get payload data Data(version byte) []byte Serialize(w io.Writer, version byte) error Deserialize(r io.Reader, version byte) error }
Payload define the func for loading the payload data base on payload type which have different structure
func GetPayload ¶
type Transaction ¶
type Transaction struct { Version TransactionVersion // New field added in TxVersion09 TxType TxType PayloadVersion byte Payload Payload Attributes []*Attribute Inputs []*Input Outputs []*Output LockTime uint32 Programs []*pg.Program Fee common.Fixed64 FeePerKB common.Fixed64 // contains filtered or unexported fields }
func (*Transaction) Deserialize ¶
func (tx *Transaction) Deserialize(r io.Reader) error
Deserialize the Transaction
func (*Transaction) DeserializeUnsigned ¶
func (tx *Transaction) DeserializeUnsigned(r io.Reader) error
func (*Transaction) GetSize ¶
func (tx *Transaction) GetSize() int
func (*Transaction) GetSpecialTxHash ¶ added in v0.7.0
func (tx *Transaction) GetSpecialTxHash() (common.Uint256, error)
func (*Transaction) Hash ¶
func (tx *Transaction) Hash() common.Uint256
func (*Transaction) ISCRCouncilMemberClaimNode ¶ added in v0.7.0
func (tx *Transaction) ISCRCouncilMemberClaimNode() bool
func (*Transaction) IsActivateProducerTx ¶ added in v0.3.0
func (tx *Transaction) IsActivateProducerTx() bool
func (*Transaction) IsCRAssetsRectifyTx ¶ added in v0.7.0
func (tx *Transaction) IsCRAssetsRectifyTx() bool
func (*Transaction) IsCRCAppropriationTx ¶ added in v0.5.0
func (tx *Transaction) IsCRCAppropriationTx() bool
func (*Transaction) IsCRCProposalRealWithdrawTx ¶ added in v0.7.0
func (tx *Transaction) IsCRCProposalRealWithdrawTx() bool
func (*Transaction) IsCRCProposalReviewTx ¶ added in v0.7.0
func (tx *Transaction) IsCRCProposalReviewTx() bool
func (*Transaction) IsCRCProposalTrackingTx ¶ added in v0.7.0
func (tx *Transaction) IsCRCProposalTrackingTx() bool
func (*Transaction) IsCRCProposalTx ¶ added in v0.5.0
func (tx *Transaction) IsCRCProposalTx() bool
func (*Transaction) IsCRCProposalWithdrawTx ¶ added in v0.5.0
func (tx *Transaction) IsCRCProposalWithdrawTx() bool
func (*Transaction) IsCancelProducerTx ¶
func (tx *Transaction) IsCancelProducerTx() bool
func (*Transaction) IsCoinBaseTx ¶
func (tx *Transaction) IsCoinBaseTx() bool
func (*Transaction) IsCustomIDRelatedTx ¶ added in v0.7.0
func (tx *Transaction) IsCustomIDRelatedTx() bool
func (*Transaction) IsCustomIDResultTx ¶ added in v0.7.0
func (tx *Transaction) IsCustomIDResultTx() bool
func (*Transaction) IsIllegalBlockTx ¶
func (tx *Transaction) IsIllegalBlockTx() bool
func (*Transaction) IsIllegalProposalTx ¶
func (tx *Transaction) IsIllegalProposalTx() bool
func (*Transaction) IsIllegalTypeTx ¶ added in v0.3.0
func (tx *Transaction) IsIllegalTypeTx() bool
func (*Transaction) IsIllegalVoteTx ¶
func (tx *Transaction) IsIllegalVoteTx() bool
func (*Transaction) IsInactiveArbitrators ¶ added in v0.3.0
func (tx *Transaction) IsInactiveArbitrators() bool
func (*Transaction) IsNewSideChainPowTx ¶ added in v0.3.2
func (tx *Transaction) IsNewSideChainPowTx() bool
func (*Transaction) IsNextTurnDPOSInfoTx ¶ added in v0.7.0
func (tx *Transaction) IsNextTurnDPOSInfoTx() bool
func (*Transaction) IsProducerRelatedTx ¶ added in v0.3.2
func (tx *Transaction) IsProducerRelatedTx() bool
func (*Transaction) IsRechargeToSideChainTx ¶
func (tx *Transaction) IsRechargeToSideChainTx() bool
func (*Transaction) IsRegisterCRTx ¶ added in v0.5.0
func (tx *Transaction) IsRegisterCRTx() bool
func (*Transaction) IsRegisterProducerTx ¶
func (tx *Transaction) IsRegisterProducerTx() bool
func (*Transaction) IsReturnCRDepositCoinTx ¶ added in v0.5.0
func (tx *Transaction) IsReturnCRDepositCoinTx() bool
func (*Transaction) IsReturnDepositCoin ¶
func (tx *Transaction) IsReturnDepositCoin() bool
func (*Transaction) IsRevertToDPOS ¶ added in v0.7.0
func (tx *Transaction) IsRevertToDPOS() bool
func (*Transaction) IsRevertToPOW ¶ added in v0.7.0
func (tx *Transaction) IsRevertToPOW() bool
func (*Transaction) IsSideChainPowTx ¶
func (tx *Transaction) IsSideChainPowTx() bool
func (*Transaction) IsSidechainIllegalDataTx ¶ added in v0.3.0
func (tx *Transaction) IsSidechainIllegalDataTx() bool
func (*Transaction) IsSpecialTx ¶ added in v0.7.0
func (tx *Transaction) IsSpecialTx() bool
special tx is this kind of tx who have no input and output
func (*Transaction) IsTransferCrossChainAssetTx ¶
func (tx *Transaction) IsTransferCrossChainAssetTx() bool
func (*Transaction) IsUnregisterCRTx ¶ added in v0.5.0
func (tx *Transaction) IsUnregisterCRTx() bool
func (*Transaction) IsUpdateCRTx ¶ added in v0.5.0
func (tx *Transaction) IsUpdateCRTx() bool
func (*Transaction) IsUpdateProducerTx ¶
func (tx *Transaction) IsUpdateProducerTx() bool
func (*Transaction) IsUpdateVersion ¶ added in v0.3.2
func (tx *Transaction) IsUpdateVersion() bool
func (*Transaction) IsWithdrawFromSideChainTx ¶
func (tx *Transaction) IsWithdrawFromSideChainTx() bool
func (*Transaction) Serialize ¶
func (tx *Transaction) Serialize(w io.Writer) error
Serialize the Transaction
func (*Transaction) SerializeSizeStripped ¶ added in v0.5.0
func (tx *Transaction) SerializeSizeStripped() int
SerializeSizeStripped returns the number of bytes it would take to serialize the block, excluding any witness data (if any).
func (*Transaction) SerializeUnsigned ¶
func (tx *Transaction) SerializeUnsigned(w io.Writer) error
Serialize the Transaction data without contracts
func (*Transaction) String ¶
func (tx *Transaction) String() string
type TransactionVersion ¶
type TransactionVersion byte
const ( TxVersionDefault TransactionVersion = 0x00 TxVersion09 TransactionVersion = 0x09 )
type TxLoc ¶ added in v0.5.0
TxLoc holds locator data for the offset and length of where a transaction is located within a MsgBlock data buffer.
type TxType ¶ added in v0.3.0
type TxType byte
TxType represents different transaction types with different payload format. The TxType range is 0x00 - 0x08. When it is greater than 0x08 it will be interpreted as a TransactionVersion.
const ( CoinBase TxType = 0x00 RegisterAsset TxType = 0x01 TransferAsset TxType = 0x02 Record TxType = 0x03 Deploy TxType = 0x04 SideChainPow TxType = 0x05 RechargeToSideChain TxType = 0x06 WithdrawFromSideChain TxType = 0x07 TransferCrossChainAsset TxType = 0x08 RegisterProducer TxType = 0x09 CancelProducer TxType = 0x0a UpdateProducer TxType = 0x0b ReturnDepositCoin TxType = 0x0c ActivateProducer TxType = 0x0d IllegalProposalEvidence TxType = 0x0e IllegalVoteEvidence TxType = 0x0f IllegalBlockEvidence TxType = 0x10 IllegalSidechainEvidence TxType = 0x11 InactiveArbitrators TxType = 0x12 UpdateVersion TxType = 0x13 NextTurnDPOSInfo TxType = 0x14 CustomIDResult TxType = 0x15 RegisterCR TxType = 0x21 UnregisterCR TxType = 0x22 UpdateCR TxType = 0x23 ReturnCRDepositCoin TxType = 0x24 CRCProposal TxType = 0x25 CRCProposalReview TxType = 0x26 CRCProposalTracking TxType = 0x27 CRCAppropriation TxType = 0x28 CRCProposalWithdraw TxType = 0x29 CRCProposalRealWithdraw TxType = 0x2a CRAssetsRectify TxType = 0x2b CRCouncilMemberClaimNode TxType = 0x31 RevertToPOW TxType = 0x41 RevertToDPOS TxType = 0x42 )