TBD
BREAKING CHANGES:
type
field to Evidence
(opaque bytes indicating kind of fraud)time
field to Evidence
(note that this is the timestamp of the block which was double-signed, not the time the evidence was received)TODO
IMPROVEMENTS:
Hot fix to remove omitempty
from fee
and to actually run make protoc
FEATURES:
dummy
is duplicated as kvstore
.IMPROVEMENTS:
BREAKING CHANGES:
<len of len><big endian len>
[(gogoproto.nullable)=false]
to prefer value over pointer for the typesFEATURES:
info string
field to responsesIMPROVEMENTS:
BREAKING CHANGES:
FEATURES:
BUG FIXES:
BREAKING CHANGES:
CheckTx
/DeliverTx
, which takes a tx []byte
argument.Commit
, which takes no arguments.0 == OK
is defined here, everything else is left to convention at the application levelgogo/protobuf
for code generationcustomtype
feature of gogo/protobuf
to replace []byte
with data.Bytes
in all generated types :)
pubKey
-> pub_key
uint64
-> int32
for Header.num_txs
and PartSetHeader.total
uint64
-> int64
for everything elsecode == 0
, which is still printed as OK
FEATURES:
tags
fieldgas
and fee
fieldsabsent_validators
and byzantine_validators
fieldslog_level
flag to control the loggerabci-cli test
command for simple testing of ABCI server implementations via Counter applicationIMPROVEMENTS:
BUG FIXES:
BREAKING CHANGES:
abci-cli
binaryIMPROVEMENTS:
BUG FIXES:
BREAKING CHANGES:
IMPROVEMENTS:
BREAKING CHANGES:
NewSocketClient
and NewGRPCClient
no longer start the client automatically, and don't return errors. The caller is responsible for running client.Start()
and checking the error.NewSocketServer
and NewGRPCServer
no longer start the server automatically, and don't return errors. The caller is responsible for running server.Start()
and checking the error.FEATURES:
func (res Result) IsSameCode(compare Result) bool
checks whether two results have the same codefunc (r *ResponseCheckTx) Result() Result
and func (r *ResponseDeliverTx) Result() Result
to convert from protobuf types (for control over json serialization)func (r *ResponseQuery) Result() *ResultQuery
and struct ResultQuery
to convert from protobuf types (for control over json serializtion)IMPROVEMENTS:
tmlibs
repositorypath
, height
, and prove
data.Bytes
and json
tags in the Result
structBUG FIXES:
IMPROVEMENTS:
BREAKING CHANGES:
data
and path
,
can specify a height to query the state from, and whether or not the response should come with a proof.
The response returns the corresponding key-value pair, with proof if requested.message RequestQuery{
bytes data = 1;
string path = 2;
uint64 height = 3;
bool prove = 4;
}
message ResponseQuery{
CodeType code = 1;
int64 index = 2;
bytes key = 3;
bytes value = 4;
bytes proof = 5;
uint64 height = 6;
string log = 7;
}
IMPROVEMENTS:
type Application interface
BREAKING CHANGES:
message RequestBeginBlock{
bytes hash = 1;
Header header = 2;
}
message ResponseInfo {
string data = 1;
string version = 2;
uint64 last_block_height = 3;
bytes last_block_app_hash = 4;
}
message ResponseEndBlock{
repeated Validator diffs = 4;
}
FEATURES:
//----------------------------------------
// Blockchain Types
message Header {
string chain_id = 1;
uint64 height = 2;
uint64 time = 3;
uint64 num_txs = 4;
BlockID last_block_id = 5;
bytes last_commit_hash = 6;
bytes data_hash = 7;
bytes validators_hash = 8;
bytes app_hash = 9;
}
message BlockID {
bytes hash = 1;
PartSetHeader parts = 2;
}
message PartSetHeader {
uint64 total = 1;
bytes hash = 2;
}
message Validator {
bytes pubKey = 1;
uint64 power = 2;
}
IMPROVEMENT:
BUG FIXES:
IMPROVEMENTS
BREAKING CHANGES:
oneof
types in protobufFEATURES: