Roman Khimov
9e0c13b69d
Merge pull request #1362 from nspcc-dev/feature/verification
...
Allow to use account with contracts on client
2020-08-27 17:30:29 +03:00
Roman Khimov
96f6ff9c8a
Merge pull request #1368 from nspcc-dev/fix/getapplog
...
rpc: support 0x form of Uint256 in requests
2020-08-27 13:35:38 +03:00
Evgenii Stratonikov
db4eecf4dc
rpc: support 0x form of Uint256 in requests
2020-08-27 12:36:33 +03:00
Anna Shaleva
e1a266ab86
smartcontract: increase MaxManifestSize
2020-08-27 11:50:09 +03:00
Evgenii Stratonikov
9c7168e4e8
rpc/client: allow to use contract accounts in AddNetworkFee
2020-08-27 11:32:55 +03:00
Evgenii Stratonikov
f6319f80e8
interop: allow to call CheckWitness without AllowStates
...
State access is needed only in specific circumstances.
2020-08-27 10:29:29 +03:00
Roman Khimov
5b30389d33
Merge pull request #1356 from nspcc-dev/cli/tests
...
cli: add non-integrational tests for cli packages
2020-08-26 13:03:50 +03:00
Roman Khimov
b4bcd23c0f
Merge pull request #1358 from nspcc-dev/fix/1354
...
rpc/client: provide sender in `CreateNEP5MultiTransferTx`
2020-08-25 19:02:23 +03:00
Anna Shaleva
fdf73597af
core: return error for unknown storage configuration
2020-08-25 16:11:44 +03:00
Roman Khimov
962f45f35e
Merge pull request #1361 from nspcc-dev/feature/iota
...
compiler: support `iota`
2020-08-25 15:50:20 +03:00
Evgenii Stratonikov
05ef951055
compiler: support iota
2020-08-25 10:22:58 +03:00
Roman Khimov
a1fbe51bca
Merge pull request #1352 from nspcc-dev/compiler/make
...
Fix MEMCPY, support `copy` and `make` in compiler
2020-08-25 09:33:16 +03:00
Evgenii Stratonikov
72ca8b79c3
rpc/client: provide sender in CreateNEP5MultiTransferTx
...
Specify scope explicitly.
Fix #1354 .
2020-08-25 09:21:06 +03:00
Evgenii Stratonikov
69989e1227
compiler: support copy()
2020-08-25 08:53:29 +03:00
Evgenii Stratonikov
ab4cd8a990
vm: fix typo in MEMCPY handling
2020-08-25 08:53:29 +03:00
Evgenii Stratonikov
931dc6c64f
compiler: remove debug PrintOps() from tests
2020-08-25 08:53:29 +03:00
Evgenii Stratonikov
0f11116040
compiler: support make()
2020-08-25 08:53:28 +03:00
Evgenii Stratonikov
354645fbe3
compiler: allow to use switch
without tag
2020-08-24 19:35:25 +03:00
Evgenii Stratonikov
e58616b975
compiler: drop unused call results
...
Close #683 .
2020-08-24 19:34:51 +03:00
Evgenii Stratonikov
f70cb4f34a
compiler: do not use voidCalls
when calculating stack size
...
This was probably a part of some earlier logic.
2020-08-24 19:34:51 +03:00
Roman Khimov
d8badd9a8d
Merge pull request #1351 from nspcc-dev/compiler/jmps
...
Make use of extended JMP* opcodes
2020-08-24 19:22:24 +03:00
Evgenii Stratonikov
4782a94200
native: do not rewrite NextValidators in (*NEO).OnPersist()
...
There is no need in writing the same value again and again.
Closes #1337 .
2020-08-24 16:45:09 +03:00
Roman Khimov
1809076dc6
Merge pull request #1347 from nspcc-dev/vm-updates
...
Post-preview3 VM updates
2020-08-24 16:37:12 +03:00
Roman Khimov
6c27c2c13a
Merge pull request #1350 from nspcc-dev/some-post-preview3-core-changes
...
Some post-preview3 core changes
2020-08-24 16:26:12 +03:00
Roman Khimov
681ae4d5d6
vm: fix TRY offsets check
...
TRY can have an offset != 0 and still it can't have both parameters set to
zero.
2020-08-24 16:20:57 +03:00
Roman Khimov
32112249d5
vm: limit maximum nesting of exception contexts
...
Follow neo-project/neo#365 . neo-vm submodule is updated just to show the
relevant latest commit, nothing really changed there.
2020-08-24 15:37:39 +03:00
Evgenii Stratonikov
9dc3edf351
compiler: make use of extended JMP* opcodes
2020-08-24 11:19:54 +03:00
Evgenii Stratonikov
51f3baf68e
compiler: refactor BinaryExpr handling
...
Reuse code between if conditions and expression context.
2020-08-24 09:46:11 +03:00
Evgenii Stratonikov
4d04c56efb
compiler: make toShortForm
accept an opcode
2020-08-24 09:44:44 +03:00
Evgenii Stratonikov
1be1b8de9e
compiler: merge &&
and ||
processing
2020-08-24 09:44:44 +03:00
Evgenii Stratonikov
59367c96d1
compiler: allow to use +=
on strings
2020-08-24 09:44:44 +03:00
Evgenii Stratonikov
fd7af77895
compiler: refactor convertToken
func
...
Move `getEqualityOpcode` into `convertToken`.
`convertToken` does not need codegen.
2020-08-24 09:44:44 +03:00
Evgenii Stratonikov
ae88c77a8a
compiler: process nil
comparisons separately
2020-08-24 09:44:16 +03:00
Roman Khimov
9c72ea1d64
core/interop: add base58 encoding/decoding syscalls
...
Follow neo-project/neo#1833 .
2020-08-23 17:19:56 +03:00
Roman Khimov
562e7e371f
consensus: switch to uint8 for validator index
...
Follow neo-project/neo#1837 . Tests will need to be updated with real messages.
2020-08-23 16:44:56 +03:00
Roman Khimov
7cba3a0342
core: require AllowStates flag for IsStandard
...
Follow neo-project/neo#1830 .
2020-08-23 15:41:55 +03:00
Evgenii Stratonikov
e4af295080
compiler: process constant first in BinaryExpr handling
2020-08-23 12:24:03 +03:00
Evgenii Stratonikov
7ee1ddff61
transaction: add tests for (*Transaction).isValid()
2020-08-23 09:39:46 +03:00
Evgenii Stratonikov
890c752b3b
mempool: add tests for items ordering
2020-08-23 09:39:46 +03:00
Evgenii Stratonikov
2661ebd295
transaction: add HighPriority attribute
...
HighPriority attributes specifies that transaction was
signed by a committee.
2020-08-23 09:39:46 +03:00
Evgenii Stratonikov
51cebe9e47
smartcontract: support creation of majority multisig scripts
2020-08-23 09:39:46 +03:00
Evgenii Stratonikov
e0104679b5
core/tests: make verityTx test more verbose
2020-08-23 09:39:46 +03:00
Roman Khimov
324f4c265b
stackitem: don't copy existing slices for TryBytes
...
Most often we only need to read them and it doesn't require copying. Make an
explicit copy (and copy only things we need!) where needed.
After the recent neo-vm tests update our vm package testing time jumped to
~12s, with this change it's now more like ~8s.
2020-08-22 23:36:38 +03:00
Roman Khimov
77ea3d361b
vm: update neo-vm tests, simplify parsing
...
We no longer have "*N" notation, see neo-project/neo-vm#326 .
2020-08-22 23:35:29 +03:00
Roman Khimov
74097ae8b0
stackitem: add NewPointerWithHash() to save on hash calculations
...
Inspired by neo-project/neo-vm#352 . We can't directly compare slices, so we're
better optimize things we already have. At the same time this code would
behave a bit different if A is to call B and then B is call A and then some
pointer from the first A invocation is to be compared with a pointer from the
second A invocation. Not sure it really matters.
2020-08-22 22:19:44 +03:00
Roman Khimov
e5813ae8cd
Merge pull request #1346 from nspcc-dev/string-tryboolean
...
Fail converting long strings to boolean
2020-08-22 17:04:11 +03:00
Evgenii Stratonikov
7e34072519
core: implement (*Blockchain).VerifyWitness
...
`ScriptFromWitness` is no longer useful, because we support
contract verification.
2020-08-22 12:45:20 +03:00
Roman Khimov
93f51f922a
stackitem: return error in TryBytes() for big byte strings
...
Follow neo-project/neo-vm#349 .
2020-08-21 21:05:47 +03:00
Roman Khimov
a7670303e8
stackitem: change Bool() to TryBool(), prepare for its failures
2020-08-21 20:55:20 +03:00
Roman Khimov
4e7a1f6c87
Merge pull request #1342 from nspcc-dev/tps
...
Improve TPS, part 1
2020-08-21 14:56:51 +03:00