mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-19 21:31:37 +00:00
let xdpos22(101) strictly 1 to 1 with eth64(64) protocol
This commit is contained in:
parent
b5c7bd5cba
commit
829ca9f198
2 changed files with 30 additions and 29 deletions
|
|
@ -35,10 +35,13 @@ const (
|
|||
eth64 = 64
|
||||
eth65 = 65
|
||||
xdpos2 = 100 //xdpos2.1 = eth62+eth63
|
||||
xdpos22 = 101 //xdpos2.2 = eth63+eth64+eth65
|
||||
xdpos22 = 101 //xdpos2.2 = eth65
|
||||
)
|
||||
|
||||
func supportsEth63(version int) bool {
|
||||
// XDC needs the below functions because direct number equality doesn't work (eg. version >= 63)
|
||||
// we should try to match protocols 1 to 1 from now on, bump xdpos along with any new eth (eg. eth66 = xdpos23 only)
|
||||
// try to follow the exact comparison from go-ethereum as much as possible (eg. version >= 63 <> isEth63OrHigher(version))
|
||||
func isEth63(version int) bool {
|
||||
switch {
|
||||
case version < 63:
|
||||
return false
|
||||
|
|
@ -63,22 +66,39 @@ func supportsEth64(version int) bool {
|
|||
return false
|
||||
}
|
||||
}
|
||||
|
||||
func supportsEth65(version int) bool {
|
||||
func isEth64(version int) bool {
|
||||
switch {
|
||||
case version < 65:
|
||||
return false
|
||||
case version < 100:
|
||||
return true
|
||||
case version == 100:
|
||||
default:
|
||||
return false
|
||||
case version > 100:
|
||||
}
|
||||
}
|
||||
func isEth65(version int) bool {
|
||||
switch {
|
||||
case version == 65:
|
||||
return true
|
||||
case version == 101:
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
func isEth63OrHigher(version int) bool {
|
||||
return isEth63(version) || isEth64(version) || isEth65(version)
|
||||
}
|
||||
|
||||
func isEth64OrHigher(version int) bool {
|
||||
return isEth64(version) || isEth65(version)
|
||||
}
|
||||
|
||||
func isEth65OrHigher(version int) bool {
|
||||
return isEth65(version)
|
||||
}
|
||||
|
||||
// protocolName is the official short name of the protocol used during capability negotiation.
|
||||
const protocolName = "eth"
|
||||
|
||||
|
|
|
|||
|
|
@ -312,10 +312,10 @@ func testSendTransactions(t *testing.T, protocol int) {
|
|||
}
|
||||
for n := 0; n < len(alltxs) && !t.Failed(); {
|
||||
var forAllHashes func(callback func(hash common.Hash))
|
||||
switch protocol {
|
||||
case 63:
|
||||
switch {
|
||||
case isEth63(protocol):
|
||||
fallthrough
|
||||
case 64:
|
||||
case isEth64(protocol):
|
||||
msg, err := p.app.ReadMsg()
|
||||
if err != nil {
|
||||
t.Errorf("%v: read error: %v", p.Peer, err)
|
||||
|
|
@ -334,26 +334,7 @@ func testSendTransactions(t *testing.T, protocol int) {
|
|||
callback(tx.Hash())
|
||||
}
|
||||
}
|
||||
case 65:
|
||||
msg, err := p.app.ReadMsg()
|
||||
if err != nil {
|
||||
t.Errorf("%v: read error: %v", p.Peer, err)
|
||||
continue
|
||||
} else if msg.Code != NewPooledTransactionHashesMsg {
|
||||
t.Errorf("%v: got code %d, want NewPooledTransactionHashesMsg", p.Peer, msg.Code)
|
||||
continue
|
||||
}
|
||||
var hashes []common.Hash
|
||||
if err := msg.Decode(&hashes); err != nil {
|
||||
t.Errorf("%v: %v", p.Peer, err)
|
||||
continue
|
||||
}
|
||||
forAllHashes = func(callback func(hash common.Hash)) {
|
||||
for _, h := range hashes {
|
||||
callback(h)
|
||||
}
|
||||
}
|
||||
case 100:
|
||||
case isEth65(protocol):
|
||||
msg, err := p.app.ReadMsg()
|
||||
if err != nil {
|
||||
t.Errorf("%v: read error: %v", p.Peer, err)
|
||||
|
|
|
|||
Loading…
Reference in a new issue