Commit graph

6750 commits

Author SHA1 Message Date
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
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
Roman Khimov
e2bd76713b config: improve 4 CN docker configs, three nodes are enough 2023-01-13 11:35:29 +03:00
Roman Khimov
1e35387c04 docs: fix the MinPeers consensus requirements
It won't work with 1 for a single node and 3 for 4 CN scenario doesn't allow
the network to start with just three nodes (although technically 3 out of 4 is
sufficient to operate). See #2874.
2023-01-13 11:33:19 +03:00
Roman Khimov
efbef4254a
Merge pull request #2873 from nspcc-dev/drop-circleci
Drop CircleCI support
2023-01-12 12:49:48 +07:00
Roman Khimov
40ef567527
Merge pull request #2872 from nspcc-dev/fix-missing-exception-in-applog
state: always marshal applog exception into JSON, fix #2869
2023-01-12 12:49:00 +07:00
Roman Khimov
babc44bfb3
Merge pull request #2871 from nspcc-dev/fix-shadowed-infinite-loop
Fix shadowed infinite loop
2023-01-12 12:48:39 +07:00
Roman Khimov
4862bb9aae drop CircleCI support
It stopped running our tests/builds, but we don't care, Github works well.
2023-01-11 17:43:07 +03:00
Roman Khimov
9a6fa84f70
Merge pull request #2867 from nspcc-dev/store-magic-in-db
core: store magic in the DB version, fix #2847
2023-01-11 20:42:00 +07:00
Roman Khimov
4e23695441
Merge pull request #2866 from nspcc-dev/findstates-ret-nothing
Fix findstates response difference
2023-01-11 20:41:10 +07:00
Roman Khimov
e037249d37
Merge pull request #2865 from nspcc-dev/fix-applog-values
Fix applog values
2023-01-11 20:40:44 +07:00
Roman Khimov
817f64f9fe state: always marshal applog exception into JSON, fix #2869
Fortunately, this is backwards-compatible in any direction. See
98b5e2b353 also.
2023-01-11 16:36:41 +03:00
Roman Khimov
8305389852 compiler: don't panic, return error for strange range loops
See #2870.
2023-01-11 16:21:40 +03:00
Roman Khimov
92acc71c80 compiler: create new locals for range loops when needed, fix #2855 2023-01-11 15:49:10 +03:00
Roman Khimov
1c4c783c3a core: store magic in the DB version, fix #2847 2023-01-11 12:05:05 +03:00
Roman Khimov
e780037cb4 rpcsrv: use valid stateroot hash in failing tests
Just in case.
2023-01-11 11:23:47 +03:00
Roman Khimov
9718602ce3 rpcsrv: return empty set from findstates when there is no data
Fix #2863.
2023-01-11 11:21:58 +03:00
Roman Khimov
584675ec23 state: optimize NEP17Transfer struct
We have both from and to here, so technically we can either drop the neg/neg
trick from the processTokenTransfer() or drop one field from the structure
(the other side is a part of the key). Drop the field since this can make the
DB a bit more compact. Change Amount to be a pointer along the way since
that's the "native" thing for big.Int, we've used non-pointer field
specifically to avoid Neg/Neg problems, but it looks like this is not
necessary.

This structure is only used by the RPC server and I doubt anyone uses it via
the *Blockchain.
2023-01-10 22:51:45 +03:00
Roman Khimov
dfd4f6978f bigint: don't reallocate big.Int in ToBytes(), fix #2864
In some cases n.Add() can reuse the []Word buffer and n.Sub() reallocate it
away. If that happens, we're out of luck with 0.99.0+ versions (since
3945e81857). I'm not sure why it does that, bit
width doesn't change in most of the cases and even if it does, we still have
enough of it in cap() to hold the old Abs() value (when we have a negative
value we in fact decreate its Abs() first and increase it back
afterwards). Still, that's what we have.

So when we have processTokenTransfer() doing Neg/Neg in-place its value is not
affected, but the original []Word bits that are reused by amount value are
(they're shared initially, Amount: *amount).

name                   old time/op    new time/op    delta
ToPreallocatedBytes-8    65.8ns ± 2%    45.6ns ± 2%  -30.73%  (p=0.008 n=5+5)

name                   old alloc/op   new alloc/op   delta
ToPreallocatedBytes-8     0.00B          0.00B          ~     (all equal)

name                   old allocs/op  new allocs/op  delta
ToPreallocatedBytes-8      0.00           0.00          ~     (all equal)
2023-01-10 22:51:45 +03:00
Roman Khimov
5ad1fcd321
Merge pull request #2852 from nspcc-dev/required-hash
cli: mark required flags of `generate-*` command
2023-01-10 02:23:28 +07:00