Revision f82a8ff73a6352355c2f10809a1cce1b23349d20 authored by JamesRay on 15 December 2018, 19:33:30 UTC, committed by Ethan Buchman on 15 December 2018, 19:33:30 UTC
* optimize addProposalBlockPart

* optimize addProposalBlockPart

* if ProposalBlockParts and LockedBlockParts both exist,let LockedBlockParts overwrite ProposalBlockParts.

* fix tryAddBlock

* broadcast lockedBlockParts in higher priority

* when appHeight==0, it's better fetch genDoc than state.validators.

* not save state if replay from height 1

* only save state if replay from height 1 when stateHeight is also 1

* only save state if replay from height 1 when stateHeight is also 1

* only save state if replay from height 0 when stateHeight is also 0

* handshake info's response version only update when stateHeight==0

* save the handshake responseInfo appVersion
1 parent ae275d7
Raw File
merkle.proto
syntax = "proto3";
package merkle;

// For more information on gogo.proto, see:
// https://github.com/gogo/protobuf/blob/master/extensions.md
import "github.com/gogo/protobuf/gogoproto/gogo.proto";

option (gogoproto.marshaler_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.sizer_all) = true;

option (gogoproto.populate_all) = true;
option (gogoproto.equal_all) = true;

//----------------------------------------
// Message types

// ProofOp defines an operation used for calculating Merkle root
// The data could be arbitrary format, providing nessecary data
// for example neighbouring node hash
message ProofOp {
  string type = 1;
  bytes key = 2;
  bytes data = 3;
}

// Proof is Merkle proof defined by the list of ProofOps
message Proof {
  repeated ProofOp ops = 1 [(gogoproto.nullable)=false];
}
back to top