types

package
v2.0.3 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HashTypeData  ScriptHashType = "data"
	HashTypeData1 ScriptHashType = "data1"
	HashTypeType  ScriptHashType = "type"

	DepTypeCode     DepType = "code"
	DepTypeDepGroup DepType = "dep_group"

	TransactionStatusPending   TransactionStatus = "pending"
	TransactionStatusProposed  TransactionStatus = "proposed"
	TransactionStatusCommitted TransactionStatus = "committed"
	TransactionStatusUnknown   TransactionStatus = "unknown"
	TransactionStatusRejected  TransactionStatus = "rejected"

	DefaultBytesPerCycle float64 = 0.000_170_571_4
)
View Source
const (
	HashLength = 32

	NetworkMain Network = iota
	NetworkTest

	WitnessTypeLock WitnessType = iota
	WitnessTypeInputType
	WitnessTypeOutputType

	ScriptTypeLock ScriptType = "lock"
	ScriptTypeType ScriptType = "type"
)

Variables

This section is empty.

Functions

func PackByte

func PackByte(v byte) *molecule.Byte

func PackBytes

func PackBytes(v []byte) *molecule.Bytes

func PackBytesToOpt

func PackBytesToOpt(v []byte) *molecule.BytesOpt

func PackBytesVec

func PackBytesVec(v [][]byte) *molecule.BytesVec

func PackUint32

func PackUint32(v uint32) *molecule.Uint32

func PackUint64

func PackUint64(v uint64) *molecule.Uint64

func SerializeHashTypeByte

func SerializeHashTypeByte(hashType ScriptHashType) (byte, error)

func SerializeUint32

func SerializeUint32(n uint32) []byte

func SerializeUint64

func SerializeUint64(n uint64) []byte

func UnpackBytes

func UnpackBytes(v *molecule.Bytes) []byte

Types

type AlertMessage

type AlertMessage struct {
	Id          uint32 `json:"id"`
	Message     string `json:"message"`
	NoticeUntil uint64 `json:"notice_until"`
	Priority    uint32 `json:"priority"`
}

type BannedAddress

type BannedAddress struct {
	Address   string `json:"address"`
	BanReason string `json:"ban_reason"`
	BanUntil  uint64 `json:"ban_until"`
	CreatedAt uint64 `json:"created_at"`
}

func (*BannedAddress) UnmarshalJSON

func (r *BannedAddress) UnmarshalJSON(input []byte) error

type BatchLiveCellItem

type BatchLiveCellItem struct {
	OutPoint OutPoint
	WithData bool
	Result   *CellWithStatus
	Error    error
}

type BatchTransactionItem

type BatchTransactionItem struct {
	Hash   Hash
	Result *TransactionWithStatus
	Error  error
}

refer BatchElem from go-ethereum

type Block

type Block struct {
	Header       *Header        `json:"header"`
	Proposals    []string       `json:"proposals"`
	Transactions []*Transaction `json:"transactions"`
	Uncles       []*UncleBlock  `json:"uncles"`
}

type BlockEconomicState

type BlockEconomicState struct {
	Issuance    BlockIssuance `json:"issuance"`
	MinerReward MinerReward   `json:"miner_reward"`
	TxsFee      uint64        `json:"txs_fee"`
	FinalizedAt Hash          `json:"finalized_at"`
}

func (*BlockEconomicState) UnmarshalJSON

func (r *BlockEconomicState) UnmarshalJSON(input []byte) error

type BlockIssuance

type BlockIssuance struct {
	Primary   uint64 `json:"primary"`
	Secondary uint64 `json:"secondary"`
}

type BlockReward

type BlockReward struct {
	Primary        *big.Int `json:"primary"`
	ProposalReward *big.Int `json:"proposal_reward"`
	Secondary      *big.Int `json:"secondary"`
	Total          *big.Int `json:"total"`
	TxFee          *big.Int `json:"tx_fee"`
}

type BlockchainInfo

