Browse Source

abci: remove fee (#2043)

Refs #1861

We don't use the fee field and its likely just confusing.

We can add backwards compatible priority (instead of fee) later.

Note priority is better than fee because it lets the app do the math on how to rank order transactions, rather than forcing that into tendermint (ie. if we return fee, priority would be fee/gas)
pull/2059/head
Anton Kaliaev 6 years ago
committed by Alexander Simmerl
parent
commit
60378fd7f9
8 changed files with 192 additions and 316 deletions
  1. +1
    -0
      CHANGELOG_PENDING.md
  2. +0
    -1
      abci/types/messages_test.go
  3. +184
    -292
      abci/types/types.pb.go
  4. +0
    -2
      abci/types/types.proto
  5. +0
    -2
      docs/app-dev/abci-spec.md
  6. +6
    -16
      docs/app-dev/getting-started.md
  7. +0
    -2
      state/txindex/kv/kv_test.go
  8. +1
    -1
      types/event_bus_test.go

+ 1
- 0
CHANGELOG_PENDING.md View File

@ -3,6 +3,7 @@
BREAKING CHANGES: BREAKING CHANGES:
- [types] CanonicalTime uses nanoseconds instead of clipping to ms - [types] CanonicalTime uses nanoseconds instead of clipping to ms
- breaks serialization/signing of all messages with a timestamp - breaks serialization/signing of all messages with a timestamp
- [abci] Removed Fee from ResponseDeliverTx and ResponseCheckTx
IMPROVEMENTS: IMPROVEMENTS:
- [blockchain] Improve fast-sync logic - [blockchain] Improve fast-sync logic


+ 0
- 1
abci/types/messages_test.go View File

@ -85,7 +85,6 @@ func TestWriteReadMessage2(t *testing.T) {
Tags: []cmn.KVPair{ Tags: []cmn.KVPair{
cmn.KVPair{[]byte("abc"), []byte("def")}, cmn.KVPair{[]byte("abc"), []byte("def")},
}, },
// Fee: cmn.KI64Pair{
}, },
// TODO: add the rest // TODO: add the rest
} }


+ 184
- 292
abci/types/types.pb.go View File

