Anna Shaleva
edfca68a17
rpc: refactor invokecontractverify
...
In `(c *Client) AddNetworkFee` we define network fee for contract
witness verification via `invokecontractverify` RPC call, and that's the
initial purpose of this RPC method. But it was not implemented
correctly. It used `System.Contract.Call` instead of beheiving like
`initVerificationVM`.
During real contract witness verification the whole contract's script is
loaded into VM, and then we jump to the `verify` method. Thus, to define
exact contract verification price, we should act like this (and not just
perform `System.Contract.Call` of `verify` method).
Tests are added.
This bug is the reason of adding extra GAS (c.notary.extraVerifyFee) to
pre-calculated value in
https://github.com/nspcc-dev/neofs-node/pull/404/files#diff-639db437ca2578db46c9e8cbf18f9aa01f8ca5aee30e0fa7e70ba0354822d7b3R237
2021-03-12 18:59:20 +03:00
Anna Shaleva
1261dd5306
core: refactor initVerificationVM
...
It needs only VM and function to get contract state. Also exposed this
method and extended Blockchainer. These changes are needed for the
next commit.
2021-03-12 18:55:27 +03:00
Roman Khimov
f7d74190f5
Merge pull request #1829 from nspcc-dev/change-hashing-scheme
...
Change hashing scheme
2021-03-12 15:20:23 +03:00
Evgeniy Stratonikov
540c6c13a9
oracle/neofs: allow to use filters on NeoFS responses
2021-03-12 14:15:40 +03:00
Roman Khimov
7730aef0ec
payload: adapt notary payloads to new hashing too
2021-03-12 14:14:22 +03:00
Roman Khimov
9d500b86fc
context: s/hex/data/ for JSON
...
See neo-project/neo#2394 .
2021-03-12 13:10:24 +03:00
Anna Shaleva
85a8644517
core: add nativenames.IsValid
2021-03-12 13:05:37 +03:00
Roman Khimov
dc980b5847
sc/context: add network magic into the context
...
See neo-project/neo#2393 , we need this to be able to sign multisig
transactions.
2021-03-12 12:59:14 +03:00
Roman Khimov
508a1ca9ee
Merge pull request #1828 from nspcc-dev/lower-getter-prices
...
native: change getCommittee/getNextBlockValidators price
2021-03-12 11:44:49 +03:00
Roman Khimov
6326094264
native: change getCommittee/getNextBlockValidators price
...
See neo-project/neo#2392 , neo-project/neo#2391 .
2021-03-12 11:32:27 +03:00
Roman Khimov
4462a6a6b7
change block/tx/extensible signing process, fix #1741
...
Sign [magic, hash], see neo-project/neo#2314 .
2021-03-12 11:27:50 +03:00
Roman Khimov
3e9bd0be72
smartcontract: use base64 encoding for verifiable items
...
See neo-project/neo#1199 .
2021-03-11 19:55:20 +03:00
Roman Khimov
096f48caf0
Merge pull request #1820 from nspcc-dev/fix/nativetypes
...
native: use proper types in manifest
2021-03-11 17:02:34 +03:00
Roman Khimov
72e2d89ba9
Merge pull request #1826 from nspcc-dev/fix/prices
...
core/fee: alter opcode prices
2021-03-11 17:02:21 +03:00
Evgeniy Stratonikov
de04411488
core/fee: alter opcode prices
...
Follow neo-project/neo#2384 .
2021-03-11 15:44:09 +03:00
Evgeniy Stratonikov
1cb25d3190
native: use proper types in manifest
2021-03-11 11:48:38 +03:00
Roman Khimov
75ec20b8bd
Merge pull request #1818 from nspcc-dev/fix/fee
...
Split native method price into Cpu and Storage fees
2021-03-11 11:29:51 +03:00
Evgeniy Stratonikov
9cb38a4b1b
native: support StorageFee
2021-03-11 10:12:30 +03:00
Evgeniy Stratonikov
256cd09228
native: allow to set oracle request price
2021-03-11 10:12:30 +03:00
Evgeniy Stratonikov
27fc28bd69
native: allow to set candidate register price
2021-03-11 10:12:30 +03:00
Evgeniy Stratonikov
b780a64b4d
emit: allow to emit big.Int
2021-03-11 10:12:30 +03:00
Evgeniy Stratonikov
d9e62de454
native: fix prefixGASPerBlock
doc comment
2021-03-11 10:12:30 +03:00
Evgeniy Stratonikov
3278d23852
native: rename Price
to CPUFee
...
Method price is now multiplied by `BaseExecFee`.
2021-03-11 10:12:30 +03:00
Roman Khimov
5dff7afd5a
Merge pull request #1824 from nspcc-dev/native/libs
...
native: implement StdLib and CryptoLib contracts
2021-03-10 22:07:14 +03:00
Anna Shaleva
9015e50847
core: refactor Neo.Crypto.CheckMultisigWithECDsaSecpr1
...
Rename it to Neo.Crypto.CheckMultisig and remove `message` parameter.
2021-03-10 21:46:05 +03:00
Anna Shaleva
7126637f73
core: remove Neo.Crypto.CheckMultisigWithECDsaSecp256k1
...
Koblitz RIP.
2021-03-10 21:46:05 +03:00
Anna Shaleva
cdaca7be3e
core: use Neo.Crypto.CheckSig for standard signature verification
2021-03-10 21:45:58 +03:00
Anna Shaleva
4e6c1092b8
core: add Neo.Crypto.CheckSig interop
2021-03-10 19:24:19 +03:00
Anna Shaleva
14ade42101
core: remove System.Binary.[Serialize, Deserialize] syscalls
...
And move their tests to native StdLib.
2021-03-10 19:24:19 +03:00
Anna Shaleva
5c9c168ee5
core: remove System.Binary.[Base64*, Base58*] syscalls
...
And move their tests to native StdLib.
2021-03-10 19:24:19 +03:00
Anna Shaleva
4d2ad4b9e2
core: remove System.Json.[Serialize, Deserialize] interops
...
And move their tests to native StdLib.
2021-03-10 19:24:19 +03:00
Anna Shaleva
f65485b735
core: remove System.Binary.Itoa and System.Binary.Atoi syscalls
...
And move their tests to native StdLib.
2021-03-10 19:24:19 +03:00
Anna Shaleva
2b90d4455f
native: implement StdLib contract
2021-03-10 19:24:19 +03:00
Anna Shaleva
078870fceb
compiler: fix contract.IsStandard syscall test
2021-03-10 19:24:19 +03:00
Evgeniy Stratonikov
100f2db3fb
native: implement CryptoLib contract
2021-03-10 19:24:19 +03:00
Roman Khimov
19a23a36e4
Merge pull request #1807 from nspcc-dev/feature/walletsign
...
cli: allow to sign dumped transaction by several non-multisig signers
2021-03-10 14:13:20 +03:00
Roman Khimov
9b0d4e0968
Merge pull request #1792 from nspcc-dev/fix/consensusdata
...
Remove `ConsensusData` from `Block`
2021-03-10 14:12:38 +03:00
Roman Khimov
9ca59e6312
Merge pull request #1811 from nspcc-dev/feature/pubdump
...
Allow to dump public keys in CLI
2021-03-10 13:50:19 +03:00
Evgeniy Stratonikov
ac95510402
core: do not return block if only header is present
2021-03-10 13:38:44 +03:00
Evgeniy Stratonikov
f83b376181
block: replace Base
with Header
2021-03-10 13:38:44 +03:00
Evgeniy Stratonikov
4df8a2ad36
block: remove MaxContentsPerBlock
2021-03-10 13:38:44 +03:00
Evgeniy Stratonikov
2f490a3403
block: remove ConsensusData
field
2021-03-10 13:38:44 +03:00
Evgeniy Stratonikov
7160675ac1
compiler/interop: improve conversion to bytes interops
...
Allow to convert to both `Buffer` and `ByteString`
and explicitly mention VM types. Rename `ToByteArray` to `ToBytes`
to avoid ambiguity.
2021-03-10 13:38:44 +03:00
Evgeniy Stratonikov
09af8b4fcb
cli: allow to dump wallet public keys
2021-03-10 12:37:15 +03:00
Roman Khimov
731adf8448
Merge pull request #1484 from nspcc-dev/oracle/neofs
...
Integrate NeoFS into oracle module
2021-03-09 17:30:15 +03:00
Evgeniy Stratonikov
1578a99432
cli/wallet: add test for multiple signers
2021-03-09 15:45:02 +03:00
Evgeniy Stratonikov
106c27782e
cli/wallet: allow to cosign with a contract
...
Contracts have empty verification script and their hash is
calculated differently.
2021-03-09 15:45:02 +03:00
Evgeniy Stratonikov
8a4b97171a
cli/wallet: fail if signer is missing in tx
2021-03-09 15:45:02 +03:00
Evgeniy Stratonikov
7553c1ac96
cli/wallet: process signers in order
2021-03-09 15:45:02 +03:00
Evgeniy Stratonikov
b9136dbfc0
smartcontract: use hash in GetWitness()
...
All necessary info must already be in context.
2021-03-09 15:45:02 +03:00