diff --git a/btcjson/chainsvrresults.go b/btcjson/chainsvrresults.go index 5518331d3..b6993303a 100644 --- a/btcjson/chainsvrresults.go +++ b/btcjson/chainsvrresults.go @@ -75,16 +75,41 @@ type GetAddedNodeInfoResult struct { Addresses *[]GetAddedNodeInfoResultAddr `json:"addresses,omitempty"` } +// SoftForkDescription describes the current state of a soft-fork which was +// deployed using a super-majority block signalling. +type SoftForkDescription struct { + ID string `json:"id"` + Version uint32 `json:"version"` + Reject struct { + Status bool `json:"status"` + } `json:"reject"` +} + +// Bip9SoftForkDescription describes the current state of a defined BIP0009 +// version bits soft-fork. +type Bip9SoftForkDescription struct { + Status string `json:"status"` + Bit uint8 `json:"bit"` + StartTime int64 `json:"startTime"` + Timeout int64 `json:"timeout"` + Since int32 `json:"since"` +} + // GetBlockChainInfoResult models the data returned from the getblockchaininfo // command. type GetBlockChainInfoResult struct { - Chain string `json:"chain"` - Blocks int32 `json:"blocks"` - Headers int32 `json:"headers"` - BestBlockHash string `json:"bestblockhash"` - Difficulty float64 `json:"difficulty"` - VerificationProgress float64 `json:"verificationprogress"` - ChainWork string `json:"chainwork"` + Chain string `json:"chain"` + Blocks int32 `json:"blocks"` + Headers int32 `json:"headers"` + BestBlockHash string `json:"bestblockhash"` + Difficulty float64 `json:"difficulty"` + MedianTime int64 `json:"mediantime"` + VerificationProgress float64 `json:"verificationprogress,omitempty"` + Pruned bool `json:"pruned"` + PruneHeight int32 `json:"pruneheight,omitempty"` + ChainWork string `json:"chainwork,omitempty"` + SoftForks []*SoftForkDescription `json:"softforks"` + Bip9SoftForks map[string]*Bip9SoftForkDescription `json:"bip9_softforks"` } // GetBlockTemplateResultTx models the transactions field of the