Vsevolod Brekelov
d57b6e1091
core: add unit tests for interops_neo
2019-11-18 19:31:27 +03:00
Roman Khimov
5076704019
Merge pull request #502 from nspcc-dev/docker-compose-environment-for-neo-go
...
Create docker-compose environment
2019-11-18 17:21:11 +03:00
Evgeniy Kulikov
ab4a0e1b2c
CI: step build_image should use golang:1-alpine
...
- restoring dependencies
- make `deps` requires golang installed
2019-11-18 17:17:22 +03:00
Evgeniy Kulikov
3994d1a943
Makefile: image build doesn't work without deps
2019-11-18 17:17:22 +03:00
Evgeniy Kulikov
2f8b11dabf
reformat code at pkg/network/metrics/metrics.go
2019-11-18 17:17:21 +03:00
Evgeniy Kulikov
0a56d3ddbc
network: generate randomized server id
...
math/rand might generate same id's on one environment, so.. use crypto/rand for generation id's
2019-11-18 17:17:21 +03:00
Evgeniy Kulikov
f640dbb331
DockerCompose: update environment
...
- rewrite Dockerfile
- four nodes, custom network, volume
- p2p, rpc and metrics port forwarded
- make: env_vendor, env_image, env_up, env_down and env_restart
- cleanup Makefile commands
- remove old docker-compose file
fix #497
2019-11-18 17:17:21 +03:00
Roman Khimov
53f666bc13
Merge pull request #504 from nspcc-dev/getunspents
...
Implement getunspents RPC API
2019-11-18 13:45:33 +03:00
Roman Khimov
7f24c6712c
docs: bring rpc.md up to date, add issues links
2019-11-18 11:30:09 +03:00
Roman Khimov
5841d3931e
rpc: implement getunspents method, fix #473
2019-11-18 11:30:09 +03:00
Roman Khimov
829f9757df
Merge pull request #506 from nspcc-dev/fix/writemsg
...
network: write messages atomically
2019-11-18 10:17:22 +03:00
Evgenii Stratonikov
e3098ed0f8
network: write messages atomically
...
Right now message can be written in several Write's so
concurrent calls of writeMsg() can in theory interleave.
This commit fixes it.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2019-11-18 09:31:00 +03:00
Roman Khimov
394af5f777
Merge pull request #505 from nspcc-dev/fix/readarray
...
io: restrict ReadArray max array size, fIx #503 .
2019-11-16 10:31:33 +03:00
Evgenii Stratonikov
f65545023d
io: restrict ReadArray max array size
2019-11-15 22:39:21 +03:00
Roman Khimov
e4868cd429
core: implement EncodeBinary on value
...
Fixes panic:
panic: core.NotificationEvent does not have EncodeBinary(*BinWriter)
goroutine 97 [running]:
github.com/CityOfZion/neo-go/pkg/io.(*BinWriter).WriteArray(0xc004f7dda0, 0xabf820, 0xc004f7ddc0)
/home/rik/dev/neo-go/pkg/io/binaryWriter.go:45 +0x4b7
github.com/CityOfZion/neo-go/pkg/core.(*AppExecResult).EncodeBinary(0xc000635498, 0xc004f7dda0)
/home/rik/dev/neo-go/pkg/core/notification_event.go:73 +0x9c
github.com/CityOfZion/neo-go/pkg/core.putAppExecResultIntoStore(0xcf0020, 0xc001aafec0, 0xc000635498, 0xc004f81940, 0x40)
/home/rik/dev/neo-go/pkg/core/notification_event.go:33 +0xab
github.com/CityOfZion/neo-go/pkg/core.(*Blockchain).storeBlock(0xc000118000, 0xc006f89ea0, 0xc006f89ea0, 0x0)
/home/rik/dev/neo-go/pkg/core/blockchain.go:534 +0x2539
github.com/CityOfZion/neo-go/pkg/core.(*Blockchain).AddBlock(0xc000118000, 0xc006f89ea0, 0xc004f368b0, 0x1)
/home/rik/dev/neo-go/pkg/core/blockchain.go:256 +0x91
github.com/CityOfZion/neo-go/pkg/network.(*blockQueue).run(0xc0048f4b80)
/home/rik/dev/neo-go/pkg/network/blockqueue.go:39 +0x14c
created by github.com/CityOfZion/neo-go/pkg/network.(*Server).Start
/home/rik/dev/neo-go/pkg/network/server.go:133 +0x272
2019-11-15 22:05:09 +03:00
Roman Khimov
1a5731e005
core: rework balance accounting
...
Store all unspents instead of balance values. Bump store version as this is an
incompatible change.
2019-11-15 22:05:09 +03:00
Vsevolod
2679d3fa35
Merge pull request #499 from nspcc-dev/fix-notifications-and-getreferences-bugs
...
Fix notifications and getreferences bugs
2019-11-15 19:11:49 +03:00
Roman Khimov
a16c2c3825
core: add NEP5 transfer tracking stub
...
See #498 .
2019-11-15 18:04:59 +03:00
Roman Khimov
01082a8988
core: fix nondeterministic txGetReferences() behavior
...
Ranging over map is nondeterministic and contracts may be unprepared for
that. Fixes #454 .
2019-11-15 18:04:59 +03:00
Roman Khimov
5e8122bfac
core: add contract hash into the error output for checkStorageContext()
...
Makes debugging things easier.
2019-11-15 18:04:59 +03:00
Roman Khimov
64e20508e0
vm: use hex for ByteArray JSON marshallization
...
It's way more convenient for different purposes.
2019-11-15 18:04:59 +03:00
Roman Khimov
5ce269c035
core: change notify implementation to save notifications
...
Fixes #453 and makes it possible to refer to these notifications later.
2019-11-15 18:04:59 +03:00
Roman Khimov
9134cc1c37
Merge pull request #496 from nspcc-dev/fix/serialize
...
vm: fix a bug in collection serialize
2019-11-15 16:03:41 +03:00
Evgenii Stratonikov
7080b78a6b
vm: fix a bug in collection serialize
...
When encountering already seen stack item we should fail
only if it is a collection. Duplicate Integers or ByteArrays are ok
because they can't lead to recursion.
2019-11-15 12:48:00 +03:00
Roman Khimov
e740fbe708
Merge pull request #495 from nspcc-dev/feature/494
...
io: implement io.Serializable for Uint256
This PR implements the first item from #494 .
2019-11-14 17:52:40 +03:00
Evgenii Stratonikov
1a08ad19aa
sc: implement io.Serializable for ParamType
2019-11-14 14:20:38 +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
Roman Khimov
2f838df585
Merge pull request #490 from nspcc-dev/feature/431
...
network: implement ConsensusPayload decoding
Closes #431 , it is also needed to validate payloads.
2019-11-13 18:55:20 +03:00
Evgenii Stratonikov
085ca7b770
network: implement Consensus payloads
2019-11-13 17:27:25 +03:00
Evgenii Stratonikov
ad9091d13d
io: implement generic array (de-)serialization
...
It is done through reflection and panics
in every unexpected situation.
2019-11-13 17:27:23 +03:00
Evgenii Stratonikov
61fdd5cde5
util: make Uint256Size public
2019-11-13 17:09:55 +03:00
Roman Khimov
d45a9f84f6
Merge pull request #479 from nspcc-dev/feature/systemd-unit
...
added systemd unit file and target for make
2019-11-13 15:57:03 +03:00
anastasia prasolova
2afb1851d6
service file templating
2019-11-13 15:05:13 +03:00
Roman Khimov
5f8edc3e54
Merge pull request #489 from nspcc-dev/claim-processing
...
core: add proper claim transactions processing
2019-11-11 16:33:10 +03:00
Roman Khimov
394346fc26
core: add proper claim transactions processing
2019-11-11 15:35:57 +03:00
Roman Khimov
85d0bc4544
Merge pull request #488 from nspcc-dev/dbdump_466
...
cli: compatible with NGD reading/writing blockchain dump
2019-11-11 13:31:32 +03:00
Vsevolod Brekelov
7b6756cb7e
cli: compatible with NGD reading/writing blockchain dump
2019-11-11 13:15:34 +03:00
Roman Khimov
5c8fb1fc8e
Merge pull request #486 from nspcc-dev/dump-restore-skip-fix
...
cli: fix skip usage in DB dump/restore
2019-11-08 17:24:17 +03:00
Roman Khimov
4736dad8f0
cli: fix skip usage in DB dump/restore
...
It was failing to process any blocks at all when (skip >= count) and in other
cases it processed wrong number of blocks.
2019-11-08 17:00:02 +03:00
Roman Khimov
4d770e3c37
Merge pull request #485 from nspcc-dev/close-blockchain
...
core: add Close() to blockchainer, implement it to properly close chain
2019-11-08 12:24:42 +03:00
Roman Khimov
b05754deac
core: add Close() to blockchainer, implement it to properly close chain
...
Before it the deferred function in Run() was actually never able to properly
close the Store, so we weren't synching the latest state to the disk.
2019-11-08 12:19:54 +03:00
Roman Khimov
d33083e1e1
update CHANGELOG and ROADMAP, release 0.62.0
2019-11-07 17:18:43 +03:00
Roman Khimov
52a78d8c3d
Merge pull request #484 from nspcc-dev/feature/max_integer
...
The last VM limit we need to implement is the restriction of BigInteger size.
This PR implements it.
Closes #373 .
2019-11-07 16:02:43 +03:00
anastasia prasolova
a00275bebd
fixes after review
2019-11-07 14:57:02 +03:00
Evgenii Stratonikov
816d78b5ee
vm: redefine SHL/SHR limits based on integer size
2019-11-07 12:50:11 +03:00
Evgenii Stratonikov
439cd72294
vm: restrict BigInteger item size
2019-11-07 12:34:27 +03:00
Vsevolod
f686069f37
Merge pull request #481 from nspcc-dev/core-fix-init-corner-cases
...
Fix init corner cases
2019-11-06 18:36:40 +03:00
Vsevolod
11b372b45d
Merge pull request #480 from nspcc-dev/handshake-wait-for-version
...
network: wait for both Version messages before ACKing
2019-11-06 18:33:20 +03:00
Roman Khimov
c567307748
core: fix potential issue with header list init
...
If we're to receive some 500 headers (less than `headerBatchCount`) and quit
before receiving more of them we end up with clean `bc.headerList` that will
be inited going backwards to the `targetHash`, but code path doesn't add add
the `targetHash` itself which it should do in this particular case, otherwise
we end with no genesis block hash in the list.
2019-11-06 18:13:45 +03:00