Roman Khimov
|
1c2318eed4
|
netmode: use non-zero unittest network
Using zero is a bit dangerous as it's the default type's value, so we can miss
some uninitialized variables when testing.
|
2020-06-18 12:10:12 +03:00 |
|
Roman Khimov
|
78ff11fe53
|
netmode: make default Magic String() more useful
|
2020-06-18 12:09:57 +03:00 |
|
Roman Khimov
|
26f11a52d9
|
config: move NetMode into its own micropackage
It's going to be used a bit more and pulling whole config just for one type is
a bit wrong.
|
2020-06-18 12:09:57 +03:00 |
|
Roman Khimov
|
6eb600de5a
|
config: sync network magic numbers
unit_testnet YAML was out of sync with Go code and Go code was out of sync
with YAML for mainnet and testnet after 308243f36e .
|
2020-06-18 12:09:55 +03:00 |
|
Roman Khimov
|
5f276de003
|
Merge pull request #1057 from nspcc-dev/fix/newaddress
Update addresses to NEO3 format
|
2020-06-17 16:25:32 +03:00 |
|
Evgenii Stratonikov
|
7b4ca57e33
|
*: change address to the new format
NEO3 uses new prefix for address (53 = 0x35), thus string representations as
well as encrypted WIFs should be changed.
|
2020-06-17 15:58:21 +03:00 |
|
Evgenii Stratonikov
|
651976b2ca
|
config: remove AddressVersion from the configuration
It is never used and is the same constant for both mainnet, testnet and
privnet.
|
2020-06-17 15:55:22 +03:00 |
|
Evgenii Stratonikov
|
b3b1137030
|
cli: allow to convert wallet from NEO2 to NEO3 format
This command may be helpful to have during transition.
|
2020-06-17 15:49:34 +03:00 |
|
Roman Khimov
|
06ef1e6c74
|
Merge pull request #1056 from nspcc-dev/fix/runtime
Adjust runtime syscalls to NEO3
|
2020-06-17 13:24:42 +03:00 |
|
Evgenii Stratonikov
|
61cae8d8b1
|
compiler: implement missing System.Contract.* interops
Support System.Contract.IsStandard/CreateStandardAccount syscall.
|
2020-06-17 11:38:34 +03:00 |
|
Evgenii Stratonikov
|
3762ebdd08
|
core: implement System.Runtime.GetInvocationCounter syscall
|
2020-06-17 11:24:11 +03:00 |
|
Evgenii Stratonikov
|
75e597f880
|
core: implement System.Runtime.GetNotifications syscall
|
2020-06-17 11:24:11 +03:00 |
|
Evgenii Stratonikov
|
afd8f3b87a
|
compiler: push Null item for nil values
|
2020-06-17 11:24:11 +03:00 |
|
Evgenii Stratonikov
|
a4e4439967
|
core,vm: implement System.Runtime.GasLeft syscall
|
2020-06-17 11:24:11 +03:00 |
|
Evgenii Stratonikov
|
a7d4fff897
|
vm: make (*VM).GasLimit public
VM is inherently single-threaded and replacing setter/getter methods
with public field simplifies code a bit.
|
2020-06-16 15:13:20 +03:00 |
|
Evgenii Stratonikov
|
1f97f3abd8
|
core: adjust prices and flags for System.Runtime.* interops
Related #1055.
|
2020-06-16 12:30:55 +03:00 |
|
Evgenii Stratonikov
|
ad2a75a500
|
core: move System.ExecutionEngine.* interops to System.Runtime.*
|
2020-06-16 12:30:55 +03:00 |
|
Roman Khimov
|
901181a392
|
Merge pull request #1054 from nspcc-dev/fix/blockchain_interop
Adjust contract/blockchain syscalls
|
2020-06-16 12:15:24 +03:00 |
|
Evgenii Stratonikov
|
52a27e9be4
|
core: implement System.Contract.CreateStandardAccount syscall
|
2020-06-16 12:12:29 +03:00 |
|
Evgenii Stratonikov
|
5b4f38d717
|
core: implement System.Contract.IsStandard syscall
|
2020-06-16 12:12:27 +03:00 |
|
Evgenii Stratonikov
|
b1d2d70c02
|
core: adjust prices for blockchain/contract syscalls
|
2020-06-16 12:04:57 +03:00 |
|
Roman Khimov
|
3cb3c95aff
|
Merge pull request #1048 from nspcc-dev/feature/json
Implement System.Json.* interops
|
2020-06-16 11:39:41 +03:00 |
|
Evgenii Stratonikov
|
becb8a0f72
|
compiler: support System.Json.* syscalls
|
2020-06-16 11:35:08 +03:00 |
|
Evgenii Stratonikov
|
6339efac11
|
core: implement System.Json.* interops
|
2020-06-16 11:35:06 +03:00 |
|
Evgenii Stratonikov
|
d836233352
|
stackitem: allow to (de-)serialize items to JSON
This commit implements behavior identical to that of C# `System.Json.*` interops.
|
2020-06-16 11:34:01 +03:00 |
|
Evgenii Stratonikov
|
f2f01a08c9
|
vm: move MaxArraySize and MaxItemSize to stackitem package
|
2020-06-16 11:32:16 +03:00 |
|
Roman Khimov
|
349110149f
|
Merge pull request #1053 from nspcc-dev/fix/interop
Adjust prices for binary/enumerator/iterator syscalls
|
2020-06-16 11:12:21 +03:00 |
|
Evgenii Stratonikov
|
aae312d408
|
core,vm: adjust prices for iterator/enumerator syscalls
Closes #1027.
|
2020-06-16 11:05:26 +03:00 |
|
Evgenii Stratonikov
|
18066143bd
|
core,vm: adjust binary (de-)serialization syscalls
Related #1027.
1. Move System.Runtime.(De)serialize to System.Binary.*
2. Rename compiler stubs.
3. Adjust opcode prices.
|
2020-06-16 11:00:38 +03:00 |
|
Roman Khimov
|
b3507d490d
|
Merge pull request #1051 from nspcc-dev/neo3/rpc/scopes
core: add json marshaller for Cosigner's scopes
|
2020-06-15 16:13:48 +03:00 |
|
Roman Khimov
|
a4d9dbc711
|
Merge pull request #1050 from nspcc-dev/feature/storage
core: adjust storage syscalls
|
2020-06-15 14:36:37 +03:00 |
|
Anna Shaleva
|
3568ab3d6d
|
core: add json marshaller for Cosigner's scopes
Following C# implementation, we should marshal Scopes as a set of
strings instead of single byte.
|
2020-06-15 13:48:15 +03:00 |
|
Evgenii Stratonikov
|
2e996ea57d
|
core: adjust System.Storage.* interop prices
|
2020-06-15 12:02:28 +03:00 |
|
Evgenii Stratonikov
|
61bba1a39c
|
core: store precise gas price in interop descriptions
In NEO3 sycalls can have prices less than 10^5, we need to store them
precisely. Adjusting actual prices is to be done in the following tasks.
|
2020-06-15 12:02:28 +03:00 |
|
Evgenii Stratonikov
|
fd2cd291e7
|
core: calculate opcode prices correctly
|
2020-06-15 12:02:22 +03:00 |
|
Evgenii Stratonikov
|
8f20a70969
|
core: calculate a price of System.Storage.Put correctly
It also depends on the item already stored by key.
|
2020-06-15 12:02:21 +03:00 |
|
Roman Khimov
|
fe31c7ed2d
|
Merge pull request #1047 from nspcc-dev/neo3/rpc/invoke
rpc: update invoke* RPC-calls
|
2020-06-11 21:39:20 +03:00 |
|
Anna Shaleva
|
9e7fca013e
|
rpc: update CLI and RPC client invoke* calls
part of #1036
|
2020-06-11 20:32:05 +03:00 |
|
Anna Shaleva
|
d5355acfa9
|
rpc: update RPC server invoke* calls
part of #1036
|
2020-06-11 19:34:13 +03:00 |
|
Roman Khimov
|
3ef35e0fc7
|
Merge pull request #1044 from nspcc-dev/feature/interop_flags
Provide required call flags and allowed triggers in interop descriptions.
|
2020-06-11 16:24:58 +03:00 |
|
Evgenii Stratonikov
|
971ab0646f
|
core: specify allowed triggers for interops
Related #1026, #1027, #1028, #1031.
|
2020-06-11 13:16:07 +03:00 |
|
Evgenii Stratonikov
|
4dfce07d11
|
vm: provide trigger upon VM creation
|
2020-06-11 13:16:07 +03:00 |
|
Evgenii Stratonikov
|
b12add5a78
|
smartcontract: rewrite trigger types for NEO3
|
2020-06-11 13:16:07 +03:00 |
|
Evgenii Stratonikov
|
a3b876d55c
|
native: specify call flags for native contract methods
|
2020-06-11 13:16:07 +03:00 |
|
Evgenii Stratonikov
|
0dd00a49f5
|
core: specify require call flags in interop description
Related #1026, #1027, #1028, #1031.
|
2020-06-11 13:16:07 +03:00 |
|
Evgenii Stratonikov
|
bda94c74c3
|
vm: check calling flags on syscall invocation
|
2020-06-11 13:16:07 +03:00 |
|
Evgenii Stratonikov
|
55ab7535be
|
core: optimize contractCallEx
Provide script hash upon script load.
|
2020-06-11 13:06:10 +03:00 |
|
Evgenii Stratonikov
|
61edc8705e
|
smartcontract: start flags with 1
`iota` keyword is equal to the index of the declaration in the
corresponding block, thus AllowStates was 2 in our case.
|
2020-06-11 13:03:55 +03:00 |
|
Evgenii Stratonikov
|
532262827d
|
smartcontract: add CallFlag.Has() helper
|
2020-06-11 13:03:55 +03:00 |
|
Evgenii Stratonikov
|
ebbf0321b2
|
smartcontract: add AllowStates call flag
|
2020-06-11 13:03:55 +03:00 |
|