type BlockchainInfo struct {
	Alerts                 []*AlertMessage `json:"alerts"`
	Chain                  string          `json:"chain"`
	Difficulty             *big.Int        `json:"difficulty"`
	Epoch                  uint64          `json:"epoch"`
	IsInitialBlockDownload bool            `json:"is_initial_block_download"`
	MedianTime             uint64          `json:"median_time"`
}

func (*BlockchainInfo) UnmarshalJSON

func (r *BlockchainInfo) UnmarshalJSON(input []byte) error

type Cell

type Cell struct {
	BlockHash     Hash      `json:"block_hash"`
	Capacity      uint64    `json:"capacity"`
	Lock          *Script   `json:"lock"`
	OutPoint      *OutPoint `json:"out_point"`
	Type          *Script   `json:"type"`
	Cellbase      bool      `json:"cellbase,omitempty"`
	OutputDataLen uint64    `json:"output_data_len,omitempty"`
}

type CellData

type CellData struct {
	Content []byte `json:"content"`
	Hash    Hash   `json:"hash"`
}

func (CellData) MarshalJSON

func (r CellData) MarshalJSON() ([]byte, error)

func (*CellData) UnmarshalJSON

func (r *CellData) UnmarshalJSON(input []byte) error

type CellDep

type CellDep struct {
	OutPoint *OutPoint `json:"out_point"`
	DepType  DepType   `json:"dep_type"`
}

func (*CellDep) Pack

func (t *CellDep) Pack() *molecule.CellDep

func (*CellDep) Serialize

func (d *CellDep) Serialize() []byte

type CellInfo

type CellInfo struct {
	Data   *CellData   `json:"data"`
	Output *CellOutput `json:"output"`
}

type CellInput

type CellInput struct {
	Since          uint64    `json:"since"`
	PreviousOutput *OutPoint `json:"previous_output"`
}

func (CellInput) MarshalJSON

func (r CellInput) MarshalJSON() ([]byte, error)

func (*CellInput) Pack

func (r *CellInput) Pack() *molecule.CellInput

func (*CellInput) Serialize

func (r *CellInput) Serialize() []byte

func (*CellInput) UnmarshalJSON

func (r *CellInput) UnmarshalJSON(input []byte) error

type CellOutput

type CellOutput struct {
	Capacity uint64  `json:"capacity"`
	Lock     *Script `json:"lock"`
	Type     *Script `json:"type"`
}

func (CellOutput) MarshalJSON

func (r CellOutput) MarshalJSON() ([]byte, error)

func (CellOutput) OccupiedCapacity

func (r CellOutput) OccupiedCapacity(outputData []byte) uint64

func (*CellOutput) Pack

func (r *CellOutput) Pack() *molecule.CellOutput

func (*CellOutput) Serialize

func (r *CellOutput) Serialize() []byte

func (*CellOutput) UnmarshalJSON

func (r *CellOutput) UnmarshalJSON(input []byte) error

type CellWithStatus

type CellWithStatus struct {
	Cell   *CellInfo `json:"cell"`
	Status string    `json:"status"`
}

type Consensus

