neo-go/pkg/core/interop
Anna Shaleva a7aceca74a interop: use currently executing contract state for permissions check
It's not correct to use an updated contract state got from Management to
check for the allowed method call. We need to use manifest from the
currently executing context for that. It may be critical for cases when
executing contract is being updated firstly, and after that calls
another contract. So we need an old (executing) contract manifest for
this check.

This change likely does not affect the mainnet's state since it's hard
to meet the trigger criteria, but I'd put it under the hardfork anyway.

Ref. https://github.com/neo-project/neo/pull/3290.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-06-11 19:13:17 +03:00
..
contract interop: use currently executing contract state for permissions check 2024-06-11 19:13:17 +03:00
crypto *: improve error text for System.Crypto.CheckMultisig handling 2024-03-25 19:16:21 +03:00
interopnames core: add System.Runtime.CurrentSigners syscall 2023-11-20 14:46:27 +03:00
iterator rpc: implement iterator sessions 2022-07-08 17:05:18 +03:00
runtime interop: use executing contract state for permissions checks 2024-06-03 12:32:10 +03:00
storage *: replace slice.Copy with bytes.Clone 2024-03-05 13:54:10 +03:00
context.go native: support native method/event removal 2024-05-17 15:22:26 +03:00
context_test.go core: adjust hardfork enabling logic 2023-08-25 18:24:15 +03:00
doc.go *: add more package-specific documentation 2021-03-19 16:18:45 +03:00
gas_price.go interop: fetch baseExecFee once and keep it in the Context 2021-08-11 15:42:23 +03:00