@ -1394,7 +1394,6 @@ type ResponseCheckTx struct {
GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"` GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"`
GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"` GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
Tags []common.KVPair `protobuf:"bytes,7,rep,name=tags" json:"tags,omitempty"` Tags []common.KVPair `protobuf:"bytes,7,rep,name=tags" json:"tags,omitempty"`
Fee common.KI64Pair `protobuf:"bytes,8,opt,name=fee" json:"fee"`
} }
func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} } func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} }
@ -1451,13 +1450,6 @@ func (m *ResponseCheckTx) GetTags() []common.KVPair {
return nil return nil
} }
func (m *ResponseCheckTx) GetFee() common.KI64Pair {
if m != nil {
return m.Fee
}
return common.KI64Pair{}
}
type ResponseDeliverTx struct { type ResponseDeliverTx struct {
Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
@ -1466,7 +1458,6 @@ type ResponseDeliverTx struct {
GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"` GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"`
GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"` GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
Tags []common.KVPair `protobuf:"bytes,7,rep,name=tags" json:"tags,omitempty"` Tags []common.KVPair `protobuf:"bytes,7,rep,name=tags" json:"tags,omitempty"`
Fee common.KI64Pair `protobuf:"bytes,8,opt,name=fee" json:"fee"`
} }
func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} } func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} }
@ -1523,13 +1514,6 @@ func (m *ResponseDeliverTx) GetTags() []common.KVPair {
return nil return nil
} }
func (m *ResponseDeliverTx) GetFee() common.KI64Pair {
if m != nil {
return m.Fee
}
return common.KI64Pair{}
}
type ResponseEndBlock struct { type ResponseEndBlock struct {
ValidatorUpdates []Validator `protobuf:"bytes,1,rep,name=validator_updates,json=validatorUpdates" json:"validator_updates"` ValidatorUpdates []Validator `protobuf:"bytes,1,rep,name=validator_updates,json=validatorUpdates" json:"validator_updates"`
ConsensusParamUpdates *ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_updates,json=consensusParamUpdates" json:"consensus_param_updates,omitempty"` ConsensusParamUpdates *ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_updates,json=consensusParamUpdates" json:"consensus_param_updates,omitempty"`
@ -3176,9 +3160,6 @@ func (this *ResponseCheckTx) Equal(that interface{}) bool {
return false return false
} }
} }
if !this.Fee.Equal(&that1.Fee) {
return false
}
return true return true
} }
func (this *ResponseDeliverTx) Equal(that interface{}) bool { func (this *ResponseDeliverTx) Equal(that interface{}) bool {
@ -3226,9 +3207,6 @@ func (this *ResponseDeliverTx) Equal(that interface{}) bool {
return false return false
} }
} }
if !this.Fee.Equal(&that1.Fee) {
return false
}
return true return true
} }
func (this *ResponseEndBlock) Equal(that interface{}) bool { func (this *ResponseEndBlock) Equal(that interface{}) bool {
@ -5029,14 +5007,6 @@ func (m *ResponseCheckTx) MarshalTo(dAtA []byte) (int, error) {
i += n i += n
} }
} }
dAtA[i] = 0x42
i++
i = encodeVarintTypes(dAtA, i, uint64(m.Fee.Size()))
n29, err := m.Fee.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n29
return i, nil return i, nil
} }
@ -5100,14 +5070,6 @@ func (m *ResponseDeliverTx) MarshalTo(dAtA []byte) (int, error) {
i += n i += n
} }
} }
dAtA[i] = 0x42
i++
i = encodeVarintTypes(dAtA, i, uint64(m.Fee.Size()))
n30, err := m.Fee.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n30
return i, nil return i, nil
} }
@ -5142,11 +5104,11 @@ func (m *ResponseEndBlock) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintTypes(dAtA, i, uint64(m.ConsensusParamUpdates.Size())) i = encodeVarintTypes(dAtA, i, uint64(m.ConsensusParamUpdates.Size()))
n31, err := m.ConsensusParamUpdates.MarshalTo(dAtA[i:])
n29, err := m.ConsensusParamUpdates.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n31
i += n29
} }
if len(m.Tags) > 0 { if len(m.Tags) > 0 {
for _, msg := range m.Tags { for _, msg := range m.Tags {
@ -5206,31 +5168,31 @@ func (m *ConsensusParams) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintTypes(dAtA, i, uint64(m.BlockSize.Size())) i = encodeVarintTypes(dAtA, i, uint64(m.BlockSize.Size()))
n32, err := m.BlockSize.MarshalTo(dAtA[i:])
n30, err := m.BlockSize.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n32
i += n30
} }
if m.TxSize != nil { if m.TxSize != nil {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintTypes(dAtA, i, uint64(m.TxSize.Size())) i = encodeVarintTypes(dAtA, i, uint64(m.TxSize.Size()))
n33, err := m.TxSize.MarshalTo(dAtA[i:])
n31, err := m.TxSize.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n33
i += n31
} }
if m.BlockGossip != nil { if m.BlockGossip != nil {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintTypes(dAtA, i, uint64(m.BlockGossip.Size())) i = encodeVarintTypes(dAtA, i, uint64(m.BlockGossip.Size()))
n34, err := m.BlockGossip.MarshalTo(dAtA[i:])
n32, err := m.BlockGossip.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n34
i += n32
} }
return i, nil return i, nil
} }
@ -5381,11 +5343,11 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x4a dAtA[i] = 0x4a
i++ i++
i = encodeVarintTypes(dAtA, i, uint64(m.Proposer.Size())) i = encodeVarintTypes(dAtA, i, uint64(m.Proposer.Size()))
n35, err := m.Proposer.MarshalTo(dAtA[i:])
n33, err := m.Proposer.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n35
i += n33
return i, nil return i, nil
} }
@ -5413,11 +5375,11 @@ func (m *Validator) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintTypes(dAtA, i, uint64(m.PubKey.Size())) i = encodeVarintTypes(dAtA, i, uint64(m.PubKey.Size()))
n36, err := m.PubKey.MarshalTo(dAtA[i:])
n34, err := m.PubKey.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n36
i += n34
if m.Power != 0 { if m.Power != 0 {
dAtA[i] = 0x18 dAtA[i] = 0x18
i++ i++
@ -5444,11 +5406,11 @@ func (m *SigningValidator) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintTypes(dAtA, i, uint64(m.Validator.Size())) i = encodeVarintTypes(dAtA, i, uint64(m.Validator.Size()))
n37, err := m.Validator.MarshalTo(dAtA[i:])
n35, err := m.Validator.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n37
i += n35
if m.SignedLastBlock { if m.SignedLastBlock {
dAtA[i] = 0x10 dAtA[i] = 0x10
i++ i++
@ -5516,11 +5478,11 @@ func (m *Evidence) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintTypes(dAtA, i, uint64(m.Validator.Size())) i = encodeVarintTypes(dAtA, i, uint64(m.Validator.Size()))
n38, err := m.Validator.MarshalTo(dAtA[i:])
n36, err := m.Validator.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n38
i += n36
if m.Height != 0 { if m.Height != 0 {
dAtA[i] = 0x18 dAtA[i] = 0x18
i++ i++
@ -6022,8 +5984,6 @@ func NewPopulatedResponseCheckTx(r randyTypes, easy bool) *ResponseCheckTx {
this.Tags[i] = *v23 this.Tags[i] = *v23
} }
} }
v24 := common.NewPopulatedKI64Pair(r, easy)
this.Fee = *v24
if !easy && r.Intn(10) != 0 { if !easy && r.Intn(10) != 0 {
} }
return this return this
@ -6032,9 +5992,9 @@ func NewPopulatedResponseCheckTx(r randyTypes, easy bool) *ResponseCheckTx {
func NewPopulatedResponseDeliverTx(r randyTypes, easy bool) *ResponseDeliverTx { func NewPopulatedResponseDeliverTx(r randyTypes, easy bool) *ResponseDeliverTx {
this := &ResponseDeliverTx{} this := &ResponseDeliverTx{}
this.Code = uint32(r.Uint32()) this.Code = uint32(r.Uint32())
v25 := r.Intn(100)
this.Data = make([]byte, v25)
for i := 0; i < v25; i++ {
v24 := r.Intn(100)
this.Data = make([]byte, v24)
for i := 0; i < v24; i++ {
this.Data[i] = byte(r.Intn(256)) this.Data[i] = byte(r.Intn(256))
} }
this.Log = string(randStringTypes(r)) this.Log = string(randStringTypes(r))
@ -6048,15 +6008,13 @@ func NewPopulatedResponseDeliverTx(r randyTypes, easy bool) *ResponseDeliverTx {
this.GasUsed *= -1 this.GasUsed *= -1
} }
if r.Intn(10) != 0 { if r.Intn(10) != 0 {
v26 := r.Intn(5)
this.Tags = make([]common.KVPair, v26)
for i := 0; i < v26; i++ {
v27 := common.NewPopulatedKVPair(r, easy)
this.Tags[i] = *v27
v25 := r.Intn(5)
this.Tags = make([]common.KVPair, v25)
for i := 0; i < v25; i++ {
v26 := common.NewPopulatedKVPair(r, easy)
this.Tags[i] = *v26
} }
} }
v28 := common.NewPopulatedKI64Pair(r, easy)
this.Fee = *v28
if !easy && r.Intn(10) != 0 { if !easy && r.Intn(10) != 0 {
} }
return this return this
@ -6065,22 +6023,22 @@ func NewPopulatedResponseDeliverTx(r randyTypes, easy bool) *ResponseDeliverTx {
func NewPopulatedResponseEndBlock(r randyTypes, easy bool) *ResponseEndBlock { func NewPopulatedResponseEndBlock(r randyTypes, easy bool) *ResponseEndBlock {
this := &ResponseEndBlock{} this := &ResponseEndBlock{}
if r.Intn(10) != 0 { if r.Intn(10) != 0 {
v29 := r.Intn(5)
this.ValidatorUpdates = make([]Validator, v29)
for i := 0; i < v29; i++ {
v30 := NewPopulatedValidator(r, easy)
this.ValidatorUpdates[i] = *v30
v27 := r.Intn(5)
this.ValidatorUpdates = make([]Validator, v27)
for i := 0; i < v27; i++ {
v28 := NewPopulatedValidator(r, easy)
this.ValidatorUpdates[i] = *v28
} }
} }
if r.Intn(10) != 0 { if r.Intn(10) != 0 {
this.ConsensusParamUpdates = NewPopulatedConsensusParams(r, easy) this.ConsensusParamUpdates = NewPopulatedConsensusParams(r, easy)
} }
if r.Intn(10) != 0 { if r.Intn(10) != 0 {
v31 := r.Intn(5)
this.Tags = make([]common.KVPair, v31)
for i := 0; i < v31; i++ {
v32 := common.NewPopulatedKVPair(r, easy)
this.Tags[i] = *v32
v29 := r.Intn(5)
this.Tags = make([]common.KVPair, v29)
for i := 0; i < v29; i++ {
v30 := common.NewPopulatedKVPair(r, easy)
this.Tags[i] = *v30
} }
} }
if !easy && r.Intn(10) != 0 { if !easy && r.Intn(10) != 0 {
@ -6090,9 +6048,9 @@ func NewPopulatedResponseEndBlock(r randyTypes, easy bool) *ResponseEndBlock {
func NewPopulatedResponseCommit(r randyTypes, easy bool) *ResponseCommit { func NewPopulatedResponseCommit(r randyTypes, easy bool) *ResponseCommit {
this := &ResponseCommit{} this := &ResponseCommit{}
v33 := r.Intn(100)
this.Data = make([]byte, v33)
for i := 0; i < v33; i++ {
v31 := r.Intn(100)
this.Data = make([]byte, v31)
for i := 0; i < v31; i++ {
this.Data[i] = byte(r.Intn(256)) this.Data[i] = byte(r.Intn(256))
} }
if !easy && r.Intn(10) != 0 { if !easy && r.Intn(10) != 0 {
@ -6180,23 +6138,23 @@ func NewPopulatedHeader(r randyTypes, easy bool) *Header {
if r.Intn(2) == 0 { if r.Intn(2) == 0 {
this.TotalTxs *= -1 this.TotalTxs *= -1
} }
v34 := r.Intn(100)
this.LastBlockHash = make([]byte, v34)
for i := 0; i < v34; i++ {
v32 := r.Intn(100)
this.LastBlockHash = make([]byte, v32)
for i := 0; i < v32; i++ {
this.LastBlockHash[i] = byte(r.Intn(256)) this.LastBlockHash[i] = byte(r.Intn(256))
} }
v35 := r.Intn(100)
this.ValidatorsHash = make([]byte, v35)
for i := 0; i < v35; i++ {
v33 := r.Intn(100)
this.ValidatorsHash = make([]byte, v33)
for i := 0; i < v33; i++ {
this.ValidatorsHash[i] = byte(r.Intn(256)) this.ValidatorsHash[i] = byte(r.Intn(256))
} }
v36 := r.Intn(100)
this.AppHash = make([]byte, v36)
for i := 0; i < v36; i++ {
v34 := r.Intn(100)
this.AppHash = make([]byte, v34)
for i := 0; i < v34; i++ {
this.AppHash[i] = byte(r.Intn(256)) this.AppHash[i] = byte(r.Intn(256))
} }
v37 := NewPopulatedValidator(r, easy)
this.Proposer = *v37
v35 := NewPopulatedValidator(r, easy)
this.Proposer = *v35
if !easy && r.Intn(10) != 0 { if !easy && r.Intn(10) != 0 {
} }
return this return this
@ -6204,13 +6162,13 @@ func NewPopulatedHeader(r randyTypes, easy bool) *Header {
func NewPopulatedValidator(r randyTypes, easy bool) *Validator { func NewPopulatedValidator(r randyTypes, easy bool) *Validator {
this := &Validator{} this := &Validator{}
v38 := r.Intn(100)
this.Address = make([]byte, v38)
for i := 0; i < v38; i++ {
v36 := r.Intn(100)
this.Address = make([]byte, v36)
for i := 0; i < v36; i++ {
this.Address[i] = byte(r.Intn(256)) this.Address[i] = byte(r.Intn(256))
} }
v39 := NewPopulatedPubKey(r, easy)
this.PubKey = *v39
v37 := NewPopulatedPubKey(r, easy)
this.PubKey = *v37
this.Power = int64(r.Int63()) this.Power = int64(r.Int63())
if r.Intn(2) == 0 { if r.Intn(2) == 0 {
this.Power *= -1 this.Power *= -1
@ -6222,8 +6180,8 @@ func NewPopulatedValidator(r randyTypes, easy bool) *Validator {
func NewPopulatedSigningValidator(r randyTypes, easy bool) *SigningValidator { func NewPopulatedSigningValidator(r randyTypes, easy bool) *SigningValidator {
this := &SigningValidator{} this := &SigningValidator{}
v40 := NewPopulatedValidator(r, easy)
this.Validator = *v40
v38 := NewPopulatedValidator(r, easy)
this.Validator = *v38
this.SignedLastBlock = bool(bool(r.Intn(2) == 0)) this.SignedLastBlock = bool(bool(r.Intn(2) == 0))
if !easy && r.Intn(10) != 0 { if !easy && r.Intn(10) != 0 {
} }
@ -6233,9 +6191,9 @@ func NewPopulatedSigningValidator(r randyTypes, easy bool) *SigningValidator {
func NewPopulatedPubKey(r randyTypes, easy bool) *PubKey { func NewPopulatedPubKey(r randyTypes, easy bool) *PubKey {
this := &PubKey{} this := &PubKey{}
this.Type = string(randStringTypes(r)) this.Type = string(randStringTypes(r))
v41 := r.Intn(100)
this.Data = make([]byte, v41)
for i := 0; i < v41; i++ {
v39 := r.Intn(100)
this.Data = make([]byte, v39)
for i := 0; i < v39; i++ {
this.Data[i] = byte(r.Intn(256)) this.Data[i] = byte(r.Intn(256))
} }
if !easy && r.Intn(10) != 0 { if !easy && r.Intn(10) != 0 {
@ -6246,8 +6204,8 @@ func NewPopulatedPubKey(r randyTypes, easy bool) *PubKey {
func NewPopulatedEvidence(r randyTypes, easy bool) *Evidence { func NewPopulatedEvidence(r randyTypes, easy bool) *Evidence {
this := &Evidence{} this := &Evidence{}
this.Type = string(randStringTypes(r)) this.Type = string(randStringTypes(r))
v42 := NewPopulatedValidator(r, easy)
this.Validator = *v42
v40 := NewPopulatedValidator(r, easy)
this.Validator = *v40
this.Height = int64(r.Int63()) this.Height = int64(r.Int63())
if r.Intn(2) == 0 { if r.Intn(2) == 0 {
this.Height *= -1 this.Height *= -1
@ -6284,9 +6242,9 @@ func randUTF8RuneTypes(r randyTypes) rune {
return rune(ru + 61) return rune(ru + 61)
} }
func randStringTypes(r randyTypes) string { func randStringTypes(r randyTypes) string {
v43 := r.Intn(100)
tmps := make([]rune, v43)
for i := 0; i < v43; i++ {
v41 := r.Intn(100)
tmps := make([]rune, v41)
for i := 0; i < v41; i++ {
tmps[i] = randUTF8RuneTypes(r) tmps[i] = randUTF8RuneTypes(r)
} }
return string(tmps) return string(tmps)
@ -6308,11 +6266,11 @@ func randFieldTypes(dAtA []byte, r randyTypes, fieldNumber int, wire int) []byte
switch wire { switch wire {
case 0: case 0:
dAtA = encodeVarintPopulateTypes(dAtA, uint64(key)) dAtA = encodeVarintPopulateTypes(dAtA, uint64(key))
v44 := r.Int63()
v42 := r.Int63()
if r.Intn(2) == 0 { if r.Intn(2) == 0 {
v44 *= -1
v42 *= -1
} }
dAtA = encodeVarintPopulateTypes(dAtA, uint64(v44))
dAtA = encodeVarintPopulateTypes(dAtA, uint64(v42))
case 1: case 1:
dAtA = encodeVarintPopulateTypes(dAtA, uint64(key)) dAtA = encodeVarintPopulateTypes(dAtA, uint64(key))
dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256))) dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
@ -6865,8 +6823,6 @@ func (m *ResponseCheckTx) Size() (n int) {
n += 1 + l + sovTypes(uint64(l)) n += 1 + l + sovTypes(uint64(l))
} }
} }
l = m.Fee.Size()
n += 1 + l + sovTypes(uint64(l))
return n return n
} }
@ -6900,8 +6856,6 @@ func (m *ResponseDeliverTx) Size() (n int) {
n += 1 + l + sovTypes(uint64(l)) n += 1 + l + sovTypes(uint64(l))
} }
} }
l = m.Fee.Size()
n += 1 + l + sovTypes(uint64(l))
return n return n
} }
@ -10201,36 +10155,6 @@ func (m *ResponseCheckTx) Unmarshal(dAtA []byte) error {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
case 8:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthTypes
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipTypes(dAtA[iNdEx:]) skippy, err := skipTypes(dAtA[iNdEx:])
@ -10458,36 +10382,6 @@ func (m *ResponseDeliverTx) Unmarshal(dAtA []byte) error {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
case 8:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthTypes
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipTypes(dAtA[iNdEx:]) skippy, err := skipTypes(dAtA[iNdEx:])
@ -12041,124 +11935,122 @@ func init() { proto.RegisterFile("abci/types/types.proto", fileDescriptorTypes)
func init() { golang_proto.RegisterFile("abci/types/types.proto", fileDescriptorTypes) } func init() { golang_proto.RegisterFile("abci/types/types.proto", fileDescriptorTypes) }
var fileDescriptorTypes = []byte{ var fileDescriptorTypes = []byte{
// 1892 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4b, 0x73, 0x1c, 0x49,
0x11, 0x56, 0xcf, 0xbb, 0x53, 0x8f, 0x19, 0x97, 0x6c, 0x69, 0x3c, 0x0b, 0xb2, 0xa3, 0x83, 0xf0,
0xca, 0xac, 0x56, 0x02, 0xed, 0xda, 0x61, 0xef, 0xc2, 0x06, 0x1a, 0xad, 0xd9, 0x51, 0x2c, 0x0f,
0xd1, 0xf6, 0x9a, 0x08, 0x2e, 0x13, 0x35, 0xd3, 0xa5, 0x9e, 0x0e, 0xcf, 0x74, 0xf7, 0x76, 0xd5,
0x68, 0x47, 0xbe, 0x71, 0xdf, 0xe0, 0xca, 0x99, 0x1b, 0x27, 0x0e, 0x44, 0x10, 0xc1, 0x91, 0x13,
0xb1, 0x47, 0xfe, 0x00, 0x0e, 0xd0, 0x72, 0xe2, 0x17, 0x70, 0x83, 0xa8, 0xac, 0xea, 0xa7, 0x7a,
0x1c, 0xc2, 0x1c, 0xb9, 0x48, 0x95, 0x9d, 0x99, 0x55, 0x95, 0x39, 0x99, 0x5f, 0x66, 0x16, 0x6c,
0xd1, 0xd1, 0xd8, 0x3b, 0x10, 0x17, 0x21, 0xe3, 0xea, 0xef, 0x7e, 0x18, 0x05, 0x22, 0x20, 0x75,
0x24, 0x7a, 0xef, 0xba, 0x9e, 0x98, 0xcc, 0x47, 0xfb, 0xe3, 0x60, 0x76, 0xe0, 0x06, 0x6e, 0x70,
0x80, 0xdc, 0xd1, 0xfc, 0x0c, 0x29, 0x24, 0x70, 0xa5, 0xb4, 0x7a, 0x8f, 0x32, 0xe2, 0x82, 0xf9,
0x0e, 0x8b, 0x66, 0x9e, 0x2f, 0xb2, 0xcb, 0xa9, 0x37, 0xe2, 0x07, 0xe3, 0x60, 0x36, 0x0b, 0xfc,
0xec, 0x79, 0xd6, 0x9f, 0x6b, 0xd0, 0xb4, 0xd9, 0xe7, 0x73, 0xc6, 0x05, 0xd9, 0x85, 0x1a, 0x1b,
0x4f, 0x82, 0x6e, 0xe5, 0xae, 0xb1, 0xbb, 0x7a, 0x48, 0xf6, 0x95, 0x9c, 0xe6, 0x3e, 0x19, 0x4f,
0x82, 0xc1, 0x8a, 0x8d, 0x12, 0xe4, 0x1d, 0xa8, 0x9f, 0x4d, 0xe7, 0x7c, 0xd2, 0xad, 0xa2, 0xe8,
0x66, 0x5e, 0xf4, 0x87, 0x92, 0x35, 0x58, 0xb1, 0x95, 0x8c, 0xdc, 0xd6, 0xf3, 0xcf, 0x82, 0x6e,
0xad, 0x6c, 0xdb, 0x13, 0xff, 0x0c, 0xb7, 0x95, 0x12, 0xe4, 0x11, 0x00, 0x67, 0x62, 0x18, 0x84,
0xc2, 0x0b, 0xfc, 0x6e, 0x1d, 0xe5, 0xb7, 0xf3, 0xf2, 0x4f, 0x99, 0xf8, 0x29, 0xb2, 0x07, 0x2b,
0xb6, 0xc9, 0x63, 0x42, 0x6a, 0x7a, 0xbe, 0x27, 0x86, 0xe3, 0x09, 0xf5, 0xfc, 0x6e, 0xa3, 0x4c,
0xf3, 0xc4, 0xf7, 0xc4, 0xb1, 0x64, 0x4b, 0x4d, 0x2f, 0x26, 0xa4, 0x29, 0x9f, 0xcf, 0x59, 0x74,
0xd1, 0x6d, 0x96, 0x99, 0xf2, 0x33, 0xc9, 0x92, 0xa6, 0xa0, 0x0c, 0xf9, 0x10, 0x56, 0x47, 0xcc,
0xf5, 0xfc, 0xe1, 0x68, 0x1a, 0x8c, 0x5f, 0x74, 0x5b, 0xa8, 0xd2, 0xcd, 0xab, 0xf4, 0xa5, 0x40,
0x5f, 0xf2, 0x07, 0x2b, 0x36, 0x8c, 0x12, 0x8a, 0x1c, 0x42, 0x6b, 0x3c, 0x61, 0xe3, 0x17, 0x43,
0xb1, 0xe8, 0x9a, 0xa8, 0x79, 0x2b, 0xaf, 0x79, 0x2c, 0xb9, 0xcf, 0x16, 0x83, 0x15, 0xbb, 0x39,
0x56, 0x4b, 0xf2, 0x00, 0x4c, 0xe6, 0x3b, 0xfa, 0xb8, 0x55, 0x54, 0xda, 0x2a, 0xfc, 0x2e, 0xbe,
0x13, 0x1f, 0xd6, 0x62, 0x7a, 0x4d, 0xf6, 0xa1, 0x21, 0x7f, 0x6b, 0x4f, 0x74, 0xd7, 0x50, 0xe7,
0x66, 0xe1, 0x20, 0xe4, 0x0d, 0x56, 0x6c, 0x2d, 0x25, 0xdd, 0xe7, 0xb0, 0xa9, 0x77, 0xce, 0x22,
0x79, 0xb9, 0xcd, 0x32, 0xf7, 0x7d, 0xac, 0xf8, 0x78, 0x3d, 0xd3, 0x89, 0x89, 0x7e, 0x13, 0xea,
0xe7, 0x74, 0x3a, 0x67, 0xd6, 0xdb, 0xb0, 0x9a, 0x89, 0x14, 0xd2, 0x85, 0xe6, 0x8c, 0x71, 0x4e,
0x5d, 0xd6, 0x35, 0xee, 0x1a, 0xbb, 0xa6, 0x1d, 0x93, 0xd6, 0x06, 0xac, 0x65, 0xe3, 0x24, 0xa3,
0x28, 0x63, 0x41, 0x2a, 0x9e, 0xb3, 0x88, 0xcb, 0x00, 0xd0, 0x8a, 0x9a, 0xb4, 0x3e, 0x80, 0x4e,
0x31, 0x08, 0x48, 0x07, 0xaa, 0x2f, 0xd8, 0x85, 0x96, 0x94, 0x4b, 0x72, 0x53, 0x5f, 0x08, 0xa3,
0xd8, 0xb4, 0xf5, 0xed, 0xfe, 0x61, 0x24, 0xca, 0x49, 0x1c, 0x10, 0x02, 0x35, 0xe1, 0xcd, 0xd4,
0x05, 0xab, 0x36, 0xae, 0xc9, 0x6d, 0xf9, 0x23, 0x51, 0xcf, 0x1f, 0x7a, 0x8e, 0xde, 0xa1, 0x89,
0xf4, 0x89, 0x43, 0x8e, 0xa0, 0x33, 0x0e, 0x7c, 0xce, 0x7c, 0x3e, 0xe7, 0xc3, 0x90, 0x46, 0x74,
0xc6, 0x75, 0xfc, 0xc7, 0x3f, 0xc9, 0x71, 0xcc, 0x3e, 0x45, 0xae, 0xdd, 0x1e, 0xe7, 0x3f, 0x90,
0x87, 0x00, 0xe7, 0x74, 0xea, 0x39, 0x54, 0x04, 0x11, 0xef, 0xd6, 0xee, 0x56, 0x77, 0x57, 0x0f,
0x3b, 0x5a, 0xf9, 0x79, 0xcc, 0xe8, 0xd7, 0xbe, 0x7a, 0x75, 0x67, 0xc5, 0xce, 0x48, 0x92, 0x7b,
0xd0, 0xa6, 0x61, 0x38, 0xe4, 0x82, 0x0a, 0x36, 0x1c, 0x5d, 0x08, 0xc6, 0x31, 0x3b, 0xd6, 0xec,
0x75, 0x1a, 0x86, 0x4f, 0xe5, 0xd7, 0xbe, 0xfc, 0x68, 0x39, 0x89, 0x6f, 0x31, 0x70, 0xa5, 0x85,
0x0e, 0x15, 0x14, 0x2d, 0x5c, 0xb3, 0x71, 0x2d, 0xbf, 0x85, 0x54, 0x4c, 0xb4, 0x75, 0xb8, 0x26,
0x5b, 0xd0, 0x98, 0x30, 0xcf, 0x9d, 0x08, 0x34, 0xa8, 0x6a, 0x6b, 0x4a, 0x3a, 0x33, 0x8c, 0x82,
0x73, 0x86, 0xb9, 0xdb, 0xb2, 0x15, 0x61, 0xfd, 0xd5, 0x80, 0x1b, 0x57, 0x82, 0x5d, 0xee, 0x3b,
0xa1, 0x7c, 0x12, 0x9f, 0x25, 0xd7, 0xe4, 0x1d, 0xb9, 0x2f, 0x75, 0x58, 0xa4, 0x31, 0x65, 0x5d,
0xdb, 0x3a, 0xc0, 0x8f, 0xda, 0x50, 0x2d, 0x42, 0xbe, 0x9f, 0x73, 0x4e, 0x15, 0x9d, 0x13, 0x07,
0xe1, 0x53, 0xcf, 0xf5, 0x3d, 0xdf, 0x7d, 0x9d, 0x8f, 0x06, 0x70, 0x73, 0x74, 0xf1, 0x92, 0xfa,
0xc2, 0xf3, 0xd9, 0xf0, 0x8a, 0x97, 0xdb, 0x7a, 0xa3, 0x27, 0xe7, 0x9e, 0xc3, 0xfc, 0x31, 0xd3,
0x1b, 0x6c, 0x26, 0x2a, 0xc9, 0xd6, 0xdc, 0xba, 0x0b, 0x1b, 0xf9, 0x8c, 0x24, 0x1b, 0x50, 0x11,
0x0b, 0x6d, 0x59, 0x45, 0x2c, 0x2c, 0x2b, 0x89, 0xa6, 0x24, 0x2d, 0xae, 0xc8, 0xdc, 0x87, 0x76,
0x21, 0x45, 0x33, 0x6e, 0x36, 0xb2, 0x6e, 0xb6, 0xda, 0xb0, 0x9e, 0xcb, 0x4c, 0xeb, 0xcb, 0x3a,
0xb4, 0x6c, 0xc6, 0x43, 0x19, 0x3e, 0xe4, 0x11, 0x98, 0x6c, 0x31, 0x66, 0x0a, 0x14, 0x8d, 0x02,
0xe4, 0x28, 0x99, 0x27, 0x31, 0x5f, 0x26, 0x67, 0x22, 0x4c, 0xee, 0xe7, 0x00, 0x7d, 0xb3, 0xa8,
0x94, 0x45, 0xf4, 0xbd, 0x3c, 0xa2, 0xdf, 0x2c, 0xc8, 0x16, 0x20, 0xfd, 0x7e, 0x0e, 0xd2, 0x8b,
0x1b, 0xe7, 0x30, 0xfd, 0x71, 0x09, 0xa6, 0x17, 0xaf, 0xbf, 0x04, 0xd4, 0x1f, 0x97, 0x80, 0x7a,
0xf7, 0xca, 0x59, 0xa5, 0xa8, 0xbe, 0x97, 0x47, 0xf5, 0xa2, 0x39, 0x05, 0x58, 0xff, 0x5e, 0x19,
0xac, 0xdf, 0x2e, 0xe8, 0x2c, 0xc5, 0xf5, 0xf7, 0xae, 0xe0, 0xfa, 0x56, 0x41, 0xb5, 0x04, 0xd8,
0x1f, 0xe7, 0x10, 0x17, 0x4a, 0x6d, 0x2b, 0x87, 0x5c, 0xf2, 0xf0, 0x6a, 0x4d, 0xd8, 0x2e, 0xfe,
0xb4, 0x65, 0x45, 0xe1, 0xa0, 0x50, 0x14, 0x6e, 0x15, 0x6f, 0x59, 0xa8, 0x0a, 0x29, 0xb6, 0xdf,
0x97, 0xf9, 0x5e, 0x88, 0x34, 0x89, 0x0d, 0x2c, 0x8a, 0x82, 0x48, 0x83, 0xaf, 0x22, 0xac, 0x5d,
0x89, 0x40, 0x69, 0x7c, 0xbd, 0xa6, 0x0e, 0x60, 0xd0, 0x67, 0xa2, 0xcb, 0xfa, 0xb5, 0x91, 0xea,
0x62, 0x29, 0xc8, 0xa2, 0x97, 0xa9, 0xd1, 0x2b, 0x53, 0x1e, 0x2a, 0xb9, 0xf2, 0x40, 0xbe, 0x0d,
0x37, 0xa6, 0x94, 0x0b, 0xe5, 0x97, 0x61, 0x0e, 0xce, 0xda, 0x92, 0xa1, 0x1c, 0xa2, 0x70, 0xed,
0x5d, 0xd8, 0xcc, 0xc8, 0x4a, 0x68, 0x45, 0xe8, 0xaa, 0x61, 0xf2, 0x76, 0x12, 0xe9, 0xa3, 0x30,
0x1c, 0x50, 0x3e, 0xb1, 0x7e, 0x9c, 0xda, 0x9f, 0x96, 0x1e, 0x02, 0xb5, 0x71, 0xe0, 0x28, 0xb3,
0xd6, 0x6d, 0x5c, 0xcb, 0x72, 0x34, 0x0d, 0x5c, 0x3c, 0xd5, 0xb4, 0xe5, 0x52, 0x4a, 0x25, 0x99,
0x62, 0xaa, 0x94, 0xb0, 0x7e, 0x65, 0xa4, 0xfb, 0xa5, 0xd5, 0xa8, 0xac, 0xbc, 0x18, 0xff, 0x4b,
0x79, 0xa9, 0x5c, 0xb7, 0xbc, 0x58, 0x7f, 0x30, 0xd2, 0xdf, 0x22, 0x29, 0x1c, 0x6f, 0x66, 0x9c,
0x0c, 0x0b, 0xcf, 0x77, 0xd8, 0x02, 0x53, 0xbd, 0x6a, 0x2b, 0x22, 0xae, 0xd3, 0x0d, 0x74, 0x70,
0xbe, 0x4e, 0x37, 0xf1, 0x9b, 0x22, 0x74, 0xc1, 0x09, 0xce, 0x30, 0x07, 0xd7, 0x6c, 0x45, 0x64,
0x70, 0xd3, 0xcc, 0xe1, 0xe6, 0x29, 0x90, 0xab, 0xd9, 0x49, 0x3e, 0x80, 0x9a, 0xa0, 0xae, 0x74,
0x9e, 0xb4, 0x7f, 0x63, 0x5f, 0x75, 0xbd, 0xfb, 0x9f, 0x3e, 0x3f, 0xa5, 0x5e, 0xd4, 0xdf, 0x92,
0xd6, 0xff, 0xf3, 0xd5, 0x9d, 0x0d, 0x29, 0xb3, 0x17, 0xcc, 0x3c, 0xc1, 0x66, 0xa1, 0xb8, 0xb0,
0x51, 0xc7, 0xfa, 0xb7, 0x21, 0x51, 0x3b, 0x97, 0xb5, 0xa5, 0xbe, 0x88, 0x43, 0xb3, 0x92, 0x29,
0xac, 0xd7, 0xf3, 0xcf, 0x37, 0x01, 0x5c, 0xca, 0x87, 0x5f, 0x50, 0x5f, 0x30, 0x47, 0x3b, 0xc9,
0x74, 0x29, 0xff, 0x39, 0x7e, 0x90, 0xfd, 0x87, 0x64, 0xcf, 0x39, 0x73, 0xd0, 0x5b, 0x55, 0xbb,
0xe9, 0x52, 0xfe, 0x19, 0x67, 0x4e, 0x62, 0x57, 0xf3, 0xbf, 0xb7, 0x8b, 0xec, 0x42, 0xf5, 0x8c,
0x31, 0x8d, 0x6c, 0x9d, 0x44, 0xf5, 0xe4, 0xe1, 0xfb, 0xa8, 0xac, 0x42, 0x42, 0x8a, 0x58, 0xbf,
0xac, 0xa4, 0xc1, 0x99, 0x16, 0xb7, 0xff, 0x2f, 0x1f, 0x7c, 0x8d, 0xdd, 0x62, 0x1e, 0x4a, 0xc9,
0x31, 0xdc, 0x48, 0x52, 0x66, 0x38, 0x0f, 0x1d, 0x2a, 0xbb, 0x30, 0xe3, 0xb5, 0x39, 0xd6, 0x49,
0x14, 0x3e, 0x53, 0xf2, 0xe4, 0x27, 0xb0, 0x5d, 0x48, 0xf2, 0x64, 0xab, 0xca, 0x6b, 0x73, 0xfd,
0x56, 0x3e, 0xd7, 0xe3, 0xfd, 0x62, 0x7f, 0x54, 0xdf, 0x20, 0xd6, 0xbf, 0x25, 0xdb, 0x9c, 0x2c,
0xf4, 0x97, 0xfd, 0xa2, 0xd6, 0x6f, 0x0c, 0x68, 0x17, 0x2e, 0x43, 0x0e, 0x00, 0x14, 0x72, 0x72,
0xef, 0x25, 0xd3, 0x20, 0x15, 0xfb, 0x00, 0x9d, 0xf5, 0xd4, 0x7b, 0xc9, 0x6c, 0x73, 0x14, 0x2f,
0xc9, 0x3d, 0x68, 0x8a, 0x85, 0x92, 0xce, 0x37, 0x82, 0xcf, 0x16, 0x28, 0xda, 0x10, 0xf8, 0x9f,
0x3c, 0x80, 0x35, 0xb5, 0xb1, 0x1b, 0x70, 0xee, 0x85, 0xba, 0x19, 0x21, 0xd9, 0xad, 0x3f, 0x41,
0x8e, 0xbd, 0x3a, 0x4a, 0x09, 0xeb, 0x17, 0x60, 0x26, 0xc7, 0x92, 0xb7, 0xc0, 0x9c, 0xd1, 0x85,
0xee, 0x92, 0xe5, 0xdd, 0xea, 0x76, 0x6b, 0x46, 0x17, 0xd8, 0x20, 0x93, 0x6d, 0x68, 0x4a, 0xa6,
0x58, 0x28, 0x7f, 0xd7, 0xed, 0xc6, 0x8c, 0x2e, 0x9e, 0x2d, 0x12, 0x86, 0x4b, 0x79, 0xdc, 0x02,
0xcf, 0xe8, 0xe2, 0x13, 0xca, 0xad, 0x8f, 0xa0, 0xa1, 0x2e, 0x79, 0xad, 0x8d, 0xa5, 0x7e, 0x25,
0xa7, 0xff, 0x03, 0x58, 0xcd, 0xdc, 0x9b, 0x7c, 0x17, 0x6e, 0x29, 0x0b, 0x43, 0x1a, 0x09, 0xf4,
0x48, 0x6e, 0x43, 0x82, 0xcc, 0x53, 0x1a, 0x09, 0x79, 0xa4, 0x6a, 0xea, 0x7f, 0x5f, 0x81, 0x86,
0x6a, 0x98, 0xc9, 0xbd, 0xcc, 0x74, 0x82, 0x55, 0xb1, 0xbf, 0x7a, 0xf9, 0xea, 0x4e, 0x13, 0x0b,
0xc8, 0xc9, 0xc7, 0xe9, 0xa8, 0x92, 0x02, 0x66, 0x25, 0xd7, 0xcf, 0xc7, 0x13, 0x4f, 0x35, 0x33,
0xf1, 0x6c, 0x43, 0xd3, 0x9f, 0xcf, 0xd0, 0x25, 0x35, 0xe5, 0x12, 0x7f, 0x3e, 0x93, 0x2e, 0x79,
0x0b, 0x4c, 0x11, 0x08, 0x3a, 0x45, 0x96, 0x4a, 0xd2, 0x16, 0x7e, 0x90, 0xcc, 0x7b, 0xd0, 0xce,
0x56, 0x5b, 0x59, 0x3d, 0x15, 0xb8, 0xaf, 0xa7, 0xb5, 0x56, 0x4e, 0x00, 0x6f, 0x43, 0x3b, 0x2d,
0x34, 0x4a, 0x4e, 0x01, 0xfe, 0x46, 0xfa, 0x19, 0x05, 0x6f, 0x43, 0x2b, 0xa9, 0xc3, 0x0a, 0xfc,
0x9b, 0x54, 0x95, 0x5f, 0x39, 0x38, 0x87, 0x51, 0x10, 0x06, 0x9c, 0x45, 0xba, 0xc1, 0x5a, 0x96,
0x70, 0x89, 0x9c, 0xe5, 0x81, 0x99, 0x30, 0x65, 0xd3, 0x40, 0x1d, 0x27, 0x62, 0x9c, 0xeb, 0xfe,
0x3c, 0x26, 0xc9, 0x1e, 0x34, 0xc3, 0xf9, 0x68, 0x28, 0x6b, 0x53, 0x3e, 0x30, 0x4f, 0xe7, 0xa3,
0x4f, 0xd9, 0x45, 0x3c, 0xa1, 0x84, 0x48, 0x61, 0x75, 0x0a, 0xbe, 0x60, 0x91, 0xf6, 0x9f, 0x22,
0x2c, 0x01, 0x9d, 0xe2, 0x78, 0x42, 0xde, 0x07, 0x33, 0xb1, 0xaf, 0x90, 0x20, 0xc5, 0x3b, 0xa7,
0x82, 0xb2, 0x85, 0xe1, 0x9e, 0xeb, 0x33, 0x67, 0x98, 0xfa, 0x16, 0xef, 0xd5, 0xb2, 0xdb, 0x8a,
0xf1, 0xa3, 0xd8, 0xb9, 0xd6, 0x77, 0xa0, 0xa1, 0xee, 0x88, 0x3f, 0xea, 0x45, 0x18, 0xf7, 0x57,
0xb8, 0x2e, 0xcd, 0xe4, 0xdf, 0x19, 0xd0, 0x8a, 0xc7, 0x9f, 0x52, 0xa5, 0xdc, 0xa5, 0x2b, 0xd7,
0xbd, 0xf4, 0xb2, 0xd9, 0x31, 0x8e, 0xb5, 0x5a, 0x26, 0xd6, 0xf6, 0x80, 0xa8, 0x90, 0x3a, 0x0f,
0x84, 0xe7, 0xbb, 0x43, 0xe5, 0x4d, 0x15, 0x5b, 0x1d, 0xe4, 0x3c, 0x47, 0xc6, 0xa9, 0xfc, 0x7e,
0xf8, 0x65, 0x1d, 0xda, 0x47, 0xfd, 0xe3, 0x93, 0xa3, 0x30, 0x9c, 0x7a, 0x63, 0x8a, 0x5d, 0xd7,
0x01, 0xd4, 0xb0, 0xaf, 0x2c, 0x79, 0x9d, 0xea, 0x95, 0x0d, 0x38, 0xe4, 0x10, 0xea, 0xd8, 0x5e,
0x92, 0xb2, 0x47, 0xaa, 0x5e, 0xe9, 0x9c, 0x23, 0x0f, 0x51, 0x0d, 0xe8, 0xd5, 0xb7, 0xaa, 0x5e,
0xd9, 0xb0, 0x43, 0x3e, 0x02, 0x33, 0x6d, 0x0c, 0x97, 0xbd, 0x58, 0xf5, 0x96, 0x8e, 0x3d, 0x52,
0x3f, 0xad, 0xb5, 0xcb, 0x1e, 0x5e, 0x7a, 0x4b, 0xe7, 0x03, 0xf2, 0x08, 0x9a, 0x71, 0xb7, 0x52,
0xfe, 0xa6, 0xd4, 0x5b, 0x32, 0x92, 0x48, 0xf7, 0xa8, 0x8e, 0xaf, 0xec, 0xe1, 0xab, 0x57, 0x3a,
0x37, 0x91, 0x07, 0xd0, 0xd0, 0x05, 0xa3, 0xf4, 0x5d, 0xa9, 0x57, 0x3e, 0x58, 0x48, 0x23, 0xd3,
0x6e, 0x77, 0xd9, 0xe3, 0x5c, 0x6f, 0xe9, 0x80, 0x47, 0x8e, 0x00, 0x32, 0x5d, 0xde, 0xd2, 0x57,
0xb7, 0xde, 0xf2, 0xc1, 0x8d, 0x7c, 0x08, 0xad, 0x74, 0x18, 0x2f, 0x7f, 0x47, 0xeb, 0x2d, 0x9b,
0xa5, 0xfa, 0xdf, 0xf8, 0xd7, 0xdf, 0x77, 0x8c, 0xdf, 0x5e, 0xee, 0x18, 0x7f, 0xbc, 0xdc, 0x31,
0xbe, 0xba, 0xdc, 0x31, 0xfe, 0x72, 0xb9, 0x63, 0xfc, 0xed, 0x72, 0xc7, 0xf8, 0xd3, 0xd7, 0x3b,
0xc6, 0xa8, 0x81, 0xef, 0xa9, 0xef, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0xf4, 0x59, 0x8b, 0xa6,
0xd9, 0x15, 0x00, 0x00,
// 1871 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4b, 0x6f, 0x1c, 0xc7,
0x11, 0xe6, 0xec, 0x7b, 0x8a, 0x8f, 0xa5, 0x9a, 0x12, 0xb9, 0x5a, 0x27, 0x94, 0x30, 0x08, 0x64,
0x2a, 0xa6, 0xc9, 0x84, 0x8e, 0x0c, 0xc9, 0x4e, 0x8c, 0x70, 0x69, 0xc5, 0x4b, 0x38, 0x0f, 0x66,
0x24, 0x2b, 0x40, 0x2e, 0x8b, 0xde, 0x99, 0xe6, 0x6c, 0x43, 0xbb, 0x33, 0xe3, 0xe9, 0x5e, 0x7a,
0xa9, 0xdf, 0x60, 0xe4, 0x9a, 0x73, 0x6e, 0x39, 0xe5, 0x10, 0x20, 0x40, 0x8e, 0x39, 0x05, 0x3e,
0xe6, 0x12, 0xe4, 0x14, 0x21, 0xa1, 0x73, 0xca, 0x2f, 0xc8, 0x31, 0xe8, 0xea, 0x79, 0x73, 0x56,
0x10, 0x94, 0x5b, 0x2e, 0x64, 0xd7, 0x54, 0x55, 0x77, 0x57, 0x6d, 0xd5, 0x57, 0x55, 0x0d, 0xdb,
0x74, 0xec, 0xf0, 0x43, 0x79, 0x19, 0x32, 0xa1, 0xff, 0x1e, 0x84, 0x51, 0x20, 0x03, 0xd2, 0x44,
0xa2, 0xff, 0xae, 0xc7, 0xe5, 0x64, 0x3e, 0x3e, 0x70, 0x82, 0xd9, 0xa1, 0x17, 0x78, 0xc1, 0x21,
0x72, 0xc7, 0xf3, 0x73, 0xa4, 0x90, 0xc0, 0x95, 0xd6, 0xea, 0x3f, 0xcc, 0x89, 0x4b, 0xe6, 0xbb,
0x2c, 0x9a, 0x71, 0x5f, 0xe6, 0x97, 0x53, 0x3e, 0x16, 0x87, 0x4e, 0x30, 0x9b, 0x05, 0x7e, 0xfe,
0x3c, 0xeb, 0xcf, 0x0d, 0x68, 0xdb, 0xec, 0xf3, 0x39, 0x13, 0x92, 0xec, 0x41, 0x83, 0x39, 0x93,
0xa0, 0x57, 0xbb, 0x6b, 0xec, 0xad, 0x1e, 0x91, 0x03, 0x2d, 0x17, 0x73, 0x1f, 0x3b, 0x93, 0x60,
0xb8, 0x62, 0xa3, 0x04, 0x79, 0x07, 0x9a, 0xe7, 0xd3, 0xb9, 0x98, 0xf4, 0xea, 0x28, 0xba, 0x55,
0x14, 0xfd, 0x91, 0x62, 0x0d, 0x57, 0x6c, 0x2d, 0xa3, 0xb6, 0xe5, 0xfe, 0x79, 0xd0, 0x6b, 0x54,
0x6d, 0x7b, 0xea, 0x9f, 0xe3, 0xb6, 0x4a, 0x82, 0x3c, 0x04, 0x10, 0x4c, 0x8e, 0x82, 0x50, 0xf2,
0xc0, 0xef, 0x35, 0x51, 0x7e, 0xa7, 0x28, 0xff, 0x84, 0xc9, 0x9f, 0x21, 0x7b, 0xb8, 0x62, 0x9b,
0x22, 0x21, 0x94, 0x26, 0xf7, 0xb9, 0x1c, 0x39, 0x13, 0xca, 0xfd, 0x5e, 0xab, 0x4a, 0xf3, 0xd4,
0xe7, 0xf2, 0x44, 0xb1, 0x95, 0x26, 0x4f, 0x08, 0x65, 0xca, 0xe7, 0x73, 0x16, 0x5d, 0xf6, 0xda,
0x55, 0xa6, 0xfc, 0x5c, 0xb1, 0x94, 0x29, 0x28, 0x43, 0x3e, 0x84, 0xd5, 0x31, 0xf3, 0xb8, 0x3f,
0x1a, 0x4f, 0x03, 0xe7, 0x79, 0xaf, 0x83, 0x2a, 0xbd, 0xa2, 0xca, 0x40, 0x09, 0x0c, 0x14, 0x7f,
0xb8, 0x62, 0xc3, 0x38, 0xa5, 0xc8, 0x11, 0x74, 0x9c, 0x09, 0x73, 0x9e, 0x8f, 0xe4, 0xa2, 0x67,
0xa2, 0xe6, 0xad, 0xa2, 0xe6, 0x89, 0xe2, 0x3e, 0x5d, 0x0c, 0x57, 0xec, 0xb6, 0xa3, 0x97, 0xe4,
0x01, 0x98, 0xcc, 0x77, 0xe3, 0xe3, 0x56, 0x51, 0x69, 0xbb, 0xf4, 0xbb, 0xf8, 0x6e, 0x72, 0x58,
0x87, 0xc5, 0x6b, 0x72, 0x00, 0x2d, 0xf5, 0x5b, 0x73, 0xd9, 0x5b, 0x43, 0x9d, 0x9b, 0xa5, 0x83,
0x90, 0x37, 0x5c, 0xb1, 0x63, 0x29, 0xe5, 0x3e, 0x97, 0x4d, 0xf9, 0x05, 0x8b, 0xd4, 0xe5, 0xb6,
0xaa, 0xdc, 0xf7, 0xb1, 0xe6, 0xe3, 0xf5, 0x4c, 0x37, 0x21, 0x06, 0x6d, 0x68, 0x5e, 0xd0, 0xe9,
0x9c, 0x59, 0x6f, 0xc3, 0x6a, 0x2e, 0x52, 0x48, 0x0f, 0xda, 0x33, 0x26, 0x04, 0xf5, 0x58, 0xcf,
0xb8, 0x6b, 0xec, 0x99, 0x76, 0x42, 0x5a, 0x1b, 0xb0, 0x96, 0x8f, 0x93, 0x9c, 0xa2, 0x8a, 0x05,
0xa5, 0x78, 0xc1, 0x22, 0xa1, 0x02, 0x20, 0x56, 0x8c, 0x49, 0xeb, 0x03, 0xd8, 0x2c, 0x07, 0x01,
0xd9, 0x84, 0xfa, 0x73, 0x76, 0x19, 0x4b, 0xaa, 0x25, 0xb9, 0x19, 0x5f, 0x08, 0xa3, 0xd8, 0xb4,
0xe3, 0xdb, 0xfd, 0xcb, 0x48, 0x95, 0xd3, 0x38, 0x20, 0x04, 0x1a, 0x92, 0xcf, 0xf4, 0x05, 0xeb,
0x36, 0xae, 0xc9, 0x6d, 0xf5, 0x23, 0x51, 0xee, 0x8f, 0xb8, 0x1b, 0xef, 0xd0, 0x46, 0xfa, 0xd4,
0x25, 0xc7, 0xb0, 0xe9, 0x04, 0xbe, 0x60, 0xbe, 0x98, 0x8b, 0x51, 0x48, 0x23, 0x3a, 0x13, 0x71,
0xfc, 0x27, 0x3f, 0xc9, 0x49, 0xc2, 0x3e, 0x43, 0xae, 0xdd, 0x75, 0x8a, 0x1f, 0xc8, 0xfb, 0x00,
0x17, 0x74, 0xca, 0x5d, 0x2a, 0x83, 0x48, 0xf4, 0x1a, 0x77, 0xeb, 0x7b, 0xab, 0x47, 0x9b, 0xb1,
0xf2, 0xb3, 0x84, 0x31, 0x68, 0x7c, 0xf5, 0xf2, 0xce, 0x8a, 0x9d, 0x93, 0x24, 0xf7, 0xa0, 0x4b,
0xc3, 0x70, 0x24, 0x24, 0x95, 0x6c, 0x34, 0xbe, 0x94, 0x4c, 0x60, 0x76, 0xac, 0xd9, 0xeb, 0x34,
0x0c, 0x9f, 0xa8, 0xaf, 0x03, 0xf5, 0xd1, 0x72, 0x53, 0xdf, 0x62, 0xe0, 0x2a, 0x0b, 0x5d, 0x2a,
0x29, 0x5a, 0xb8, 0x66, 0xe3, 0x5a, 0x7d, 0x0b, 0xa9, 0x9c, 0xc4, 0xd6, 0xe1, 0x9a, 0x6c, 0x43,
0x6b, 0xc2, 0xb8, 0x37, 0x91, 0x68, 0x50, 0xdd, 0x8e, 0x29, 0xe5, 0xcc, 0x30, 0x0a, 0x2e, 0x18,
0xe6, 0x6e, 0xc7, 0xd6, 0x84, 0xf5, 0x77, 0x03, 0x6e, 0x5c, 0x0b, 0x76, 0xb5, 0xef, 0x84, 0x8a,
0x49, 0x72, 0x96, 0x5a, 0x93, 0x77, 0xd4, 0xbe, 0xd4, 0x65, 0x51, 0x8c, 0x29, 0xeb, 0xb1, 0xad,
0x43, 0xfc, 0x18, 0x1b, 0x1a, 0x8b, 0x90, 0x1f, 0x14, 0x9c, 0x53, 0x47, 0xe7, 0x24, 0x41, 0xf8,
0x84, 0x7b, 0x3e, 0xf7, 0xbd, 0x57, 0xf9, 0x68, 0x08, 0x37, 0xc7, 0x97, 0x2f, 0xa8, 0x2f, 0xb9,
0xcf, 0x46, 0xd7, 0xbc, 0xdc, 0x8d, 0x37, 0x7a, 0x7c, 0xc1, 0x5d, 0xe6, 0x3b, 0x2c, 0xde, 0x60,
0x2b, 0x55, 0x49, 0xb7, 0x16, 0xd6, 0x5d, 0xd8, 0x28, 0x66, 0x24, 0xd9, 0x80, 0x9a, 0x5c, 0xc4,
0x96, 0xd5, 0xe4, 0xc2, 0xb2, 0xd2, 0x68, 0x4a, 0xd3, 0xe2, 0x9a, 0xcc, 0x7d, 0xe8, 0x96, 0x52,
0x34, 0xe7, 0x66, 0x23, 0xef, 0x66, 0xab, 0x0b, 0xeb, 0x85, 0xcc, 0xb4, 0xbe, 0x6c, 0x42, 0xc7,
0x66, 0x22, 0x54, 0xe1, 0x43, 0x1e, 0x82, 0xc9, 0x16, 0x0e, 0xd3, 0xa0, 0x68, 0x94, 0x20, 0x47,
0xcb, 0x3c, 0x4e, 0xf8, 0x2a, 0x39, 0x53, 0x61, 0x72, 0xbf, 0x00, 0xe8, 0x5b, 0x65, 0xa5, 0x3c,
0xa2, 0xef, 0x17, 0x11, 0xfd, 0x66, 0x49, 0xb6, 0x04, 0xe9, 0xf7, 0x0b, 0x90, 0x5e, 0xde, 0xb8,
0x80, 0xe9, 0x8f, 0x2a, 0x30, 0xbd, 0x7c, 0xfd, 0x25, 0xa0, 0xfe, 0xa8, 0x02, 0xd4, 0x7b, 0xd7,
0xce, 0xaa, 0x44, 0xf5, 0xfd, 0x22, 0xaa, 0x97, 0xcd, 0x29, 0xc1, 0xfa, 0xf7, 0xab, 0x60, 0xfd,
0x76, 0x49, 0x67, 0x29, 0xae, 0xbf, 0x77, 0x0d, 0xd7, 0xb7, 0x4b, 0xaa, 0x15, 0xc0, 0xfe, 0xa8,
0x80, 0xb8, 0x50, 0x69, 0x5b, 0x35, 0xe4, 0x92, 0xf7, 0xaf, 0xd7, 0x84, 0x9d, 0xf2, 0x4f, 0x5b,
0x55, 0x14, 0x0e, 0x4b, 0x45, 0xe1, 0x56, 0xf9, 0x96, 0xa5, 0xaa, 0x90, 0x61, 0xfb, 0x7d, 0x95,
0xef, 0xa5, 0x48, 0x53, 0xd8, 0xc0, 0xa2, 0x28, 0x88, 0x62, 0xf0, 0xd5, 0x84, 0xb5, 0xa7, 0x10,
0x28, 0x8b, 0xaf, 0x57, 0xd4, 0x01, 0x0c, 0xfa, 0x5c, 0x74, 0x59, 0xbf, 0x36, 0x32, 0x5d, 0x2c,
0x05, 0x79, 0xf4, 0x32, 0x63, 0xf4, 0xca, 0x95, 0x87, 0x5a, 0xa1, 0x3c, 0x90, 0x6f, 0xc3, 0x8d,
0x29, 0x15, 0x52, 0xfb, 0x65, 0x54, 0x80, 0xb3, 0xae, 0x62, 0x68, 0x87, 0x68, 0x5c, 0x7b, 0x17,
0xb6, 0x72, 0xb2, 0x0a, 0x5a, 0x11, 0xba, 0x1a, 0x98, 0xbc, 0x9b, 0xa9, 0xf4, 0x71, 0x18, 0x0e,
0xa9, 0x98, 0x58, 0x3f, 0xc9, 0xec, 0xcf, 0x4a, 0x0f, 0x81, 0x86, 0x13, 0xb8, 0xda, 0xac, 0x75,
0x1b, 0xd7, 0xaa, 0x1c, 0x4d, 0x03, 0x0f, 0x4f, 0x35, 0x6d, 0xb5, 0x54, 0x52, 0x69, 0xa6, 0x98,
0x3a, 0x25, 0xac, 0x5f, 0x19, 0xd9, 0x7e, 0x59, 0x35, 0xaa, 0x2a, 0x2f, 0xc6, 0xff, 0x52, 0x5e,
0x6a, 0xaf, 0x5b, 0x5e, 0xac, 0x3f, 0x18, 0xd9, 0x6f, 0x91, 0x16, 0x8e, 0x37, 0x33, 0x4e, 0x85,
0x05, 0xf7, 0x5d, 0xb6, 0xc0, 0x54, 0xaf, 0xdb, 0x9a, 0x48, 0xea, 0x74, 0x0b, 0x1d, 0x5c, 0xac,
0xd3, 0x6d, 0xfc, 0xa6, 0x89, 0xb8, 0xe0, 0x04, 0xe7, 0x98, 0x83, 0x6b, 0xb6, 0x26, 0x72, 0xb8,
0x69, 0x16, 0x70, 0xf3, 0x0c, 0xc8, 0xf5, 0xec, 0x24, 0x1f, 0x40, 0x43, 0x52, 0x4f, 0x39, 0x4f,
0xd9, 0xbf, 0x71, 0xa0, 0xbb, 0xde, 0x83, 0x4f, 0x9f, 0x9d, 0x51, 0x1e, 0x0d, 0xb6, 0x95, 0xf5,
0xff, 0x7e, 0x79, 0x67, 0x43, 0xc9, 0xec, 0x07, 0x33, 0x2e, 0xd9, 0x2c, 0x94, 0x97, 0x36, 0xea,
0x58, 0x7f, 0x35, 0x14, 0x6a, 0x17, 0xb2, 0xb6, 0xd2, 0x17, 0x49, 0x68, 0xd6, 0x72, 0x85, 0xf5,
0xf5, 0xfc, 0xf3, 0x4d, 0x00, 0x8f, 0x8a, 0xd1, 0x17, 0xd4, 0x97, 0xcc, 0x8d, 0x9d, 0x64, 0x7a,
0x54, 0xfc, 0x02, 0x3f, 0xa8, 0xfe, 0x43, 0xb1, 0xe7, 0x82, 0xb9, 0xe8, 0xad, 0xba, 0xdd, 0xf6,
0xa8, 0xf8, 0x4c, 0x30, 0x37, 0xb5, 0xab, 0xfd, 0x06, 0x76, 0xfd, 0x2d, 0x17, 0x72, 0x59, 0xc9,
0xfa, 0x7f, 0xb0, 0xec, 0x6b, 0xec, 0xec, 0x8a, 0xb0, 0x47, 0x4e, 0xe0, 0x46, 0x1a, 0xde, 0xa3,
0x79, 0xe8, 0x52, 0xd5, 0x31, 0x19, 0xaf, 0xcc, 0x87, 0xcd, 0x54, 0xe1, 0x33, 0x2d, 0x4f, 0x7e,
0x0a, 0x3b, 0xa5, 0x84, 0x4c, 0xb7, 0xaa, 0xbd, 0x32, 0x2f, 0x6f, 0x15, 0xf3, 0x32, 0xd9, 0x2f,
0xb1, 0xb2, 0xfe, 0x06, 0x56, 0x7e, 0x4b, 0xb5, 0x24, 0x79, 0x98, 0xae, 0xfa, 0x9d, 0xac, 0xdf,
0x18, 0xd0, 0x2d, 0x5d, 0x86, 0x1c, 0x02, 0x68, 0x94, 0x13, 0xfc, 0x05, 0x8b, 0x01, 0x25, 0xf1,
0x01, 0x3a, 0xeb, 0x09, 0x7f, 0xc1, 0x6c, 0x73, 0x9c, 0x2c, 0xc9, 0x3d, 0x68, 0xcb, 0x85, 0x96,
0x2e, 0x36, 0x6d, 0x4f, 0x17, 0x28, 0xda, 0x92, 0xf8, 0x9f, 0x3c, 0x80, 0x35, 0xbd, 0xb1, 0x17,
0x08, 0xc1, 0xc3, 0xb8, 0x71, 0x20, 0xf9, 0xad, 0x3f, 0x41, 0x8e, 0xbd, 0x3a, 0xce, 0x08, 0xeb,
0x97, 0x60, 0xa6, 0xc7, 0x92, 0xb7, 0xc0, 0x9c, 0xd1, 0x45, 0xdc, 0xd1, 0xaa, 0xbb, 0x35, 0xed,
0xce, 0x8c, 0x2e, 0xb0, 0x99, 0x25, 0x3b, 0xd0, 0x56, 0x4c, 0xb9, 0xd0, 0xfe, 0x6e, 0xda, 0xad,
0x19, 0x5d, 0x3c, 0x5d, 0xa4, 0x0c, 0x8f, 0x8a, 0xa4, 0x5d, 0x9d, 0xd1, 0xc5, 0x27, 0x54, 0x58,
0x1f, 0x41, 0x4b, 0x5f, 0xf2, 0xb5, 0x36, 0x56, 0xfa, 0xb5, 0x82, 0xfe, 0x0f, 0x61, 0x35, 0x77,
0x6f, 0xf2, 0x5d, 0xb8, 0xa5, 0x2d, 0x0c, 0x69, 0x24, 0xd1, 0x23, 0x85, 0x0d, 0x09, 0x32, 0xcf,
0x68, 0x24, 0xd5, 0x91, 0xba, 0x01, 0xff, 0x7d, 0x0d, 0x5a, 0xba, 0xb9, 0x25, 0xf7, 0x72, 0x93,
0x04, 0x56, 0xb0, 0xc1, 0xea, 0xd5, 0xcb, 0x3b, 0x6d, 0x04, 0xfb, 0xd3, 0x8f, 0xb3, 0xb1, 0x22,
0x03, 0xb7, 0x5a, 0xa1, 0xf7, 0x4e, 0xa6, 0x93, 0x7a, 0x6e, 0x3a, 0xd9, 0x81, 0xb6, 0x3f, 0x9f,
0xa1, 0x4b, 0x1a, 0xda, 0x25, 0xfe, 0x7c, 0xa6, 0x5c, 0xf2, 0x16, 0x98, 0x32, 0x90, 0x74, 0x8a,
0x2c, 0x9d, 0x7a, 0x1d, 0xfc, 0xa0, 0x98, 0xf7, 0xa0, 0x9b, 0xaf, 0x8c, 0xaa, 0xd2, 0x69, 0x20,
0x5e, 0xcf, 0xea, 0xa2, 0xea, 0xd6, 0xdf, 0x86, 0x6e, 0x56, 0x14, 0xb4, 0x9c, 0x06, 0xe7, 0x8d,
0xec, 0x33, 0x0a, 0xde, 0x86, 0x4e, 0x5a, 0x33, 0x35, 0x50, 0xb7, 0xa9, 0x2e, 0x95, 0x6a, 0xc8,
0x0d, 0xa3, 0x20, 0x0c, 0x04, 0x8b, 0xe2, 0x66, 0x68, 0x59, 0xc2, 0xa5, 0x72, 0x16, 0x07, 0x33,
0x65, 0xaa, 0x02, 0x4f, 0x5d, 0x37, 0x62, 0x42, 0xc4, 0xbd, 0x74, 0x42, 0x92, 0x7d, 0x68, 0x87,
0xf3, 0xf1, 0x48, 0xd5, 0x91, 0x62, 0x60, 0x9e, 0xcd, 0xc7, 0x9f, 0xb2, 0xcb, 0x64, 0x9a, 0x08,
0x91, 0xc2, 0x4a, 0x12, 0x7c, 0xc1, 0xa2, 0xd8, 0x7f, 0x9a, 0xb0, 0x24, 0x6c, 0x96, 0x47, 0x09,
0xf2, 0x3d, 0x30, 0x53, 0xfb, 0x4a, 0x09, 0x52, 0xbe, 0x73, 0x26, 0xa8, 0xda, 0x0d, 0xc1, 0x3d,
0x9f, 0xb9, 0xa3, 0xcc, 0xb7, 0x78, 0xaf, 0x8e, 0xdd, 0xd5, 0x8c, 0x1f, 0x27, 0xce, 0xb5, 0xbe,
0x03, 0x2d, 0x7d, 0x47, 0xfc, 0x51, 0x2f, 0xc3, 0xa4, 0x17, 0xc2, 0x75, 0x65, 0x26, 0xff, 0xce,
0x80, 0x4e, 0x32, 0xaa, 0x54, 0x2a, 0x15, 0x2e, 0x5d, 0x7b, 0xdd, 0x4b, 0x2f, 0x9b, 0xf3, 0x92,
0x58, 0x6b, 0xe4, 0x62, 0x6d, 0x1f, 0x88, 0x0e, 0xa9, 0x8b, 0x40, 0x72, 0xdf, 0x1b, 0x69, 0x6f,
0xea, 0xd8, 0xda, 0x44, 0xce, 0x33, 0x64, 0x9c, 0xa9, 0xef, 0x47, 0x5f, 0x36, 0xa1, 0x7b, 0x3c,
0x38, 0x39, 0x3d, 0x0e, 0xc3, 0x29, 0x77, 0x28, 0x76, 0x48, 0x87, 0xd0, 0xc0, 0x1e, 0xb0, 0xe2,
0x25, 0xa9, 0x5f, 0x35, 0x8c, 0x90, 0x23, 0x68, 0x62, 0x2b, 0x48, 0xaa, 0x1e, 0x94, 0xfa, 0x95,
0x33, 0x89, 0x3a, 0x44, 0x37, 0x8b, 0xd7, 0xdf, 0x95, 0xfa, 0x55, 0x83, 0x09, 0xf9, 0x08, 0xcc,
0xac, 0x89, 0x5b, 0xf6, 0xba, 0xd4, 0x5f, 0x3a, 0xa2, 0x28, 0xfd, 0xac, 0x82, 0x2e, 0x7b, 0x24,
0xe9, 0x2f, 0xed, 0xe5, 0xc9, 0x43, 0x68, 0x27, 0x9d, 0x45, 0xf5, 0xfb, 0x4f, 0x7f, 0xc9, 0xf8,
0xa0, 0xdc, 0xa3, 0xbb, 0xb3, 0xaa, 0x47, 0xaa, 0x7e, 0xe5, 0x8c, 0x43, 0x1e, 0x40, 0x2b, 0x2e,
0x18, 0x95, 0x6f, 0x40, 0xfd, 0xea, 0x21, 0x40, 0x19, 0x99, 0x75, 0xa6, 0xcb, 0x1e, 0xd2, 0xfa,
0x4b, 0x87, 0x31, 0x72, 0x0c, 0x90, 0xeb, 0xc8, 0x96, 0xbe, 0x90, 0xf5, 0x97, 0x0f, 0x59, 0xe4,
0x43, 0xe8, 0x64, 0x83, 0x73, 0xf5, 0x9b, 0x57, 0x7f, 0xd9, 0xdc, 0x33, 0xf8, 0xc6, 0x7f, 0xfe,
0xb9, 0x6b, 0xfc, 0xf6, 0x6a, 0xd7, 0xf8, 0xe3, 0xd5, 0xae, 0xf1, 0xd5, 0xd5, 0xae, 0xf1, 0x97,
0xab, 0x5d, 0xe3, 0x1f, 0x57, 0xbb, 0xc6, 0x9f, 0xbe, 0xde, 0x35, 0xc6, 0x2d, 0x7c, 0xfb, 0x7c,
0xef, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x14, 0xb6, 0x0c, 0x6d, 0x85, 0x15, 0x00, 0x00,
} }

+ 0
- 2
abci/types/types.proto View File

@ -168,7 +168,6 @@ message ResponseCheckTx {
int64 gas_wanted = 5; int64 gas_wanted = 5;
int64 gas_used = 6; int64 gas_used = 6;
repeated common.KVPair tags = 7 [(gogoproto.nullable)=false, (gogoproto.jsontag)="tags,omitempty"]; repeated common.KVPair tags = 7 [(gogoproto.nullable)=false, (gogoproto.jsontag)="tags,omitempty"];
common.KI64Pair fee = 8 [(gogoproto.nullable)=false];
} }
message ResponseDeliverTx { message ResponseDeliverTx {
@ -179,7 +178,6 @@ message ResponseDeliverTx {
int64 gas_wanted = 5; int64 gas_wanted = 5;
int64 gas_used = 6; int64 gas_used = 6;
repeated common.KVPair tags = 7 [(gogoproto.nullable)=false, (gogoproto.jsontag)="tags,omitempty"]; repeated common.KVPair tags = 7 [(gogoproto.nullable)=false, (gogoproto.jsontag)="tags,omitempty"];
common.KI64Pair fee = 8 [(gogoproto.nullable)=false];
} }
message ResponseEndBlock { message ResponseEndBlock {


+ 0
- 2
docs/app-dev/abci-spec.md View File

@ -186,7 +186,6 @@ See below for more details on the message types and how they are used.
- `GasUsed (int64)`: Amount of gas consumed by transaction. - `GasUsed (int64)`: Amount of gas consumed by transaction.
- `Tags ([]cmn.KVPair)`: Key-Value tags for filtering and indexing - `Tags ([]cmn.KVPair)`: Key-Value tags for filtering and indexing
transactions (eg. by account). transactions (eg. by account).
- `Fee (cmn.KI64Pair)`: Fee paid for the transaction.
- **Usage**: Validate a mempool transaction, prior to broadcasting - **Usage**: Validate a mempool transaction, prior to broadcasting
or proposing. CheckTx should perform stateful but light-weight or proposing. CheckTx should perform stateful but light-weight
checks of the validity of the transaction (like checking signatures checks of the validity of the transaction (like checking signatures
@ -223,7 +222,6 @@ See below for more details on the message types and how they are used.
- `GasUsed (int64)`: Amount of gas consumed by transaction. - `GasUsed (int64)`: Amount of gas consumed by transaction.
- `Tags ([]cmn.KVPair)`: Key-Value tags for filtering and indexing - `Tags ([]cmn.KVPair)`: Key-Value tags for filtering and indexing
transactions (eg. by account). transactions (eg. by account).
- `Fee (cmn.KI64Pair)`: Fee paid for the transaction.
- **Usage**: - **Usage**:
- Deliver a transaction to be executed in full by the application. - Deliver a transaction to be executed in full by the application.
If the transaction is valid, returns CodeType.OK. If the transaction is valid, returns CodeType.OK.


+ 6
- 16
docs/app-dev/getting-started.md View File

@ -93,9 +93,7 @@ like:
"jsonrpc": "2.0", "jsonrpc": "2.0",
"id": "", "id": "",
"result": { "result": {
"check_tx": {
"fee": {}
},
"check_tx": {},
"deliver_tx": { "deliver_tx": {
"tags": [ "tags": [
{ {
@ -106,8 +104,7 @@ like:
"key": "YXBwLmtleQ==", "key": "YXBwLmtleQ==",
"value": "YWJjZA==" "value": "YWJjZA=="
} }
],
"fee": {}
]
}, },
"hash": "9DF66553F98DE3C26E3C3317A3E4CED54F714E39", "hash": "9DF66553F98DE3C26E3C3317A3E4CED54F714E39",
"height": 14 "height": 14
@ -219,13 +216,10 @@ the number `1`. If instead, we try to send a `5`, we get an error:
"jsonrpc": "2.0", "jsonrpc": "2.0",
"id": "", "id": "",
"result": { "result": {
"check_tx": {
"fee": {}
},
"check_tx": {},
"deliver_tx": { "deliver_tx": {
"code": 2, "code": 2,
"log": "Invalid nonce. Expected 1, got 5",
"fee": {}
"log": "Invalid nonce. Expected 1, got 5"
}, },
"hash": "33B93DFF98749B0D6996A70F64071347060DC19C", "hash": "33B93DFF98749B0D6996A70F64071347060DC19C",
"height": 34 "height": 34
@ -241,12 +235,8 @@ But if we send a `1`, it works again:
"jsonrpc": "2.0", "jsonrpc": "2.0",
"id": "", "id": "",
"result": { "result": {
"check_tx": {
"fee": {}
},
"deliver_tx": {
"fee": {}
},
"check_tx": {},
"deliver_tx": {},
"hash": "F17854A977F6FA7EEA1BD758E296710B86F72F3D", "hash": "F17854A977F6FA7EEA1BD758E296710B86F72F3D",
"height": 60 "height": 60
} }


+ 0
- 2
state/txindex/kv/kv_test.go View File

@ -185,7 +185,6 @@ func txResultWithTags(tags []cmn.KVPair) *types.TxResult {
Code: abci.CodeTypeOK, Code: abci.CodeTypeOK,
Log: "", Log: "",
Tags: tags, Tags: tags,
Fee: cmn.KI64Pair{Key: nil, Value: 0},
}, },
} }
} }
@ -201,7 +200,6 @@ func benchmarkTxIndex(txsCount int64, b *testing.B) {
Code: abci.CodeTypeOK, Code: abci.CodeTypeOK,
Log: "", Log: "",
Tags: []cmn.KVPair{}, Tags: []cmn.KVPair{},
Fee: cmn.KI64Pair{Key: []uint8{}, Value: 0},
}, },
} }


+ 1
- 1
types/event_bus_test.go View File

@ -22,7 +22,7 @@ func TestEventBusPublishEventTx(t *testing.T) {
defer eventBus.Stop() defer eventBus.Stop()
tx := Tx("foo") tx := Tx("foo")
result := abci.ResponseDeliverTx{Data: []byte("bar"), Tags: []cmn.KVPair{{[]byte("baz"), []byte("1")}}, Fee: cmn.KI64Pair{Key: []uint8{}, Value: 0}}
result := abci.ResponseDeliverTx{Data: []byte("bar"), Tags: []cmn.KVPair{{[]byte("baz"), []byte("1")}}}
txEventsCh := make(chan interface{}) txEventsCh := make(chan interface{})


Loading…
Cancel
Save