type Consensus struct {
	Id                                   string             `json:"ID"`
	GenesisHash                          Hash               `json:"genesis_hash"`
	DaoTypeHash                          *Hash              `json:"dao_type_hash"`
	Secp256k1Blake160SighashAllTypeHash  *Hash              `json:"secp256k1_blake160_sighash_all_type_hash"`
	Secp256k1Blake160MultisigAllTypeHash *Hash              `json:"secp256k1_blake160_multisig_all_type_hash"`
	InitialPrimaryEpochReward            uint64             `json:"initial_primary_epoch_reward"`
	SecondaryEpochReward                 uint64             `json:"secondary_epoch_reward"`
	MaxUnclesNum                         uint64             `json:"max_uncles_num"`
	OrphanRateTarget                     RationalU256       `json:"orphan_rate_target"`
	EpochDurationTarget                  uint64             `json:"epoch_duration_target"`
	TxProposalWindow                     ProposalWindow     `json:"tx_proposal_window"`
	ProposerRewardRatio                  RationalU256       `json:"proposer_reward_ratio"`
	CellbaseMaturity                     uint64             `json:"cellbase_maturity"`
	MedianTimeBlockCount                 uint64             `json:"median_time_block_count"`
	MaxBlockCycles                       uint64             `json:"max_block_cycles"`
	MaxBlockBytes                        uint64             `json:"max_block_bytes"`
	BlockVersion                         uint32             `json:"block_version"`
	TxVersion                            uint32             `json:"tx_version"`
	TypeIdCodeHash                       Hash               `json:"type_id_code_hash"`
	MaxBlockProposalsLimit               uint64             `json:"max_block_proposals_limit"`
	PrimaryEpochRewardHalvingInterval    uint64             `json:"primary_epoch_reward_halving_interval"`
	PermanentDifficultyInDummy           bool               `json:"permanent_difficulty_in_dummy"`
	HardforkFeatures                     []*HardForkFeature `json:"hardfork_features"`
}

func (*Consensus) UnmarshalJSON

func (r *Consensus) UnmarshalJSON(input []byte) error

type DepType

type DepType string

func (DepType) Pack

func (t DepType) Pack() *molecule.Byte

func (DepType) Serialize

func (t DepType) Serialize() []byte

type DryRunTransactionResult

type DryRunTransactionResult struct {
	Cycles uint64 `json:"cycles"`
}

func (*DryRunTransactionResult) UnmarshalJSON

func (r *DryRunTransactionResult) UnmarshalJSON(input []byte) error

type Epoch

type Epoch struct {
	CompactTarget uint64 `json:"compact_target"`
	Length        uint64 `json:"length"`
	Number        uint64 `json:"number"`
	StartNumber   uint64 `json:"start_number"`
}

func (Epoch) MarshalJSON

func (r Epoch) MarshalJSON() ([]byte, error)

func (*Epoch) UnmarshalJSON

func (r *Epoch) UnmarshalJSON(input []byte) error

type EpochParams

type EpochParams struct {
	Length uint64
	Index  uint64
	Number uint64
}

func ParseEpoch

func ParseEpoch(epoch uint64) *EpochParams

func (*EpochParams) Uint64

func (ep *EpochParams) Uint64() uint64

type EstimateCycles

type EstimateCycles struct {
	Cycles uint64 `json:"cycles"`
}

func (*EstimateCycles) UnmarshalJSON

func (r *EstimateCycles) UnmarshalJSON(input []byte) error

type FeeRateStatics

type FeeRateStatics struct {
	Mean   uint64 `json:"mean"`
	Median uint64 `json:"median"`
}

func (*FeeRateStatics) MarshalJSON

func (r *FeeRateStatics) MarshalJSON() ([]byte, error)

func (*FeeRateStatics) UnmarshalJSON

func (r *FeeRateStatics) UnmarshalJSON(input []byte) error

type HardForkFeature

type HardForkFeature struct {
	Rfc         string  `json:"rfc"`
	EpochNumber *uint64 `json:"epoch_number,omitempty"`
}

type Hash

type Hash [HashLength]byte

func BytesToHash

func BytesToHash(b []byte) Hash

func HexToHash

func HexToHash(s string) Hash

func UnpackHash

func UnpackHash(v *molecule.Byte32) Hash

func (Hash) Bytes

func (h Hash) Bytes() []byte

func (Hash) Hex

func (h Hash) Hex() string

func (Hash) MarshalText

func (h Hash) MarshalText() ([]byte, error)

func (*Hash) Pack

func (h *Hash) Pack() *molecule.Byte32

func (Hash) Serialize

func (h Hash) Serialize() []byte

func (*Hash) SetBytes

func (h *Hash) SetBytes(b []byte)

func (Hash) String

func (h Hash) String() string

func (*Hash) UnmarshalJSON

func (h *Hash) UnmarshalJSON(input []byte) error

func (*Hash) UnmarshalText

