Documentation ¶
Index ¶
- Constants
- func AddressFromBookkeepers(bookkeepers []keypair.PublicKey) (common.Address, error)
- func AddressFromMultiPubKeys(pubkeys []keypair.PublicKey, m int) (common.Address, error)
- func AddressFromPubKey(pubkey keypair.PublicKey) common.Address
- func AddressFromVmCode(code []byte) common.Address
- func IsValidAttributeType(usage TransactionAttributeUsage) bool
- type Block
- type Header
- func (bd *Header) Deserialize(r io.Reader) error
- func (bd *Header) DeserializeUnsigned(r io.Reader) error
- func (bd *Header) GetMessage() []byte
- func (bd *Header) Hash() common.Uint256
- func (bd *Header) Serialize(w io.Writer) error
- func (bd *Header) SerializeUnsigned(w io.Writer) error
- func (bd *Header) ToArray() []byte
- type MutableTransaction
- type Payload
- type RawSig
- type Sig
- type SmartCodeEvent
- type Transaction
- func (tx *Transaction) Deserialization(source *common.ZeroCopySource) error
- func (tx *Transaction) Deserialize(r io.Reader) error
- func (tx *Transaction) DeserializeUnsigned(r io.Reader) error
- func (tx *Transaction) GetMessage() []byte
- func (self *Transaction) GetSignatureAddresses() []common.Address
- func (tx *Transaction) Hash() common.Uint256
- func (tx *Transaction) IntoMutable() (*MutableTransaction, error)
- func (tx *Transaction) Serialization(sink *common.ZeroCopySink) error
- func (tx *Transaction) Serialize(w io.Writer) error
- func (tx *Transaction) SerializeUnsigned(w io.Writer) error
- func (tx *Transaction) ToArray() []byte
- func (tx *Transaction) Type() common.InventoryType
- func (tx *Transaction) Verify() error
- type TransactionAttributeUsage
- type TransactionType
- type TxAttribute
Constants ¶
View Source
const MAX_TX_SIZE = 1024 * 1024 * 2 // The max size of a transaction to prevent DOS attacks
Variables ¶
This section is empty.
Functions ¶
func AddressFromBookkeepers ¶
func AddressFromMultiPubKeys ¶
func AddressFromVmCode ¶
func IsValidAttributeType ¶
func IsValidAttributeType(usage TransactionAttributeUsage) bool
Types ¶
type Block ¶
type Block struct { Header *Header Transactions []*Transaction }
func (*Block) RebuildMerkleRoot ¶
func (b *Block) RebuildMerkleRoot()
func (*Block) Type ¶
func (b *Block) Type() common.InventoryType
type Header ¶
type Header struct { Version uint32 PrevBlockHash common.Uint256 TransactionsRoot common.Uint256 BlockRoot common.Uint256 Timestamp uint32 Height uint32 ConsensusData uint64 ConsensusPayload []byte NextBookkeeper common.Address //Program *program.Program Bookkeepers []keypair.PublicKey SigData [][]byte // contains filtered or unexported fields }
func (*Header) GetMessage ¶
func (*Header) SerializeUnsigned ¶
Serialize the blockheader data without program
type MutableTransaction ¶
type MutableTransaction struct { Version byte TxType TransactionType Nonce uint32 GasPrice uint64 GasLimit uint64 Payer common.Address Payload Payload //Attributes []*TxAttribute Attributes byte //this must be 0 now, Attribute Array length use VarUint encoding, so byte is enough for extension Sigs []Sig }
func (*MutableTransaction) DeserializeUnsigned ¶
func (tx *MutableTransaction) DeserializeUnsigned(r io.Reader) error
func (*MutableTransaction) GetSignatureAddresses ¶
func (self *MutableTransaction) GetSignatureAddresses() []common.Address
func (*MutableTransaction) Hash ¶
func (self *MutableTransaction) Hash() common.Uint256
func (*MutableTransaction) IntoImmutable ¶
func (self *MutableTransaction) IntoImmutable() (*Transaction, error)
output has no reference to self
type Payload ¶
type Payload interface { //Serialize payload data Serialize(w io.Writer) error Deserialize(r io.Reader) error }
Payload define the func for loading the payload data base on payload type which have different struture
type RawSig ¶
func (*RawSig) Deserialization ¶
func (self *RawSig) Deserialization(source *common.ZeroCopySource) error
func (*RawSig) Serialization ¶
func (self *RawSig) Serialization(sink *common.ZeroCopySink) error
type SmartCodeEvent ¶
type Transaction ¶
type Transaction struct { Version byte TxType TransactionType Nonce uint32 GasPrice uint64 GasLimit uint64 Payer common.Address Payload Payload //Attributes []*TxAttribute Attributes byte //this must be 0 now, Attribute Array length use VarUint encoding, so byte is enough for extension Sigs []*Sig Raw []byte // raw transaction data SignedAddr []common.Address // this is assigned when passed signature verification // contains filtered or unexported fields }
func TransactionFromRawBytes ¶
func TransactionFromRawBytes(raw []byte) (*Transaction, error)
if no error, ownership of param raw is transfered to Transaction
func (*Transaction) Deserialization ¶
func (tx *Transaction) Deserialization(source *common.ZeroCopySource) error
Transaction has internal reference of param `source`
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) GetMessage ¶
func (tx *Transaction) GetMessage() []byte
func (*Transaction) GetSignatureAddresses ¶
func (self *Transaction) GetSignatureAddresses() []common.Address
func (*Transaction) Hash ¶
func (tx *Transaction) Hash() common.Uint256
func (*Transaction) IntoMutable ¶
func (tx *Transaction) IntoMutable() (*MutableTransaction, error)
note: ownership transfered to output
func (*Transaction) Serialization ¶
func (tx *Transaction) Serialization(sink *common.ZeroCopySink) error
func (*Transaction) SerializeUnsigned ¶
func (tx *Transaction) SerializeUnsigned(w io.Writer) error
Serialize the Transaction data without contracts
func (*Transaction) ToArray ¶
func (tx *Transaction) ToArray() []byte
func (*Transaction) Type ¶
func (tx *Transaction) Type() common.InventoryType
func (*Transaction) Verify ¶
func (tx *Transaction) Verify() error
type TransactionAttributeUsage ¶
type TransactionAttributeUsage byte
const ( Nonce TransactionAttributeUsage = 0x00 Script TransactionAttributeUsage = 0x20 DescriptionUrl TransactionAttributeUsage = 0x81 Description TransactionAttributeUsage = 0x90 )
type TransactionType ¶
type TransactionType byte
const ( Bookkeeper TransactionType = 0x02 Deploy TransactionType = 0xd0 Invoke TransactionType = 0xd1 )
type TxAttribute ¶
type TxAttribute struct { Usage TransactionAttributeUsage Data []byte Size uint32 }
func NewTxAttribute ¶
func NewTxAttribute(u TransactionAttributeUsage, d []byte) TxAttribute
func (*TxAttribute) Deserialize ¶
func (tx *TxAttribute) Deserialize(r io.Reader) error
func (*TxAttribute) GetSize ¶
func (u *TxAttribute) GetSize() uint32
func (*TxAttribute) ToArray ¶
func (tx *TxAttribute) ToArray() []byte
Click to show internal directories.
Click to hide internal directories.