Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #160 +/- ##
==========================================
+ Coverage 57.65% 62.76% +5.10%
==========================================
Files 33 32 -1
Lines 1913 1614 -299
==========================================
- Hits 1103 1013 -90
+ Misses 717 600 -117
+ Partials 93 1 -92 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
087c01c to
945ab02
Compare
514cc36 to
8ecec1c
Compare
AnnaShaleva
left a comment
There was a problem hiding this comment.
Let's align dbft code wrt nspcc-dev/neo-go@ff4eb10. No decoding optimisation is required. Both old (master) and new (feature) behaviour should be preserved, the behaviour switch (something like a configurable callback or an additional parameter to (DBFT).Start or (DBFT).Reset) should be exposed to the external user to enable the extension starting from some point without dBFT shutdown.
8ecec1c to
dcfb34e
Compare
| MissingTransactions []H | ||
| // Transactions is a map containing actual transactions for the current block. | ||
| // Transactions stores transactions collected so far for the current block, | ||
| // indexed by hash. It's used for pre-Huyao behaviour (FullTransactionsEnabled |
There was a problem hiding this comment.
Remove all Huyao mentions from the dBFT. For the dBFT library it's just an extension that enables new way of PrepareRequest construction. This extension will be used in NeoX network with a different hardfork name. So refer to it as to an extension.
a8774e3 to
eb4f98d
Compare
d59d366 to
22729f1
Compare
AnnaShaleva
left a comment
There was a problem hiding this comment.
Should work now. Before the merge you need to finalize the NeoGo part and test the Huyao transition on the running privnet. From my side an integration with NeoX is required, will push the PR soon.
Signed-off-by: Tural Devrishev <tural@nspcc.ru>
22729f1 to
aa29c57
Compare
Signed-off-by: Tural Devrishev <tural@nspcc.ru>
aa29c57 to
cd348ce
Compare
AnnaShaleva
left a comment
There was a problem hiding this comment.
LGTM, waiting for the NeoX part to settle before the merge.
| var _ dbft.Transaction[crypto.Uint256] = (*Tx64)(nil) | ||
|
|
||
| func init() { | ||
| gob.Register(new(Tx64)) |
There was a problem hiding this comment.
Why? Not sure if it's needed.
There was a problem hiding this comment.
Without gob.Register EncodeBinary fails with gob: type not registered for interface: consensus.Tx64.
Extend
PrepareRequestwithTransactions().NewPrepareRequestnow also receives the full transaction bodies, andprocessMissingTxtakes them as an argument, so a backup can pull a missing transaction straight from the request instead of a network request that may go unanswered. See nspcc-dev/neo-go#4325.