func (h *Hash) UnmarshalText(input []byte) error
type Header struct {
	CompactTarget    uint32   `json:"compact_target"`
	Dao              Hash     `json:"dao"`
	Epoch            uint64   `json:"epoch"`
	Hash             Hash     `json:"hash"`
	Nonce            *big.Int `json:"nonce"`
	Number           uint64   `json:"number"`
	ParentHash       Hash     `json:"parent_hash"`
	ProposalsHash    Hash     `json:"proposals_hash"`
	Timestamp        uint64   `json:"timestamp"`
	TransactionsRoot Hash     `json:"transactions_root"`
	ExtraHash        Hash     `json:"extra_hash"`
	Version          uint32   `json:"version"`
}

func (Header) MarshalJSON

func (r Header) MarshalJSON() ([]byte, error)

func (*Header) UnmarshalJSON

func (r *Header) UnmarshalJSON(input []byte) error

type JsonFeeRateStatics

type JsonFeeRateStatics struct {
	Mean   hexutil.Uint64 `json:"mean"`
	Median hexutil.Uint64 `json:"median"`
}

type LocalNode

type LocalNode struct {
	Version     string               `json:"version"`
	NodeId      string               `json:"node_id"`
	Active      bool                 `json:"active"`
	Addresses   []*NodeAddress       `json:"addresses"`
	Protocols   []*LocalNodeProtocol `json:"protocols"`
	Connections uint64               `json:"connections"`
}

func (*LocalNode) UnmarshalJSON

func (r *LocalNode) UnmarshalJSON(input []byte) error

type LocalNodeProtocol

type LocalNodeProtocol struct {
	Id              uint64   `json:"id"`
	Name            string   `json:"name"`
	SupportVersions []string `json:"support_versions"`
}

func (*LocalNodeProtocol) UnmarshalJSON

func (r *LocalNodeProtocol) UnmarshalJSON(input []byte) error

type MinerReward

type MinerReward struct {
	Primary   uint64 `json:"primary"`
	Secondary uint64 `json:"secondary"`
	Committed uint64 `json:"committed"`
	Proposal  uint64 `json:"proposal"`
}

type Network

type Network uint

type NodeAddress

type NodeAddress struct {
	Address string `json:"address"`
	Score   uint64 `json:"score"`
}

func (*NodeAddress) UnmarshalJSON

func (r *NodeAddress) UnmarshalJSON(input []byte) error

type OutPoint

type OutPoint struct {
	TxHash Hash   `json:"tx_hash"`
	Index  uint32 `json:"index"`
}

func (OutPoint) MarshalJSON

func (r OutPoint) MarshalJSON() ([]byte, error)

func (*OutPoint) Pack

func (r *OutPoint) Pack() *molecule.OutPoint

func (*OutPoint) Serialize

func (r *OutPoint) Serialize() []byte

func (*OutPoint) UnmarshalJSON

func (r *OutPoint) UnmarshalJSON(input []byte) error

type PeerSyncState

type PeerSyncState struct {
	BestKnownHeaderHash    *Hash   `json:"best_known_header_hash,omitempty"`
	BestKnownHeaderNumber  *uint64 `json:"best_known_header_number,omitempty"`
	LastCommonHeaderHash   *Hash   `json:"last_common_header_hash,omitempty"`
	LastCommonHeaderNumber *uint64 `json:"last_common_header_number,omitempty"`
	UnknownHeaderListSize  uint64  `json:"unknown_header_list_size"`
	InflightCount          uint64  `json:"inflight_count"`
	CanFetchCount          uint64  `json:"can_fetch_count"`
}

func (*PeerSyncState) UnmarshalJSON

func (r *PeerSyncState) UnmarshalJSON(input []byte) error

type Proof

type Proof struct {
	Indices []uint `json:"indices"`
	Lemmas  []Hash `json:"lemmas"`
}

func (Proof) MarshalJSON

func (r Proof) MarshalJSON() ([]byte, error)

func (*Proof) UnmarshalJSON

