Anna Shaleva
0d17273476
core: fix formatted error on transaction verification
...
Witnesses are not yet created by the moment we return this error,
thus, it was always 0 as an actual number of witnesses in
ErrInvalidWitnessNum.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-07-21 13:50:20 +03:00
Anna Shaleva
0a2be89964
core: remove unused blockchain API
...
`(*Blockchain).HasTransaction` is one of the oldest methods in our
codebase, and currently it's completely unused. I also doubt that
this method works as expected because it returns `true` if transaction
in the mempool.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-07-21 13:37:02 +03:00
Roman Khimov
862c2e4ed3
Merge pull request #3060 from nspcc-dev/extend-rpc-signers
...
neorpc: adjust `SignerWithWitness` marshalling scheme
2023-07-20 17:27:23 +03:00
Roman Khimov
35ebdc1c91
Merge pull request #3065 from nspcc-dev/forbid-notary-sender
...
network: forbid Notary contract to be a sender of main transaction
2023-07-20 11:09:19 +03:00
Anna Shaleva
966111f4a8
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-07-20 10:56:48 +03:00
Anna Shaleva
8253025c90
core: do not use formatted error if not needed
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-07-20 10:33:50 +03:00
Anna Shaleva
165525b7e9
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-07-20 10:33:50 +03:00
Anna Shaleva
9f69522ff5
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-07-20 10:33:48 +03:00
Anna Shaleva
e7a83cbef9
Merge pull request #3057 from nspcc-dev/upd-release-doc
...
docs: adjust release instructions
2023-07-11 18:32:03 +05:00
Anna Shaleva
8fcfa2c11a
docs: adjust release instructions
...
Our assets will be automatically attached to the release after #3010 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-07-11 08:36:05 +03:00
Anna Shaleva
ee885bafdf
Merge pull request #3053 from nspcc-dev/rel-0.101.3
...
Release 0.101.3
2023-07-08 14:11:28 +05:00
Anna Shaleva
146775213a
CHANGELOG: release 0.101.3
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-07-08 11:54:07 +03:00
Anna Shaleva
762a8da76a
core: remove contract script check on deploy/update
...
This check is good and was present here since #1729 , but it was
accidently removed from the reference implementation (see the
discussion in https://github.com/neo-project/neo/issues/2848 ). The
removal of this check from the C# node leaded to the T5 testnet state
diff since 1670095 heigh which causes inability to process new blocks
since 2272533 height (see #3049 ). This check was added back to the
C# node in https://github.com/neo-project/neo/pull/2849 , but it is
planned to be the part of the upcoming 3.6.0 C# node release.
We need to keep our testnet healthy, thus, strict contract script
check will be temporary removed from the node code and is planned
to be added back to be a part of the next 3.6.0-compatible release.
Close #3049 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-07-08 11:49:31 +03:00
Anna Shaleva
f611a793a7
Merge pull request #3052 from nspcc-dev/remove-script-check
...
core: remove contract script check on deploy/update
2023-07-08 13:40:05 +05:00
Anna Shaleva
68ad542639
Merge pull request #3047 from nspcc-dev/incremental-dump-creation
...
server: allow to create incremental dumps
2023-07-06 16:15:35 +05:00
Anna Shaleva
48c8ae359f
Merge pull request #3055 from nspcc-dev/dependabot/go_modules/google.golang.org/grpc-1.53.0
...
build(deps): bump google.golang.org/grpc from 1.48.0 to 1.53.0
2023-07-06 16:14:07 +05:00
dependabot[bot]
ca80cfea2b
build(deps): bump google.golang.org/grpc from 1.48.0 to 1.53.0
...
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.48.0 to 1.53.0.
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.48.0...v1.53.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-05 21:28:13 +00:00
Anna Shaleva
6fa4bcdc1d
core: remove contract script check on deploy/update
...
This check is good and was present here since #1729 , but it was
accidently removed from the reference implementation (see the
discussion in https://github.com/neo-project/neo/issues/2848 ). The
removal of this check from the C# node leaded to the T5 testnet state
diff since 1670095 heigh which causes inability to process new blocks
since 2272533 height (see #3049 ). This check was added back to the
C# node in https://github.com/neo-project/neo/pull/2849 , but it is
planned to be the part of the upcoming 3.6.0 C# node release.
We need to keep our testnet healthy, thus, strict contract script
check will be temporary removed from the node code and is planned
to be added back to be a part of the next 3.6.0-compatible release.
Close #3049 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-07-04 14:17:04 +03:00
Anna Shaleva
bfe8867e63
cli: add test for incremental DB dump and restore
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-07-03 13:53:41 +03:00
Roman Khimov
abb58fb7de
Merge pull request #3048 from nspcc-dev/rel-0.101.2
...
Release 0.101.2
2023-06-29 13:34:06 +03:00
Roman Khimov
91b57745ac
Merge pull request #3046 from nspcc-dev/mainnet-state-fix
...
interop/contract: fix state rollbacks for nested contexts
2023-06-29 12:24:23 +03:00
Roman Khimov
e993003b46
CHANGELOG: release 0.101.2
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-06-29 12:20:26 +03:00
Anna Shaleva
3bf8192f98
rpcclient: make Notary Actor follow the request creation doc
...
All Notary contract witnesses in incomplete transaction (both main
and fallback) may either have invocation scripts pushing dummy signature
on stack or be empty, both ways are OK. Notary actor keeps main tx's
Notary witness empty and keeps fallback tx's Notary witness filled
with dummy signature.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-29 12:04:40 +03:00
Anna Shaleva
60e6fe05a7
docs: improve Notary's till
value documentation
...
Close #2986 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-29 12:03:51 +03:00
Roman Khimov
70aed34d77
interop/contract: fix state rollbacks for nested contexts
...
Our wrapping optimization relied on the caller context having a TRY block,
but each context (including internal calls!) has an exception handling stack
of its own, which means that for an invocation stack of
entry
A.someMethodFromEntry() # this one has a TRY
A.internalMethodViaCALL() # this one doesn't
B.someMethod()
we get `HasTryBlock() == false` for `A.internalMethodViaCALL()` context, which
leads to missing wrapper and missing rollbacks if B is to THROW. What this
patch does instead is it checks for any context within contract boundaries.
Fixes #3045 .
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-06-29 11:58:12 +03:00
Roman Khimov
50c8805034
*: drop legacy addresses from examples
...
They can't even be used now because they'll fail the conversion.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-06-29 11:56:26 +03:00
Anna Shaleva
84b00d46aa
rpc: emit Null in case of Any
parameter with zero-len value
...
Otherwise it leads to the following error in the TestActor_CallWithNilParam:
```
=== RUN TestActor_CallWithNilParam
logger.go:130: 2023-04-03T15:58:27.672+0300 INFO initial gas supply is not set or wrong, setting default value {"InitialGASSupply": "52000000"}
logger.go:130: 2023-04-03T15:58:27.672+0300 INFO P2PNotaryRequestPayloadPool size is not set or wrong, setting default value {"P2PNotaryRequestPayloadPoolSize": 1000}
logger.go:130: 2023-04-03T15:58:27.672+0300 INFO MaxBlockSize is not set or wrong, setting default value {"MaxBlockSize": 262144}
logger.go:130: 2023-04-03T15:58:27.672+0300 INFO MaxBlockSystemFee is not set or wrong, setting default value {"MaxBlockSystemFee": 900000000000}
logger.go:130: 2023-04-03T15:58:27.672+0300 INFO MaxTransactionsPerBlock is not set or wrong, using default value {"MaxTransactionsPerBlock": 512}
logger.go:130: 2023-04-03T15:58:27.672+0300 INFO MaxValidUntilBlockIncrement is not set or wrong, using default value {"MaxValidUntilBlockIncrement": 5760}
logger.go:130: 2023-04-03T15:58:27.675+0300 INFO no storage version found! creating genesis block
logger.go:130: 2023-04-03T15:58:27.675+0300 INFO ExtensiblePoolSize is not set or wrong, using default value {"ExtensiblePoolSize": 20}
logger.go:130: 2023-04-03T15:58:27.675+0300 INFO SessionPoolSize is not set or wrong, setting default value {"SessionPoolSize": 20}
logger.go:130: 2023-04-03T15:58:27.675+0300 INFO MaxWebSocketClients is not set or wrong, setting default value {"MaxWebSocketClients": 64}
logger.go:130: 2023-04-03T15:58:27.675+0300 INFO starting rpc-server {"endpoint": "localhost:0"}
logger.go:130: 2023-04-03T15:58:27.677+0300 DEBUG done processing headers {"headerIndex": 1, "blockHeight": 0, "took": "436.313µs"}
logger.go:130: 2023-04-03T15:58:27.679+0300 DEBUG done processing headers {"headerIndex": 2, "blockHeight": 1, "took": "272.891µs"}
logger.go:130: 2023-04-03T15:58:27.680+0300 DEBUG done processing headers {"headerIndex": 3, "blockHeight": 2, "took": "276.949µs"}
logger.go:130: 2023-04-03T15:58:27.681+0300 DEBUG done processing headers {"headerIndex": 4, "blockHeight": 3, "took": "286.028µs"}
logger.go:130: 2023-04-03T15:58:27.681+0300 DEBUG done processing headers {"headerIndex": 5, "blockHeight": 4, "took": "268.673µs"}
logger.go:130: 2023-04-03T15:58:27.681+0300 INFO bad notification {"contract": "565cff9508ebc75aadd7fe59f38dac610ab6093c", "event": "Transfer", "error": "parameter 0 type mismatch: Hash160 vs ByteString"}
logger.go:130: 2023-04-03T15:58:27.682+0300 DEBUG done processing headers {"headerIndex": 6, "blockHeight": 5, "took": "380.988µs"}
logger.go:130: 2023-04-03T15:58:27.683+0300 DEBUG done processing headers {"headerIndex": 7, "blockHeight": 6, "took": "273.543µs"}
logger.go:130: 2023-04-03T15:58:27.683+0300 DEBUG done processing headers {"headerIndex": 8, "blockHeight": 7, "took": "275.163µs"}
logger.go:130: 2023-04-03T15:58:27.684+0300 DEBUG done processing headers {"headerIndex": 9, "blockHeight": 8, "took": "259.578µs"}
logger.go:130: 2023-04-03T15:58:27.685+0300 DEBUG done processing headers {"headerIndex": 10, "blockHeight": 9, "took": "266.882µs"}
logger.go:130: 2023-04-03T15:58:27.686+0300 DEBUG done processing headers {"headerIndex": 11, "blockHeight": 10, "took": "295.3µs"}
logger.go:130: 2023-04-03T15:58:27.687+0300 DEBUG done processing headers {"headerIndex": 12, "blockHeight": 11, "took": "295.568µs"}
logger.go:130: 2023-04-03T15:58:27.688+0300 DEBUG done processing headers {"headerIndex": 13, "blockHeight": 12, "took": "258.197µs"}
logger.go:130: 2023-04-03T15:58:27.689+0300 DEBUG done processing headers {"headerIndex": 14, "blockHeight": 13, "took": "261.602µs"}
logger.go:130: 2023-04-03T15:58:27.689+0300 DEBUG done processing headers {"headerIndex": 15, "blockHeight": 14, "took": "268.922µs"}
logger.go:130: 2023-04-03T15:58:27.690+0300 DEBUG done processing headers {"headerIndex": 16, "blockHeight": 15, "took": "276.176µs"}
logger.go:130: 2023-04-03T15:58:27.691+0300 DEBUG done processing headers {"headerIndex": 17, "blockHeight": 16, "took": "256.068µs"}
logger.go:130: 2023-04-03T15:58:27.692+0300 DEBUG done processing headers {"headerIndex": 18, "blockHeight": 17, "took": "262.303µs"}
logger.go:130: 2023-04-03T15:58:27.692+0300 DEBUG done processing headers {"headerIndex": 19, "blockHeight": 18, "took": "265.087µs"}
logger.go:130: 2023-04-03T15:58:27.693+0300 DEBUG done processing headers {"headerIndex": 20, "blockHeight": 19, "took": "260.758µs"}
logger.go:130: 2023-04-03T15:58:27.694+0300 DEBUG done processing headers {"headerIndex": 21, "blockHeight": 20, "took": "263.482µs"}
logger.go:130: 2023-04-03T15:58:27.694+0300 DEBUG done processing headers {"headerIndex": 22, "blockHeight": 21, "took": "327.812µs"}
logger.go:130: 2023-04-03T15:58:27.696+0300 DEBUG done processing headers {"headerIndex": 23, "blockHeight": 22, "took": "284.104µs"}
logger.go:130: 2023-04-03T15:58:27.697+0300 WARN contract invocation failed {"tx": "82279bfe9bada282ca0f8cb8e0bb124b921af36f00c69a518320322c6f4fef60", "block": 23, "error": "at instruction 0 (ABORT): ABORT"}
logger.go:130: 2023-04-03T15:58:27.697+0300 DEBUG processing rpc request {"method": "getversion", "params": "[]"}
logger.go:130: 2023-04-03T15:58:27.698+0300 DEBUG processing rpc request {"method": "invokefunction", "params": "[565cff9508ebc75aadd7fe59f38dac610ab6093c putValue ]"}
client_test.go:2562:
Error Trace: /home/anna/Documents/GitProjects/nspcc-dev/neo-go/pkg/services/rpcsrv/client_test.go:2562
Error: Should be true
Test: TestActor_CallWithNilParam
Messages: at instruction 6 (PACK): OPACK: invalid length
logger.go:130: 2023-04-03T15:58:27.699+0300 INFO shutting down RPC server {"endpoint": "127.0.0.1:46005"}
logger.go:130: 2023-04-03T15:58:27.700+0300 INFO persisted to disk {"blocks": 23, "keys": 1236, "headerHeight": 23, "blockHeight": 23, "took": "908.825µs"}
--- FAIL: TestActor_CallWithNilParam (0.03s)
FAIL
```
See also the ref. df534f6b0c/src/Neo/SmartContract/ContractParameter.cs (L141)
and the way how parameters are handled by ref. RPC server:
4b3a76e1b7/src/RpcServer/RpcServer.SmartContract.cs (L202)
and FromJSON implementation:
df534f6b0c/src/Neo/SmartContract/ContractParameter.cs (L70)
2023-06-29 11:51:40 +03:00
Roman Khimov
a30f098f73
server: allow to create incremental dumps
...
Anything not starting from 0 is incremental by definition.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-06-29 11:41:33 +03:00
Roman Khimov
20b19d4599
interop/contract: fix state rollbacks for nested contexts
...
Our wrapping optimization relied on the caller context having a TRY block,
but each context (including internal calls!) has an exception handling stack
of its own, which means that for an invocation stack of
entry
A.someMethodFromEntry() # this one has a TRY
A.internalMethodViaCALL() # this one doesn't
B.someMethod()
we get `HasTryBlock() == false` for `A.internalMethodViaCALL()` context, which
leads to missing wrapper and missing rollbacks if B is to THROW. What this
patch does instead is it checks for any context within contract boundaries.
Fixes #3045 .
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-06-29 11:35:10 +03:00
Roman Khimov
9185820289
Merge pull request #3042 from nspcc-dev/allow-gt-equality-comparison
2023-06-15 22:38:20 +03:00
Anna Shaleva
31e2076810
native: move BLS12-381-related operations to a separate file
...
No functional changes, just refactoring.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-15 18:58:27 +03:00
Anna Shaleva
ea13fbe94a
core: improve errors logging for bls12381-related operations
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-15 15:01:10 +03:00
Anna Shaleva
71bcb8bade
native: allow to use EQUAL opcode for BLS12-381 points comparison
...
That's the way how C# node handles equality checks for stackitem.Interop types
for these points. Ref. https://github.com/nspcc-dev/neo-go/issues/3002#issuecomment-1591220501 .
Along the way, add GT case for CryptoLib's bls12381Equal method. It should be there since #2940 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-15 15:00:27 +03:00
Roman Khimov
a2daad6ba6
Merge pull request #3037 from nspcc-dev/sdk-upd
...
oracle: update NeoFS SDK to 1.0.0-rc.9
2023-06-06 18:02:08 +03:00
Anna Shaleva
0d470edf21
oracle: make use of ReadCloser returned from NeoFS's getters
...
Close #3032 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-06 17:40:19 +03:00
Anna Shaleva
4b2fc32462
oracle: update NeoFS SDK to 1.0.0-rc.9
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-06 11:47:24 +03:00
Roman Khimov
b86975b061
Merge pull request #3036 from nspcc-dev/fix-rpcbinding
...
rpcbinding: call `scriptFor*` as method
2023-06-06 00:12:15 +03:00
Anna Shaleva
802a2b3879
rpcbinding: call scriptFor*
as method
...
Should be a part of #3035 , otherwise generated bindings are failed to
be compiled.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-05 18:31:34 +03:00
Roman Khimov
f96ccf2bfe
Merge pull request #3035 from nspcc-dev/fix-rpcbinding
...
rpcbinding: convert `scriptFor*` from function to method
2023-06-05 18:00:40 +03:00
Anna Shaleva
c7836ed6e7
rpcbinding: convert scriptFor*
from function to method
...
Should be a part of #3012 , otherwise generated bindings are failed to
be compiled.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-05 17:50:07 +03:00
Roman Khimov
805157b7a0
Merge pull request #3034 from nspcc-dev/update-bolt
...
go.mod: upgrade bolt to v1.3.7
2023-06-05 16:25:23 +03:00
Roman Khimov
67ce9de181
go.mod: upgrade bolt to v1.3.7
...
Refs. nspcc-dev/neofs-node#999 , it fixes a number of other Windows-related
issues as well.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-06-05 14:59:08 +03:00
Roman Khimov
a0117042e8
Merge pull request #3012 from nspcc-dev/dynamic-rpc-hash
...
cli: allow dynamic RPC binding contract hash
2023-06-01 16:16:42 +03:00
Anna Shaleva
f97eaddfd1
cli: allow dynamic RPC binding contract hash
...
Close #3006 and make a light base for #3007 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-01 16:06:28 +03:00
Roman Khimov
50fad8455f
Merge pull request #3031 from nspcc-dev/conflicts-priority
...
mempool: adjust the rule of conflicting transaction ranking
2023-06-01 13:48:46 +03:00
Anna Shaleva
68b9ff1f17
mempool: adjust the rule of conflicting transaction ranking
...
Pay for all the conflicts if you'd like to went in. Close #3028 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-06-01 13:33:21 +03:00
Roman Khimov
772e723e8e
Merge pull request #3008 from nspcc-dev/event-gen
...
Close #2891 .
2023-05-31 23:56:51 +03:00
Roman Khimov
9a15d2d781
Merge pull request #3029 from nspcc-dev/drop-legacy-addresses-from-examples
...
*: drop legacy addresses from examples
2023-05-31 18:36:34 +03:00
Roman Khimov
8beb3f4515
*: drop legacy addresses from examples
...
They can't even be used now because they'll fail the conversion.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-05-31 18:32:02 +03:00
Anna Shaleva
9f9cec53bd
rpcbinding: provide links to types in comments
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-05-31 15:53:43 +03:00