diff options
author | Wei-Ning Huang <w@dexon.org> | 2019-03-17 10:43:10 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-06-12 17:27:23 +0800 |
commit | 5f64e1d10d620a8a299ff3a40695f26107f157c5 (patch) | |
tree | e28e2bf073ac7da8417e5b0789d2d0713e240ae7 /dex/peer.go | |
parent | 9493109f2be4507605e6b17e406bf8fd147ab3c8 (diff) | |
download | go-tangerine-5f64e1d10d620a8a299ff3a40695f26107f157c5.tar go-tangerine-5f64e1d10d620a8a299ff3a40695f26107f157c5.tar.gz go-tangerine-5f64e1d10d620a8a299ff3a40695f26107f157c5.tar.bz2 go-tangerine-5f64e1d10d620a8a299ff3a40695f26107f157c5.tar.lz go-tangerine-5f64e1d10d620a8a299ff3a40695f26107f157c5.tar.xz go-tangerine-5f64e1d10d620a8a299ff3a40695f26107f157c5.tar.zst go-tangerine-5f64e1d10d620a8a299ff3a40695f26107f157c5.zip |
core: fill in genesis timstamp and remove dMoment from protocol handshake (#263)
Fill in dmoment as genesis block timestamp. This allow us to remove
dMoment check from protocol handshake since genesis block hash itself
will protect us against different dMoment.
Diffstat (limited to 'dex/peer.go')
-rw-r--r-- | dex/peer.go | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/dex/peer.go b/dex/peer.go index 6a5786e1f..e015ed9e5 100644 --- a/dex/peer.go +++ b/dex/peer.go @@ -669,7 +669,7 @@ func (p *peer) RequestReceipts(hashes []common.Hash) error { // Handshake executes the eth protocol handshake, negotiating version number, // network IDs, difficulties, head and genesis blocks. -func (p *peer) Handshake(network uint64, dMoment uint64, number uint64, head common.Hash, genesis common.Hash) error { +func (p *peer) Handshake(network uint64, number uint64, head common.Hash, genesis common.Hash) error { // Send out own handshake in a new thread errc := make(chan error, 2) var status statusData // safe to read after two values have been received from errc @@ -678,14 +678,13 @@ func (p *peer) Handshake(network uint64, dMoment uint64, number uint64, head com errc <- p2p.Send(p.rw, StatusMsg, &statusData{ ProtocolVersion: uint32(p.version), NetworkId: network, - DMoment: dMoment, Number: number, CurrentBlock: head, GenesisBlock: genesis, }) }() go func() { - errc <- p.readStatus(network, dMoment, &status, genesis) + errc <- p.readStatus(network, &status, genesis) }() timeout := time.NewTimer(handshakeTimeout) defer timeout.Stop() @@ -703,7 +702,7 @@ func (p *peer) Handshake(network uint64, dMoment uint64, number uint64, head com return nil } -func (p *peer) readStatus(network uint64, dMoment uint64, status *statusData, genesis common.Hash) (err error) { +func (p *peer) readStatus(network uint64, status *statusData, genesis common.Hash) (err error) { msg, err := p.rw.ReadMsg() if err != nil { return err @@ -724,9 +723,6 @@ func (p *peer) readStatus(network uint64, dMoment uint64, status *statusData, ge if status.NetworkId != network { return errResp(ErrNetworkIdMismatch, "%d (!= %d)", status.NetworkId, network) } - if status.DMoment != dMoment { - return errResp(ErrDMomentMismatch, "%d (!= %d)", status.DMoment, dMoment) - } if int(status.ProtocolVersion) != p.version { return errResp(ErrProtocolVersionMismatch, "%d (!= %d)", status.ProtocolVersion, p.version) } |