func (r *Proof) UnmarshalJSON(input []byte) error

type ProposalWindow

type ProposalWindow struct {
	Closest  uint64 `json:"closest"`
	Farthest uint64 `json:"farthest"`
}

type RationalU256

type RationalU256 struct {
	Denom *big.Int `json:"denom"`
	Numer *big.Int `json:"numer"`
}

type RawTxPool

type RawTxPool struct {
	Pending  []Hash `json:"pending"`
	Proposed []Hash `json:"proposed"`
}

type RemoteNode

type RemoteNode struct {
	Version           string                `json:"version"`
	NodeID            string                `json:"node_id"`
	Addresses         []*NodeAddress        `json:"addresses"`
	IsOutbound        bool                  `json:"is_outbound"`
	ConnectedDuration uint64                `json:"connected_duration"`
	LastPingDuration  *uint64               `json:"last_ping_duration,omitempty"`
	SyncState         *PeerSyncState        `json:"sync_state,omitempty"`
	Protocols         []*RemoteNodeProtocol `json:"protocols"`
}

func (*RemoteNode) UnmarshalJSON

func (r *RemoteNode) UnmarshalJSON(input []byte) error

type RemoteNodeProtocol

type RemoteNodeProtocol struct {
	ID      uint64 `json:"id"`
	Version string `json:"version"`
}

func (*RemoteNodeProtocol) UnmarshalJSON

func (r *RemoteNodeProtocol) UnmarshalJSON(input []byte) error

type Script

type Script struct {
	CodeHash Hash           `json:"code_hash"`
	HashType ScriptHashType `json:"hash_type"`
	Args     []byte         `json:"args"`
}

func (*Script) Equals

func (r *Script) Equals(obj *Script) bool

func (*Script) Hash

func (r *Script) Hash() Hash

func (Script) MarshalJSON

func (r Script) MarshalJSON() ([]byte, error)

func (*Script) OccupiedCapacity

func (r *Script) OccupiedCapacity() uint64

func (*Script) Pack

func (r *Script) Pack() *molecule.Script

func (*Script) Serialize

func (r *Script) Serialize() []byte

func (*Script) UnmarshalJSON

func (r *Script) UnmarshalJSON(input []byte) error

type ScriptHashType

type ScriptHashType string

func DeserializeHashTypeByte

func DeserializeHashTypeByte(hashType byte) (ScriptHashType, error)

func (ScriptHashType) Pack

func (t ScriptHashType) Pack() *molecule.Byte

func (ScriptHashType) Serialize

func (t ScriptHashType) Serialize() []byte

type ScriptType

type ScriptType string

func (*ScriptType) UnmarshalJSON

func (r *ScriptType) UnmarshalJSON(input []byte) error

type SyncState

type SyncState struct {
	Ibd                     bool   `json:"ibd"`
	BestKnownBlockNumber    uint64 `json:"best_known_block_number"`
	BestKnownBlockTimestamp uint64 `json:"best_known_block_timestamp"`
	OrphanBlocksCount       uint64 `json:"orphan_blocks_count"`
	InflightBlocksCount     uint64 `json:"inflight_blocks_count"`
	FastTime                uint64 `json:"fast_time"`
	LowTime                 uint64 `json:"low_time"`
	NormalTime              uint64 `json:"normal_time"`
}

func (*SyncState) UnmarshalJSON

func (t *SyncState) UnmarshalJSON(input []byte) error

type Transaction

type Transaction struct {
	Version     uint32        `json:"version"`
	Hash        Hash          `json:"hash"`
	CellDeps    []*CellDep    `json:"cell_deps"`
	HeaderDeps  []Hash        `json:"header_deps"`
	Inputs      []*CellInput  `json:"inputs"`
	Outputs     []*CellOutput `json:"outputs"`
	OutputsData [][]byte      `json:"outputs_data"`
	Witnesses   [][]byte      `json:"witnesses"`
}

func (Transaction) CalculateFee

