Ekaterina Pavlova
5bb7c6b715
services: update logs flush after services shutdown
...
Added sync logs for every service separately to provide the ability to
have a custom logger for each service. This commit makes the code follow
the zap usages rules: `Sync calls the underlying Core's Sync method,
flushing any buffered log entries. Applications should take care to
call Sync before exiting.`
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-27 15:10:51 +03:00
Ekaterina Pavlova
9b540770cd
network: fix typo
...
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-27 15:10:51 +03:00
Ekaterina Pavlova
775c56e87e
network: ensure server is started and shut down only once
...
Use started atomic.Bool field to ensure that the node server shutdown
procedure is executed only once. Prevent the following panic caused by
server double-shutdown in testing code:
```
--- FAIL: TestServerRegisterPeer (0
.06s)
panic: closed twice
goroutine 60 [running]:
testing.tRunner.func1.2({0x104c40b20, 0x104d0ec90})
/opt/homebrew/opt/go/libexec/src/testing/testing.go:1545 +0x1c8
testing.tRunner.func1()
/opt/homebrew/opt/go/libexec/src/testing/testing.go:1548 +0x360
panic({0x104c40b20?, 0x104d0ec90?})
/opt/homebrew/opt/go/libexec/src/runtime/panic.go:914 +0x218
github.com/nspcc-dev/neo-go/pkg/network.(*fakeTransp).Close
(0x14000159e08?)
/Users/ekaterinapavlova/Workplace/neo-go/pkg/network
/discovery_test.go:83 +0x54
github.com/nspcc-dev/neo-go/pkg/network.(*Server).Shutdown
(0x14000343400)
/Users/ekaterinapavlova/Workplace/neo-go/pkg/network/server.go:299
+0x104
github.com/nspcc-dev/neo-go/pkg/network.startWithCleanup.func1()
/Users/ekaterinapavlova/Workplace/neo-go/pkg/network/server_test
.go:408 +0x20
testing.(*common).Cleanup.func1()
/opt/homebrew/opt/go/libexec/src/testing/testing.go:1169 +0x110
testing.(*common).runCleanup(0x1400032c340, 0x14000159d80?)
/opt/homebrew/opt/go/libexec/src/testing/testing.go:1347 +0xd8
testing.tRunner.func2()
/opt/homebrew/opt/go/libexec/src/testing/testing.go:1589 +0x2c
testing.tRunner(0x1400032c340, 0x104d0c5d0)
/opt/homebrew/opt/go/libexec/src/testing/testing.go:1601 +0x114
created by testing.(*T).Run in goroutine 1
/opt/homebrew/opt/go/libexec/src/testing/testing.go:1648 +0x33c
```
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-27 15:10:51 +03:00
Ekaterina Pavlova
4715e523e0
services: move blockchain/mempool subscriptions to separate routine
...
Start of some services is bound to blockchain subscriptions, and thus,
can't be run before the blockchain notifications dispatcher.
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-27 15:10:51 +03:00
Ekaterina Pavlova
f8dc5ec44f
network: change server Start() behavior
...
Previously user should Start server in a separate goroutine. Now
separate goroutine is created inside the Start(). For normal server
operation, the caller should wait for Start to finish. Also, fixed
TestTryInitStateSync test which was exiting earlier than logs are
called.
Close #3112
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-27 15:10:51 +03:00
Roman Khimov
224808975b
Merge pull request #3328 from nspcc-dev/mod-upd
...
.github: use minimum required Go version from go.mod
2024-02-27 14:02:42 +03:00
Anna Shaleva
8ab08c6221
github: reorder actions/checkout and actions/setup-go steps
...
Otherwise setup-go action won't work with go-version-file. Ref.
https://github.com/actions/setup-go/issues/340 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-02-27 11:56:49 +03:00
Anna Shaleva
e55809f198
Merge pull request #3327 from nspcc-dev/fix-rpcclient-doc
...
rpcclient: fix address used in doc
2024-02-27 11:43:42 +03:00
Anna Shaleva
a81804e296
.github: use minimum required Go version from go.mod
...
For linter job only, port
e0ec4d24cb
.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-02-27 11:39:51 +03:00
Roman Khimov
9d3258495f
rpcclient: use better RPC endpoint for example
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-02-26 23:18:45 +03:00
Roman Khimov
e09fc00188
rpcclient: fix address used in doc
...
This one doesn't really work now, it's Legacy. Replace with something N3-ish.
Thanks @lock9 for reporting.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-02-26 22:18:32 +03:00
Anna Shaleva
be17924ef8
Merge pull request #3325 from stepanovdmitrii/fix/tcp_peer_deadlock
...
tcp_peer: Fix possible goroutine leak
2024-02-26 12:12:28 +03:00
Dmitrii Stepanov
6147bf452a
tcp_peer: Fix possible goroutine leak
...
Scenario:
1. Two messages were read from the connection `p.conn`
2. The first message has started to be processed
3. The second message was queued to be added to the channel `p.incoming`
4. Processing of the first message failed with an error
5. TCP peer is closed, but processing of the second message continues
Signed-off-by: Dmitrii Stepanov <dima-stepan@yandex.ru>
2024-02-25 22:38:18 +03:00
Anna Shaleva
327e766cd9
Merge pull request #3321 from nspcc-dev/leveldb-windows
...
vm: fix exit in vm tests
2024-02-21 19:47:07 +03:00
Ekaterina Pavlova
b6a65e4d80
cli: fix exit in vm test
...
Add exit function at the end of the test to prevent
errors in t.Cleanup of the t.TempDir for levelDB instance.
Close #3154
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-21 13:22:38 +03:00
Anna Shaleva
00a1a8da56
Merge pull request #3320 from nspcc-dev/update-actions
...
workflows: update actions
2024-02-20 13:16:20 +03:00
Roman Khimov
07b2de73cd
workflows: update actions
...
I'm tired of warnings for our workflow runs.
The only unupdated is Codecov, we can't switch to token-based uploads at the
moment (and it's required for new version).
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-02-19 22:14:24 +03:00
Roman Khimov
f94df6c013
Merge pull request #3318 from nspcc-dev/TestContractInitAndCompile
2024-02-19 21:49:22 +03:00
Ekaterina Pavlova
5128b84e1d
*: update go.mod
...
According to https://go.dev/doc/modules/gomod-ref go version should be
placed before `require` section.
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-19 19:12:21 +03:00
Ekaterina Pavlova
5d425a6e45
smartcontract: fix go version mismatch in TestContractInitAndCompile
...
Needs to updated dependencies inside the test for go1.18 and higher to
match with interop module.
Close #3152
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-19 19:08:36 +03:00
Anna Shaleva
71fb759c0d
Merge pull request #3313 from nspcc-dev/TestRun_WithNewVMContextAndBreakpoints
...
config: fix windows paths in VM tests
2024-02-15 11:07:04 +03:00
Ekaterina Pavlova
588e911ad6
config: fix TestRun_WithNewVMContextAndBreakpoints path for windows
...
Fix VM test for windows. We don't have notary enabled in unit testchains
so it was removed.
Close #3309
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-14 13:22:07 +03:00
Roman Khimov
5fe4778b2e
Merge pull request #3306 from nspcc-dev/test-windows-path
...
config: fix TestGetConfigFromContext on Windows
2024-02-14 11:24:48 +03:00
Ekaterina Pavlova
939631c3f9
config: fix TestGetConfigFromContext on Windows
...
Failing test caused by hardcoded relative path check which is different
for Windows.
Close #3305
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-02-12 19:37:26 +03:00
Roman Khimov
51ac153a7b
Merge pull request #3293 from nspcc-dev/import-multisig
...
cli: update import-multisig with making --wif optional
2024-01-27 11:26:47 +03:00
Roman Khimov
9d95a2691b
Merge pull request #3291 from nspcc-dev/nns_wrapper
2024-01-27 11:25:50 +03:00
Ekaterina Pavlova
57aa05add3
wallet: make --wif optional in import-multisig command
...
We have a full list of public keys in the import-multisig command, so if
we have a key in the wallet that corresponds to one of these keys
(simple sig), just reuse it for the account automatically
Closes #3266
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-01-26 18:36:29 +03:00
Ekaterina Pavlova
000109bfd1
smartcontract: update nns wrapper
...
Added missing function from smart-contract manifest.
Close #2732
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-01-26 18:30:17 +03:00
Anna Shaleva
36b89215ab
Merge pull request #3299 from nspcc-dev/autogeneration-linter
...
smartcontract: fix generation of nns wrapper for follow Go naming
2024-01-26 12:50:35 +03:00
Roman Khimov
a19f85ba34
Merge pull request #3297 from nspcc-dev/sc-convertible
...
smartcontract: introduce Convertible interface
2024-01-25 17:16:47 +03:00
Anna Shaleva
161b83fd7f
rpcclient: ensure nns.RecordType can be passed as a parameter to invoker
...
Implement smartcontract.Convertible for nns.RecordType.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-01-25 17:04:21 +03:00
Ekaterina Pavlova
9b7eff18c0
smartcontract: fix generation of nns wrapper for follow Go naming
...
Autogenerated RPC wrapper used underscores to differentiate between
methods/event overloads. Now it adds increasing suffices instead.
Close #3296
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-01-24 16:21:36 +03:00
Anna Shaleva
a22a7177e3
smartcontract: improve TestParameterFromValue
...
Run error cases in the same loop with test cases. No functional changes.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-01-23 16:09:58 +03:00
Anna Shaleva
b90c0ece87
smartcontract: introduce Convertible interface
...
Allow to pass Convertible to NewParameterFromValue. Close #3285 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-01-23 16:09:57 +03:00
Anna Shaleva
ef99a7a9e3
Merge pull request #3294 from nspcc-dev/config-validation
...
config: update validation with check committee
2024-01-22 12:09:17 +03:00
Ekaterina Pavlova
5f745dff72
config: update validation with check committee
...
ProtocolConfiguration section must include stand by committee and the
number of validators or committee/validators history.
Close #3247
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-01-22 10:25:23 +03:00
Anna Shaleva
ed73628100
Merge pull request #3289 from nspcc-dev/rel-0.105.1
...
CHANGELOG: release 0.105.1
2024-01-12 15:37:46 +05:00
Anna Shaleva
d20775dd30
CHANGELOG: release 0.105.1
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-01-12 13:35:40 +03:00
Roman Khimov
d428cfc4f1
Merge pull request #3290 from nspcc-dev/ntr-log
...
services: improve notary service logging
2024-01-12 13:23:00 +03:00
Anna Shaleva
32fab1adf1
Merge pull request #3286 from nspcc-dev/quotes
...
Upgrade go-ordered-json version
2024-01-12 14:30:12 +05:00
Anna Shaleva
2c0c111fd5
Merge pull request #3287 from nspcc-dev/additional-networking-debugs
...
Additional networking debugs
2024-01-12 14:29:18 +05:00
Anna Shaleva
ef9f75547a
services: improve notary service logging
...
Let the user know whether it's main or fallback transaction that failed
to be relayed to the network.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-01-12 12:25:11 +03:00
Roman Khimov
f9a82ae45f
network: add debug for transactions as well
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-01-12 12:18:06 +03:00
Roman Khimov
db2e214f7e
network: add debug for notary payloads
...
Can be handy if things go wrong.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-01-12 12:18:06 +03:00
Ekaterina Pavlova
baac738ec3
smartcontract: add test of extraToStackItem with double quotes
...
C# double quotes marshalling compatibility test.
Refs #3284
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-01-12 11:18:24 +03:00
Ekaterina Pavlova
188a5e6a8f
*: upgrade go-ordered-json version
...
Ref. nspcc-dev/go-ordered-json/pull/9 needed for C# double quotes
marshalling compatibility.
Closes #3284
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-01-12 11:17:25 +03:00
Anna Shaleva
d901697615
Merge pull request #3282 from nspcc-dev/rel-0.105.0
...
CHANGELOG: release 0.105.0
2023-12-29 18:33:44 +05:00
Anna Shaleva
2da728d176
CHANGELOG: release 0.105.0
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-12-29 16:31:23 +03:00
Anna Shaleva
012da4501d
ROADMAP: update release roadmap
...
Drop deprecated plans, add new ones.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-12-29 16:20:40 +03:00
Anna Shaleva
d8320372b8
Merge pull request #3283 from nspcc-dev/waiter-refactor
...
waiter: refactor naming and implement header-based WS transactions awaiting
2023-12-29 18:05:27 +05:00