Commit graph

7419 commits

Author SHA1 Message Date
Roman Khimov
a8aa29727b
Merge pull request #2930 from nspcc-dev/addblock-lock
consensus: prevent AddBlock lock caused by consensus service
2023-03-15 17:59:48 +03:00
Anna Shaleva
c7566c2a01 consensus: perform batched chain's block sync
If there are several blocks from chain, then initialize consensus only for the
latest one.
2023-03-15 17:45:56 +03:00
Anna Shaleva
0b352349eb consensus: adjust TestService_NextConsensus after dBFT upgrade 2023-03-15 17:37:47 +03:00
Anna Shaleva
04de604afd gomod: fetch dBFT fix from https://github.com/roman-khimov/dbft/pull/4
And other dBFT updates happened since nspcc-dev was blocked.
2023-03-15 17:37:47 +03:00
Anna Shaleva
0cbef58b3c consensus: enqueue newly created blocks
Do not add them directly to chain, it will be done by the block queue
manager. Close https://github.com/nspcc-dev/neo-go/issues/2923. However,
this commit is not valid without
https://github.com/roman-khimov/dbft/pull/4.
It's the neo-go's duty to initialize consensus after subsequent block
addition; the dBFT itself must wait for the neo-go to complete the block
addition and notify the dBFT, so that it can initialize at 0-th view to
collect the next block.
2023-03-15 17:37:47 +03:00
Anna Shaleva
04d0b45ceb network: move blockqueue to a separate package 2023-03-15 17:37:47 +03:00
Anna Shaleva
91a77c25a2 network: refactor blockqueuer interface
Remove unused argument.
2023-03-15 17:37:47 +03:00
Anna Shaleva
e57e74692f consensus: drain block notification channel after each message
Make blockchain lock less possible.
2023-03-15 17:37:47 +03:00
Anna Shaleva
ea46943815 services: use buffered channels for block subscription
Add a tiny buffer where possible to avoid Blockchain's blocking
on new block addition.
2023-03-15 17:37:47 +03:00
Roman Khimov
97c7023020
Merge pull request #2933 from nspcc-dev/fix-linter
*: add nolint comments to multiple errors wrapping
2023-03-15 16:57:43 +03:00
Anna Shaleva
5f6c01336c *: add nolint comments to multiple errors wrapping
To be enabled after go 1.20 support is added.
2023-03-15 16:38:01 +03:00
Roman Khimov
1db90e538f
Merge pull request #2929 from nspcc-dev/dependabot/go_modules/examples/nft-nd-nns/golang.org/x/crypto-0.1.0
build(deps): bump golang.org/x/crypto from 0.0.0-20210711020723-a769d52b0f97 to 0.1.0 in /examples/nft-nd-nns
2023-03-14 18:24:15 +03:00
dependabot[bot]
8329f29cde
build(deps): bump golang.org/x/crypto in /examples/nft-nd-nns
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.0.0-20210711020723-a769d52b0f97 to 0.1.0.
- [Release notes](https://github.com/golang/crypto/releases)
- [Commits](https://github.com/golang/crypto/commits/v0.1.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 22:30:12 +00:00
Roman Khimov
31ee21a83a
Merge pull request #2924 from nspcc-dev/drain-queues-on-disconnect
network: drain send queues on peer disconnection
2023-02-21 17:12:23 +03:00
Roman Khimov
4f708c037d network: drain send queues on peer disconnection
Fix potential memory leak with a lot of connected clients that keep requesting
things from node and then disconnect.
2023-02-21 16:19:06 +03:00
Roman Khimov
510bc91804
Merge pull request #2922 from nspcc-dev/fix-typo
network: fix grammar typo in the error message
2023-02-20 12:45:44 +03:00
Anna Shaleva
da757fa387 network: fix grammar typo in the error message 2023-02-20 11:08:07 +03:00
Roman Khimov
475d9de2d5
Merge pull request #2916 from nspcc-dev/not-so-local-client
Not so local RPC client
2023-02-20 10:38:30 +03:00
Roman Khimov
d54418bad0
Merge pull request #2920 from nspcc-dev/fix-seek-doc
core: adjust the documentation of SeekRange's Prefix field
2023-02-18 23:18:39 +03:00
Roman Khimov
08c42c1d00
Merge pull request #2919 from nspcc-dev/dependabot/go_modules/golang.org/x/net-0.7.0
build(deps): bump golang.org/x/net from 0.3.0 to 0.7.0
2023-02-18 23:17:40 +03:00
Roman Khimov
b945f22b13
Merge pull request #2918 from nspcc-dev/any-wrapper-fix
rpcbinding: fix wrappers for Any type, fix #2898
2023-02-18 23:15:15 +03:00
Anna Shaleva
09186127da core: adjust the documentation of SeekRange's Prefix field
It is used in different context (seeking through the storage or
through the contract storage), and sometimes empty prefix is not
supported.
2023-02-18 21:06:30 +03:00
dependabot[bot]
23e3801856
build(deps): bump golang.org/x/net from 0.3.0 to 0.7.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.3.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.3.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-18 03:33:19 +00:00
Roman Khimov
b1e7f40226 rpcbinding: fix wrappers for Any type, fix #2898 2023-02-18 00:06:45 +03:00
Roman Khimov
1bdd62702c
Merge pull request #2917 from nspcc-dev/fix-link
docs: fix the link to RPC Client doc
2023-02-17 10:57:13 +03:00
Roman Khimov
bd4a9f3f22 rpcsrv: drop ws from subscriber
Subscribers can be local as well and no one uses this field anyway.
2023-02-16 23:49:58 +03:00
Roman Khimov
6f7fed344b rpcclient: add Internal client for direct RPC server calls
It has a special `requestF` and a special initialization function, but other
than that it's an absolutely regular WSClient. Can be used to call, can be
used to subscribe. Fixes #2909.
2023-02-16 23:49:58 +03:00
Roman Khimov
a55a01d456 rpcsrv: provide RegisterLocal for local clients
This allows to call RPC server more effectively in the same process (bypassing
TCP/HTTP). Refs. #2909.
2023-02-16 23:49:58 +03:00
Anna Shaleva
5892534211 docs: fix the link to RPC Client doc 2023-02-16 17:37:46 +03:00
Roman Khimov
e496084bee params: add FromAny function
Creating RPC server parameters from any data can be useful. Refs. #2909.
2023-02-15 16:46:59 +03:00
Roman Khimov
9f9c6f5dc0
Merge pull request #2915 from ixje/feat-endpoint
rpcclient: expose endpoint (fixes #2912)
2023-02-15 11:43:32 +03:00
Erik van den Brink
3bdb3a87b8 rpcclient: expose endpoint (fixes #2912) 2023-02-15 08:29:44 +01:00
Roman Khimov
1d6e48ee78
Merge pull request #2904 from nspcc-dev/export-deserialization-context
vm: export deserialization context
2023-02-08 13:04:56 +03:00
Anna Shaleva
25ed5fcd60 vm: allow custom limit duing Map\Array\Struct deserialization 2023-02-08 10:58:55 +03:00
Anna Shaleva
15fa65d30f vm: export stackitem's deserContext 2023-02-08 10:58:54 +03:00
Roman Khimov
bd26b9db83
Merge pull request #2893 from nspcc-dev/fix-wsc-sub-doc
rpcclient: adjust new subscriptions API doc
2023-01-30 15:10:57 +03:00
Anna Shaleva
51a28fac8d rpcclient: adjust new subscriptions API doc
Add a warning about consequences of unproper notifications reading.
Ref. https://github.com/morphbits/neofs-cdn-edge-manager/pull/88#discussion_r1088007680.
2023-01-30 14:36:11 +03:00
Anna Shaleva
7e709313d3 cli: ask for NEP2 account label if not provided
If NEP2 account label is not provided as a flag for import-related
CLI commands then ask it in the interactive mode.

This change breaks the compatibility with the old behaviour (add
the unnamed account if the name wasn't specified).
2023-01-26 08:50:06 +03:00
Roman Khimov
b56dff2b1e
Merge pull request #2887 from nspcc-dev/wallet-import
cli: refactor wallet import related commands
2023-01-26 08:49:18 +03:00
Anna Shaleva
b77c2846ee cli: allow to request NEP2 password from input
In case if wrong password was provided via config file we allow the
user to provide the password manually.
2023-01-25 14:20:59 +03:00
Anna Shaleva
1ef39a6e30 cli: properly handle --name and password-related wallet commands
Fetch account's name from the CLI argument and do not ask for the
user's input if provided, close #2882. Fetch password from config
if provided, close #2883.
2023-01-25 14:20:56 +03:00
Roman Khimov
1262a27065
Merge pull request #2884 from nspcc-dev/refactor/rpcsrv-error-channel
services/rpcsrv: Strengthen `Server` error channel's type
2023-01-23 19:04:58 +07:00
Leonard Lyubich
d09158161e services/rpcsrv: Strengthen Server error channel's type
According to docs, `Server` uses provided error channel only to write
encountered error to it. In this case, there is no need to accept rw
channel to create `Server` instance. Strengthening the type to
write-only will allow the caller to ensure control of reading errors
from the provided channel.

The change is backward compatible since any `chan` is `chan<-`.

Signed-off-by: Leonard Lyubich <ctulhurider@gmail.com>
2023-01-23 10:33:46 +03:00
Roman Khimov
0c43b1ddca
Merge pull request #2880 from nspcc-dev/docs/actor
rpcclient/actor: Document `RPCActor.CalculateNetworkFee` method
2023-01-18 01:46:11 +07:00
Leonard Lyubich
cbdc6ba469 rpcclient/actor: Document RPCActor.CalculateNetworkFee method
`Actor.MakeUnsignedUncheckedRun` method imposes restriction to
`CalculateNetworkFee` method's implementations: `Hash` or `Size` methods
must not be called on the pointer to the given transaction.

Add docs to adjust described requirement.

Signed-off-by: Leonard Lyubich <ctulhurider@gmail.com>
2023-01-17 21:28:20 +03:00
Roman Khimov
8c8c8d1bb1
Merge pull request #2879 from nspcc-dev/adj-doc
*: adjust subscription-related doc
2023-01-18 00:44:19 +07:00
Anna Shaleva
28927228f0 *: adjust subscription-related doc
Add a warning about received events modification where applicable.
2023-01-17 17:11:19 +03:00
Roman Khimov
22fc8d1adc
Merge pull request #2877 from nspcc-dev/chlog-101
CHANGELOG: release 0.101.0
2023-01-13 17:22:31 +07:00
Roman Khimov
ee3257df6e CHANGELOG: release 0.101.0 2023-01-13 13:13:34 +03:00
Roman Khimov
c46b7a9e34
Merge pull request #2876 from nspcc-dev/improve-consensus-doc
Improve consensus doc and docker configs
2023-01-13 16:51:50 +07:00