func (t Transaction) CalculateFee(feeRate uint64) uint64

func (Transaction) CalculateFeeWithTxWeight

func (t Transaction) CalculateFeeWithTxWeight(cycles uint64, feeRate uint64) uint64

func (*Transaction) ComputeHash

func (t *Transaction) ComputeHash() Hash

func (Transaction) MarshalJSON

func (t Transaction) MarshalJSON() ([]byte, error)

func (*Transaction) OutputsCapacity

func (t *Transaction) OutputsCapacity() (totalCapacity uint64)

func (*Transaction) Pack

func (t *Transaction) Pack() *molecule.Transaction

func (*Transaction) PackToRawTransaction

func (t *Transaction) PackToRawTransaction() *molecule.RawTransaction

func (*Transaction) Serialize

func (t *Transaction) Serialize() []byte

func (*Transaction) SerializeWithoutWitnesses

func (t *Transaction) SerializeWithoutWitnesses() []byte

func (*Transaction) SizeInBlock

func (t *Transaction) SizeInBlock() uint64

func (*Transaction) UnmarshalJSON

func (t *Transaction) UnmarshalJSON(input []byte) error

type TransactionInput

type TransactionInput struct {
	OutPoint   *OutPoint   `json:"out_point"`
	Output     *CellOutput `json:"output"`
	OutputData []byte      `json:"output_data"`
}

type TransactionProof

type TransactionProof struct {
	Proof         *Proof `json:"proof"`
	BlockHash     Hash   `json:"block_hash"`
	WitnessesRoot Hash   `json:"witnesses_root"`
}

type TransactionStatus

type TransactionStatus string

func (*TransactionStatus) UnmarshalJSON

func (r *TransactionStatus) UnmarshalJSON(input []byte) error

type TransactionWithStatus

type TransactionWithStatus struct {
	Transaction *Transaction `json:"transaction"`
	Cycles      uint64       `json:"cycles""`
	TxStatus    *TxStatus    `json:"tx_status"`
}

func (*TransactionWithStatus) MarshalJSON

func (r *TransactionWithStatus) MarshalJSON() ([]byte, error)

func (*TransactionWithStatus) UnmarshalJSON

func (r *TransactionWithStatus) UnmarshalJSON(input []byte) error

type TxPoolInfo

type TxPoolInfo struct {
	TipHash          Hash   `json:"tip_hash"`
	TipNumber        uint64 `json:"tip_number"`
	Pending          uint64 `json:"pending"`
	Proposed         uint64 `json:"proposed"`
	Orphan           uint64 `json:"orphan"`
	TotalTxSize      uint64 `json:"total_tx_size"`
	TotalTxCycles    uint64 `json:"total_tx_cycles"`
	MinFeeRate       uint64 `json:"min_fee_rate"`
	LastTxsUpdatedAt uint64 `json:"last_txs_updated_at"`
}

func (*TxPoolInfo) UnmarshalJSON

func (r *TxPoolInfo) UnmarshalJSON(input []byte) error

type TxStatus

type TxStatus struct {
	Status    TransactionStatus `json:"status"`
	BlockHash *Hash             `json:"block_hash"`
	Reason    *string           `json:"reason"`
}

type UncleBlock

type UncleBlock struct {
	Header    *Header  `json:"header"`
	Proposals []string `json:"proposals"`
}

type WitnessArgs

type WitnessArgs struct {
	Lock       []byte `json:"lock"`
	InputType  []byte `json:"input_type"`
	OutputType []byte `json:"output_type"`
}

func DeserializeWitnessArgs

func DeserializeWitnessArgs(in []byte) (*WitnessArgs, error)

func UnpackWitnessArgs

func UnpackWitnessArgs(v *molecule.WitnessArgs) *WitnessArgs

func (*WitnessArgs) Pack

func (r *WitnessArgs) Pack() *molecule.WitnessArgs

func (*WitnessArgs) Serialize

func (w *WitnessArgs) Serialize() []byte

type WitnessType

type WitnessType uint

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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