mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-11-24 14:35:53 +00:00
* [NOD-1500] Added Domain type and Constructor
* [NOD-1500] Replaced dag+txpool with domain in flowContext
* [NOD-1500] Replaced dag+txpool with domain in flowContext
* [NOD-1500] Converters: domain objects from/to appmessage
* [NOD-1500] Convert hashes to DomainHashes in appmessages
* [NOD-1500] Remove references to daghash in dagconfig
* [NOD-1500] Fixed all appmessage usages of hashes
* [NOD-1500] Update all RPC to use domain
* [NOD-1500] Big chunk of protocol flows re-wired to domain
* [NOD-1500] Finished re-wiring all protocol flows to new Domain
* [NOD-1500] Fix some mempool and kaspaminer compilation errors
* [NOD-1500] Deleted util/{block,tx,daghash} and dbaccess
* [NOD-1500] util.CoinbaseTransactionIndex -> transactionhelper.CoinbaseTransactionIndex
* [NOD-1500] Fix txsigner
* [NOD-1500] Removed all references to util/subnetworkid
* [NOD-1500] Update RpcGetBlock related messages
* [NOD-1500] Many more compilation fixes
* [NOD-1500] Return full list of missing blocks for orphan resolution
* [NOD-1500] Fixed handshake
* [NOD-1500] Fixed flowcontext compilation
* [NOD-1500] Update users of StartIBDIfRequired to handle error
* [NOD-1500] Removed some more fields from RPC
* [NOD-1500] Fix the getBlockTemplate flow
* [NOD-1500] Fix HandleGetCurrentNetwork
* [NOD-1500] Remove redundant code
* [NOD-1500] Remove obsolete notifications
* [NOD-1500] Split MiningManager and Consensus to separate fields in Domain
* [NOD-1500] Update two wrong references to location of txscript
* [NOD-1500] Added comments
* [NOD-1500] Fix some tests
* [NOD-1500] Removed serialization logic from appmessage
* [NOD-1500] Rename database/serialization/messages.proto to dbobjects.proto
* [NOD-1500] Delete integration tests
* [NOD-1500] Remove txsort
* [NOD-1500] Fix tiny bug
* [NOD-1500] Remove rogue dependancy on bchd
* [NOD-1500] Some stylistic fixes
109 lines
3.1 KiB
Go
109 lines
3.1 KiB
Go
package appmessage
|
|
|
|
// GetBlockRequestMessage is an appmessage corresponding to
|
|
// its respective RPC message
|
|
type GetBlockRequestMessage struct {
|
|
baseMessage
|
|
Hash string
|
|
SubnetworkID string
|
|
IncludeTransactionVerboseData bool
|
|
}
|
|
|
|
// Command returns the protocol command string for the message
|
|
func (msg *GetBlockRequestMessage) Command() MessageCommand {
|
|
return CmdGetBlockRequestMessage
|
|
}
|
|
|
|
// NewGetBlockRequestMessage returns a instance of the message
|
|
func NewGetBlockRequestMessage(hash string, subnetworkID string, includeTransactionVerboseData bool) *GetBlockRequestMessage {
|
|
return &GetBlockRequestMessage{
|
|
Hash: hash,
|
|
SubnetworkID: subnetworkID,
|
|
IncludeTransactionVerboseData: includeTransactionVerboseData,
|
|
}
|
|
}
|
|
|
|
// GetBlockResponseMessage is an appmessage corresponding to
|
|
// its respective RPC message
|
|
type GetBlockResponseMessage struct {
|
|
baseMessage
|
|
BlockVerboseData *BlockVerboseData
|
|
|
|
Error *RPCError
|
|
}
|
|
|
|
// Command returns the protocol command string for the message
|
|
func (msg *GetBlockResponseMessage) Command() MessageCommand {
|
|
return CmdGetBlockResponseMessage
|
|
}
|
|
|
|
// NewGetBlockResponseMessage returns a instance of the message
|
|
func NewGetBlockResponseMessage() *GetBlockResponseMessage {
|
|
return &GetBlockResponseMessage{}
|
|
}
|
|
|
|
// BlockVerboseData holds verbose data about a block
|
|
type BlockVerboseData struct {
|
|
Hash string
|
|
Version int32
|
|
VersionHex string
|
|
HashMerkleRoot string
|
|
AcceptedIDMerkleRoot string
|
|
UTXOCommitment string
|
|
TxIDs []string
|
|
TransactionVerboseData []*TransactionVerboseData
|
|
Time int64
|
|
Nonce uint64
|
|
Bits string
|
|
Difficulty float64
|
|
ParentHashes []string
|
|
SelectedParentHash string
|
|
}
|
|
|
|
// TransactionVerboseData holds verbose data about a transaction
|
|
type TransactionVerboseData struct {
|
|
TxID string
|
|
Hash string
|
|
Size uint64
|
|
Version int32
|
|
LockTime uint64
|
|
SubnetworkID string
|
|
Gas uint64
|
|
PayloadHash string
|
|
Payload string
|
|
TransactionVerboseInputs []*TransactionVerboseInput
|
|
TransactionVerboseOutputs []*TransactionVerboseOutput
|
|
BlockHash string
|
|
Time uint64
|
|
BlockTime uint64
|
|
}
|
|
|
|
// TransactionVerboseInput holds data about a transaction input
|
|
type TransactionVerboseInput struct {
|
|
TxID string
|
|
OutputIndex uint32
|
|
ScriptSig *ScriptSig
|
|
Sequence uint64
|
|
}
|
|
|
|
// ScriptSig holds data about a script signature
|
|
type ScriptSig struct {
|
|
Asm string
|
|
Hex string
|
|
}
|
|
|
|
// TransactionVerboseOutput holds data about a transaction output
|
|
type TransactionVerboseOutput struct {
|
|
Value uint64
|
|
Index uint32
|
|
ScriptPubKey *ScriptPubKeyResult
|
|
}
|
|
|
|
// ScriptPubKeyResult holds data about a script public key
|
|
type ScriptPubKeyResult struct {
|
|
Asm string
|
|
Hex string
|
|
Type string
|
|
Address string
|
|
}
|