consensus: drop NextConsensus from the prepareRequest

Follow neo-project/neo#744 to make our requests compatible with C# node.
This commit is contained in:
Roman Khimov 2020-07-11 12:32:53 +03:00
parent ae497228f0
commit 2278cd5700
5 changed files with 15 additions and 18 deletions

View file

@ -464,15 +464,8 @@ func (s *service) getValidators(_ ...block.Transaction) []crypto.PublicKey {
return pubs
}
func (s *service) getConsensusAddress(validators ...crypto.PublicKey) (h util.Uint160) {
pubs := convertKeys(validators)
script, err := smartcontract.CreateMultiSigRedeemScript(s.dbft.M(), pubs)
if err != nil {
return
}
return crypto.Hash160(script)
func (s *service) getConsensusAddress(validators ...crypto.PublicKey) util.Uint160 {
return util.Uint160{}
}
func convertKeys(validators []crypto.PublicKey) (pubs []*keys.PublicKey) {
@ -493,7 +486,16 @@ func (s *service) newBlockFromContext(ctx *dbft.Context) block.Block {
block.Block.Network = s.network
block.Block.Timestamp = ctx.Timestamp / 1000000
block.Block.Index = ctx.BlockIndex
block.Block.NextConsensus = ctx.NextConsensus
validators, err := s.Chain.GetValidators()
if err != nil {
return nil
}
script, err := smartcontract.CreateMultiSigRedeemScript(len(validators)-(len(validators)-1)/3, validators)
if err != nil {
return nil
}
block.Block.NextConsensus = crypto.Hash160(script)
block.Block.PrevHash = ctx.PrevHash
block.Block.Version = ctx.Version
block.Block.ConsensusData.Nonce = ctx.Nonce

View file

@ -256,7 +256,6 @@ func randomPrepareRequest(t *testing.T) *prepareRequest {
for i := 0; i < txCount; i++ {
req.transactionHashes[i] = random.Uint256()
}
req.nextConsensus = random.Uint160()
return req
}

View file

@ -11,7 +11,6 @@ type prepareRequest struct {
timestamp uint64
nonce uint64
transactionHashes []util.Uint256
nextConsensus util.Uint160
}
var _ payload.PrepareRequest = (*prepareRequest)(nil)
@ -20,7 +19,6 @@ var _ payload.PrepareRequest = (*prepareRequest)(nil)
func (p *prepareRequest) EncodeBinary(w *io.BinWriter) {
w.WriteU64LE(p.timestamp)
w.WriteU64LE(p.nonce)
w.WriteBytes(p.nextConsensus[:])
w.WriteArray(p.transactionHashes)
}
@ -28,7 +26,6 @@ func (p *prepareRequest) EncodeBinary(w *io.BinWriter) {
func (p *prepareRequest) DecodeBinary(r *io.BinReader) {
p.timestamp = r.ReadU64LE()
p.nonce = r.ReadU64LE()
r.ReadBytes(p.nextConsensus[:])
r.ReadArray(&p.transactionHashes)
}
@ -51,7 +48,7 @@ func (p *prepareRequest) TransactionHashes() []util.Uint256 { return p.transacti
func (p *prepareRequest) SetTransactionHashes(hs []util.Uint256) { p.transactionHashes = hs }
// NextConsensus implements payload.PrepareRequest interface.
func (p *prepareRequest) NextConsensus() util.Uint160 { return p.nextConsensus }
func (p *prepareRequest) NextConsensus() util.Uint160 { return util.Uint160{} }
// SetNextConsensus implements payload.PrepareRequest interface.
func (p *prepareRequest) SetNextConsensus(nc util.Uint160) { p.nextConsensus = nc }
func (p *prepareRequest) SetNextConsensus(_ util.Uint160) {}

View file

@ -20,7 +20,7 @@ func TestPrepareRequest_Setters(t *testing.T) {
require.EqualValues(t, 1000000, p.Timestamp())
p.SetNextConsensus(util.Uint160{5, 6, 7})
require.Equal(t, util.Uint160{5, 6, 7}, p.NextConsensus())
require.Equal(t, util.Uint160{}, p.NextConsensus())
p.SetNonce(8765)
require.EqualValues(t, 8765, p.Nonce())

View file

@ -31,7 +31,6 @@ func TestRecoveryMessage_Setters(t *testing.T) {
timestamp: 87,
nonce: 321,
transactionHashes: []util.Uint256{{1}},
nextConsensus: util.Uint160{1, 2},
}
p1 := new(Payload)
p1.message = &message{}