Roman Khimov
844491d365
*: use more efficient WriteBytes where appropriate
...
Before this patch on block import we could easily be spending more than 6
seconds out of 30 in Uint256 encoding for UnspentBalance, now it's completely
off the radar.
2019-12-06 18:22:21 +03:00
Evgenii Stratonikov
138c94eda3
consensus: sign and verify consensus messages
2019-12-06 11:35:06 +03:00
Evgenii Stratonikov
765c354793
consensus: return signed messages from recovery.Get*
2019-12-06 11:33:32 +03:00
Roman Khimov
138e125646
*: remove duplicate functions producing verification script
...
Drop wif.GetVerificationScript(), drop
smartcontract.CreateSignatureRedeemScript(), add GetVerificationScript()
directly to the PublicKey and use it everywhere.
2019-12-03 18:23:46 +03:00
Roman Khimov
8d4dd2d2e1
vm: move opcodes into their own package
...
This allows easier reuse of opcodes and in some cases allows to eliminate
dependencies on the whole vm package, like in compiler that only needs opcodes
and doesn't care about VM for any other purpose.
And yes, they're opcodes because an instruction is a whole thing with
operands, that's what context.Next() returns.
2019-12-03 18:22:14 +03:00
Roman Khimov
f48228ef7d
Merge pull request #467 from nspcc-dev/errcheck_297
...
This patchset closes #297 and #457 .
2019-12-03 15:06:11 +03:00
Vsevolod Brekelov
03ff2976ed
io: refactoring for using WriteVarBytes instead of WriteLE
...
goal is to be consistent with C# implementation.
For writing []byte WriteBytes used and for byte - WriteVarByte.
2019-12-03 13:49:33 +03:00
Evgenii Stratonikov
9ddebfdb8a
consensus: add tests for recovery message
2019-12-02 17:00:17 +03:00
Evgenii Stratonikov
b649ffb88e
consensus: set preparation hash in recovery message
2019-12-02 16:43:24 +03:00
Roman Khimov
65332f5e7f
Merge pull request #529 from nspcc-dev/peer-communication-fixes
...
A set of fixes to make neo-go privnet more usable.
2019-11-29 16:29:28 +03:00
Evgenii Stratonikov
60f1648778
consensus: fix a bug with index out of range
2019-11-29 16:05:00 +03:00
Evgenii Stratonikov
189a708988
consensus: fix a bug with nil tx channel
2019-11-29 15:40:11 +03:00
Roman Khimov
293615ea5f
network/consensus: add new block relaying
...
Tell everyone about our new shiny blocks.
2019-11-29 12:27:15 +03:00
Evgenii Stratonikov
fdd5276d3e
network: plug in dBFT library
2019-11-27 10:57:22 +03:00
Evgenii Stratonikov
2be18f91df
util: implement io.Serializable for Uint256
2019-11-14 14:20:38 +03:00
Evgenii Stratonikov
b16e56a47b
io: refactor BinReader.ReadArray()
...
Make it accept arbitrary slice pointer.
2019-11-14 14:19:58 +03:00
Evgenii Stratonikov
085ca7b770
network: implement Consensus payloads
2019-11-13 17:27:25 +03:00