Tatiana Nesterenko
f557959c24
rpcsrv: return error on invalid proof from verifyProof
...
This change makes code incompatible with C# node,
because currently no error is returned on invalid proof.
According to proposal:
https://github.com/neo-project/proposals/pull/156
Also adding `verifyProof` descpiption in docs/rpc.md.
Signed-off-by: Tatiana Nesterenko <tatiana@nspcc.io>
2023-08-16 14:00:24 +01:00
Tatiana Nesterenko
2598257628
core: rename ErrInvalidVerification and ErrInvalidInvocation
...
No functional changes, just a refactoring.
Use more specific and meaningful names to be able to use these errors from external packages.
Signed-off-by: Tatiana Nesterenko <tatiana@nspcc.io>
2023-08-16 14:00:24 +01:00
Tatiana Nesterenko
1e6372e6d9
rpcsrv: return error on unknown storage item from getstorage
...
Follow the reference implementation, the behaviour was changed in
237ef7d057
.
Signed-off-by: Tatiana Nesterenko <tatiana@nspcc.io>
2023-08-16 14:00:24 +01:00
Tatiana Nesterenko
d3fe92de14
rpcsrv: remove default request HTTP codes from switch statement
...
No functional changes, just a refactoring.
Signed-off-by: Tatiana Nesterenko <tatiana@nspcc.io>
2023-08-16 14:00:24 +01:00
Tatiana Nesterenko
3b29720298
neorpc: add deprecated error codes for C#-compatibility
...
While our server no longer uses these codes (-100, -400) they still can come
from C# servers and while we consider them deprecated we better at least have
some definition of them until C# implements our proposal:
https://github.com/neo-project/proposals/pull/156
Also adding description of deprecated RPC error codes in ROADMAP.md.
Signed-off-by: Tatiana Nesterenko <tatiana@nspcc.io>
2023-08-16 13:59:39 +01:00
Tatiana Nesterenko
3178c8ff78
docs: add proposal regarding response error codes
...
According to proposal:
https://github.com/neo-project/proposals/pull/156
Close #2248
Signed-off-by: Tatiana Nesterenko <tatiana@nspcc.io>
2023-08-16 13:59:37 +01:00
Tatiana Nesterenko
31ceb568cb
neorpc: add error codes and response errors
...
According to proposal:
https://github.com/neo-project/proposals/pull/156
Close #2248
Signed-off-by: Tatiana Nesterenko <tatiana@nspcc.io>
2023-08-16 13:59:33 +01:00
Tatiana Nesterenko
3abddc78c0
core: split ErrAlreadyExists into ErrAlreadyExists and ErrAlreadyInPool
...
ErrAlreadyExists is in blockchain and ErrAlreadyInPool is in mempool.
Signed-off-by: Tatiana Nesterenko <tatiana@nspcc.io>
2023-08-16 12:36:56 +01:00
Roman Khimov
9fb154a376
Merge pull request #3074 from nspcc-dev/fix-debug-info
...
compiler: fix sequence point boundaries
2023-08-12 00:17:19 +03:00
Anna Shaleva
d1fe64470d
compiler: fix sequence point boundaries
...
Thanks to @fyrchik , see the
https://github.com/neo-project/neo-devpack-dotnet/pull/154/files#diff-ebf53d00d5ba1f1197fedd2b8111fe9a8f44fb96699ef1314d54d05d5ceeb3f3R27
See also the standard:
https://github.com/neo-project/proposals/blob/master/nep-19.mediawiki#method .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-11 20:16:02 +03:00
Roman Khimov
4e61e8238a
Merge pull request #3087 from nspcc-dev/smart-binding
...
rpcbinding: export any unexported fields of structures/events
2023-08-11 18:11:47 +03:00
Anna Shaleva
16d1d1e5eb
rpcbinding: check duplicating struct fields before binding generation
...
RPC binding config may be malformed or the source .go contract may contain
structures like this:
```
type Str struct {
Field int
field int
}
```
We need to recognise these cases and return error. otherwise the resulting
binding can't be compiled.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-11 17:48:54 +03:00
Anna Shaleva
b4c0fcfaad
cli: move RPC bindings related testdata to a separate folder
...
It helps us to keep the index clean and ordered. When some new RPC binding
test should be added, we don't need to search for a suitable place for it.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-11 17:03:04 +03:00
Anna Shaleva
b2f84c83b3
rpcbinding: reuse upperFirst
helper where possible
...
No functional changes.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-11 15:32:00 +03:00
Anna Shaleva
1356721862
rpcbinding: export any unexported fields of structures/events
...
Perform private -> public transformation at the last step of RPC binding
generation so that it works not only with NeoGo contracts, but with any
other contracts.
Close #3083 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-11 15:31:08 +03:00
Roman Khimov
11c0f13d06
Merge pull request #3080 from nspcc-dev/extend-int-prec
...
vm: increase BigInt parsing precision
2023-08-10 13:30:04 +03:00
Anna Shaleva
624f193f94
vm: move JNumbers parsing precision under HFBasilisk
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 13:14:16 +03:00
Anna Shaleva
d90608ddbf
vm: increase BigInt parsing precision
...
Follow the https://github.com/neo-project/neo/pull/2883 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 13:14:16 +03:00
Roman Khimov
562293c74b
Merge pull request #3066 from nspcc-dev/abort-msg
...
vm, compiler: support `ASSERTMSG` and `ABORTMSG`
2023-08-10 13:11:41 +03:00
Anna Shaleva
3608314c15
.github: enable submodules sync for actions/checkout@v3
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 12:54:07 +03:00
Anna Shaleva
158d8e69a4
vm: update VM json tests path
...
It was changed way back in 5a11f4b4ca
.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 12:54:07 +03:00
Anna Shaleva
5b12be2ac7
compiler: add test for util.AbortMsg and util.AssertMsg
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 12:54:07 +03:00
Anna Shaleva
de43b39c2a
*: update interop deps
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 12:54:06 +03:00
Anna Shaleva
11bb733f1a
interop: support ABORTMSG, ASSERT, ASSERTMSG opcodes
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 12:41:30 +03:00
Anna Shaleva
e7f77e052f
vm: add ABORTMSG and ASSERTMSG opcodes
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 12:41:30 +03:00
Roman Khimov
2493400525
Merge pull request #3085 from nspcc-dev/fix-oracle-instance
2023-08-10 12:02:26 +03:00
Anna Shaleva
c39153756a
rpcsrv: carefully store Oracle service
...
And simplify atomic service value stored by RPC server. Oracle service can
either be an untyped nil or be the proper non-nil *oracle.Oracle.
Otherwise `submitoracleresponse` RPC handler doesn't work properly.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 10:12:01 +03:00
Roman Khimov
25f61b45dd
Merge pull request #3056 from nspcc-dev/revert-script-check-removal
...
core: create hardfork for strict script check
2023-08-09 20:55:55 +03:00
Anna Shaleva
50ee241377
core: move strict script check on deploy under HF condition
...
Follow the https://github.com/neo-project/neo/pull/2881 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-09 18:32:30 +03:00
Anna Shaleva
bd937bc500
Revert "core: remove contract script check on deploy/update"
...
This reverts commit 762a8da76a
.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-09 18:30:47 +03:00
Anna Shaleva
6c1240d023
cli: fix failing TestRunWithHistoricState
...
Broken by #3084 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-09 15:26:38 +03:00
Roman Khimov
5fc61be5f6
Merge pull request #3084 from nspcc-dev/wrkshp-upd
...
examples, config: minor adjustments for workshop
2023-08-08 22:54:20 +03:00
Anna Shaleva
4e6b1c4a38
examples: extend storage contract
...
Add method that returns iterator. It's needed for the workshop.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-08 18:30:22 +03:00
Anna Shaleva
b5f17215db
config: enable session-based iterators on privnet
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-08 18:29:02 +03:00
Roman Khimov
afa4530c7d
Merge pull request #3078 from nspcc-dev/fix-failing-tests
...
Take care of master branch after 0.101.4 release
2023-08-02 10:53:07 +03:00
Anna Shaleva
e82fcb48c4
go.sum: update sums after 0.101.4 merge
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-02 10:35:22 +03:00
Anna Shaleva
50a77f3fae
rpcclient: fix test after 0.101.4 merge
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-02 10:35:19 +03:00
Roman Khimov
7e867aefc4
Merge pull request #3077 from nspcc-dev/rel-0.101.4
...
Rel 0.101.4
2023-08-01 19:41:26 +03:00
Anna Shaleva
18c42f7993
Merge branch 'master' into rel-0.101.4
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 19:34:34 +03:00
Anna Shaleva
80fdb1c90c
CHANGELOG: release 0.101.4
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 19:23:01 +03:00
Anna Shaleva
e2c6bbb6b1
rpcsrv: properly set content-type and CORS for all headers
...
Not only for successful ones. Close #3075 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 17:47:48 +03:00
Anna Shaleva
8d5a41de6e
vm: allow parsing scientific JSON numbers
...
52-bit precision is not enough for our 256-bit VM, but this value
matches the reference implementation, see the
https://github.com/neo-project/neo/issues/2879 .
MaxIntegerPrec will be increased (or even removed) as soon as the
ref. issue is resolved.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 17:46:56 +03:00
Anna Shaleva
6615cce81d
rpcclient: adjust unwrapContract
helper
...
There may be no such contract, then Null stackitem is expected on stack.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 17:46:12 +03:00
Anna Shaleva
c0abc61613
smartcontract: allow to pass nil as parameter to (*Invoker).Call
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 17:45:52 +03:00
Anna Shaleva
bf871760c6
core: do not use formatted error if not needed
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 17:44:48 +03:00
Anna Shaleva
96aa10bb80
neorpc: adjust the way SignerWithWitness is marshalled
...
Marshal account with `0x` prefix and add a test.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 17:44:43 +03:00
Anna Shaleva
8db997c58a
neorpc: adjust SignerWithWitness scopes parsing
...
Ensure that Scopes can be properly parsed not only from the string
representation, but also from a single byte. transaction.Signer
is not affected (checked against the C# implementation), only
RPC-related signer scopes are allowed to be unmarshalled from byte.
Close #3059 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 17:44:37 +03:00
Anna Shaleva
e30e262e66
network: forbid Notary contract to be a sender of main transaction
...
This prevents the possible attack on notary request sender when
malicious partie is allowed to send notary request with main transaction
being someone else's fallback.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 17:44:24 +03:00
Anna Shaleva
ebe4c4ce2b
cli: add test for incremental DB dump and restore
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-01 17:44:03 +03:00
Roman Khimov
b560475e67
server: allow to create incremental dumps
...
Anything not starting from 0 is incremental by definition.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-08-01 17:43:57 +03:00