diff --git a/api/docgen/exampledata/extendedHeader.json b/api/docgen/exampledata/extendedHeader.json index 5da16246c1..d7a43824a0 100644 --- a/api/docgen/exampledata/extendedHeader.json +++ b/api/docgen/exampledata/extendedHeader.json @@ -46,7 +46,7 @@ } }, "commit": { - "height": 67374, + "height": "67374", "round": 0, "block_id": { "hash": "A7F6B1CF33313121539206754A73FDC22ADA48C4AA8C4BB4F707ED2E089E59D3", diff --git a/header/header.go b/header/header.go index 4db80d0ac3..5c9e4b72ce 100644 --- a/header/header.go +++ b/header/header.go @@ -239,13 +239,19 @@ func (eh *ExtendedHeader) MarshalJSON() ([]byte, error) { if err != nil { return nil, err } + commit, err := tmjson.Marshal(eh.Commit) + if err != nil { + return nil, err + } return json.Marshal(&struct { RawHeader json.RawMessage `json:"header"` ValidatorSet json.RawMessage `json:"validator_set"` + Commit json.RawMessage `json:"commit"` *Alias }{ ValidatorSet: validatorSet, RawHeader: rawHeader, + Commit: commit, Alias: (*Alias)(eh), }) } @@ -257,6 +263,7 @@ func (eh *ExtendedHeader) UnmarshalJSON(data []byte) error { aux := &struct { RawHeader json.RawMessage `json:"header"` ValidatorSet json.RawMessage `json:"validator_set"` + Commit json.RawMessage `json:"commit"` *Alias }{ Alias: (*Alias)(eh), @@ -273,9 +280,14 @@ func (eh *ExtendedHeader) UnmarshalJSON(data []byte) error { if err := tmjson.Unmarshal(aux.RawHeader, rawHeader); err != nil { return err } + commit := new(core.Commit) + if err := tmjson.Unmarshal(aux.Commit, commit); err != nil { + return err + } eh.ValidatorSet = valSet eh.RawHeader = *rawHeader + eh.Commit = commit return nil }