Commit graph

4004 commits

Author SHA1 Message Date
Evgeniy Stratonikov
56fe6574c9 compiler: simplify convert.To* processing
With inlining there is no need for special logic in compiler.
2021-03-04 13:05:33 +03:00
Evgeniy Stratonikov
e754ca62db compiler: do not emit CONVERT for syscall results
When we encounter type assertion CONVERT is emitted.
This isn't needed for SYSCALL (or opcode) results
because value already has needed type.
Problems can arise when result is converted to invalid type
but `neogointernal` package shouldn't be used directly anyway.
2021-03-04 13:05:33 +03:00
Evgeniy Stratonikov
5f4385d3fa compiler: implement syscalls for POW and SQRT opcodes 2021-03-04 13:05:33 +03:00
Evgeniy Stratonikov
578bbabd1d compiler: allow to emit opcodes directly 2021-03-04 13:03:05 +03:00
Roman Khimov
58ea4607d0
Merge pull request #1805 from nspcc-dev/interop/convertcontext-fix
interop: fix ConvertContextToReadOnly interop
2021-03-04 12:31:36 +03:00
Roman Khimov
dedcab2d63
Merge pull request #1804 from nspcc-dev/interop/createmultisigaccount-fix
interop: fix CreateMultisigAccount interop
2021-03-04 12:31:28 +03:00
Anna Shaleva
0c464083ed interop: fix ConvertContextToReadOnly interop
The same bug as in #1804.
2021-03-04 11:51:32 +03:00
Anna Shaleva
52e4d69c82 interop: fix CreateMultisigAccount interop
Introduced in #1720.
2021-03-04 11:39:49 +03:00
Roman Khimov
0e7bb5cc77
Merge pull request #1797 from nspcc-dev/rpc/fix-createtxfromscript
rpc, cli: allow to provide cosigners accounts to (*Client).CreateTxFromScript
2021-03-04 11:28:09 +03:00
Anna Shaleva
6c0faa4ea3 rpc: provide cosigners accounts to CreateTxFromScript
We need to define network fee for each of cosigners, and the only way to
do it is to access the cosigner's script.
2021-03-04 10:37:35 +03:00
Anna Shaleva
b1b9a8cf66 rpc: refactor CreateTxFromScript signature
Make cosigners non-variadic.
2021-03-03 13:42:15 +03:00
Roman Khimov
4a9ca253d3
Merge pull request #1801 from nspcc-dev/fix/testrace
consensus/test: add missing `t.Cleanup()`
2021-03-03 13:29:20 +03:00
Evgeniy Stratonikov
798ae6c63c consensus/test: add missing t.Cleanup() 2021-03-03 13:14:25 +03:00
Roman Khimov
e6d3a60431
Merge pull request #1782 from nspcc-dev/optimize/nep17
dao: do not look up new NEP17 batch
2021-03-02 15:28:42 +03:00
Roman Khimov
c9212f29e6
Merge pull request #1744 from nspcc-dev/fix/nativecall
Update `CallNative` to post-preview5
2021-03-02 15:28:00 +03:00
Roman Khimov
5e91c6a946
Merge pull request #1795 from nspcc-dev/add-go-1-16
*: add go 1.16 support
2021-03-02 14:35:44 +03:00
Anna Shaleva
cc112e1a89 *: add go 1.16 support 2021-03-02 14:04:35 +03:00
Roman Khimov
0c04b403b4
Merge pull request #1794 from nspcc-dev/fix/json
stackitem: escape control characters in `ToJSON()`
2021-03-02 13:37:27 +03:00
Evgeniy Stratonikov
e5fbf04529 stackitem: escape control characters in ToJSON()
Decoding uses `json.Decoder` which handles everything for us.
2021-03-02 10:47:02 +03:00
Roman Khimov
10cc19b33c
Merge pull request #1791 from nspcc-dev/drop-go-1-13
*: drop go 1.13
2021-03-01 17:20:26 +03:00
Roman Khimov
dbc86b4ecc
Merge pull request #1789 from nspcc-dev/vm/pow
vm: implement POW and SQRT opcodes
2021-03-01 17:08:44 +03:00
Anna Shaleva
ffb2d78bbd core: update Notary test
Let's allow to wait a bit more. Hardware resources of the Github
workflow tests aren't so fluent.
2021-03-01 17:08:00 +03:00
Anna Shaleva
2c81fc8b8e *: upgrade tests to use T.Cleanup() 2021-03-01 17:08:00 +03:00
Anna Shaleva
0cec99a3ea gomod: update dbft version 2021-03-01 17:07:55 +03:00
Evgeniy Stratonikov
53327bf475 vm/testdata: update C# json tests 2021-03-01 16:58:53 +03:00
Evgeniy Stratonikov
d255c4a517 vm: implement SQRT opcode 2021-03-01 16:58:53 +03:00
Evgeniy Stratonikov
6496782736 vm: implement POW opcode 2021-03-01 16:58:53 +03:00
Anna Shaleva
5bd809f9c8 *: drop go 1.13 support 2021-03-01 14:56:49 +03:00
Roman Khimov
3227de8050
Merge pull request #1785 from nspcc-dev/fix/compiler
Process `return` in inlined functions properly.
2021-03-01 14:27:33 +03:00
Evgeniy Stratonikov
7577bbef22 compiler: copy locals slice during inline
Consider function call `f(1, g(2, 3))` when
both `f` and `g` are inlined. If `f` contains some locals,
inlining `g` will replace them with it's another locals map,
because slices in Go reuse storage on `append`.
Thus scope needs to be copied.
2021-03-01 11:48:42 +03:00
Evgeniy Stratonikov
b66b853285 compiler: drop stack after inline
Some control-flow statements drop stack items, for example
`return` when it is used inside of `range` loop.
For inlined calls this `return` should drop only portion of stack
which belongs to inlined call.
2021-03-01 11:48:42 +03:00
Roman Khimov
347212c0c5
Merge pull request #1781 from nspcc-dev/ci-tests
github: add tests workflow
2021-03-01 11:34:26 +03:00
Anna Shaleva
552ab1f8fe github: add tests workflow 2021-02-26 17:53:31 +03:00
Roman Khimov
50e330a9c8
Merge pull request #1773 from nspcc-dev/detailed-rpc-error
rpc: detalize `submit*` RPC validation error
2021-02-26 17:03:18 +03:00
Evgeniy Stratonikov
d5cb95e685 dao: do not look up new NEP17 batch
It will fail anyway.
2021-02-26 14:08:51 +03:00
Roman Khimov
d33291c377
Merge pull request #1780 from nspcc-dev/ci-cache-fix
github: fix go mod cache
2021-02-26 14:04:57 +03:00
Roman Khimov
b4dfb4691d
Merge pull request #1778 from nspcc-dev/ci-fix-latest
github: publish as 'latest' only master releases
2021-02-26 13:38:46 +03:00
Anna Shaleva
a26791ea5a github: fix go mod cache
* Fix cache folder
* Verbose `go mod download`
2021-02-26 12:10:10 +03:00
Anna Shaleva
2845d168ea docs: update README 2021-02-26 11:02:12 +03:00
Evgeniy Stratonikov
61ce4a7f79 core: set native script and hash in SetOracle 2021-02-26 10:59:09 +03:00
Evgeniy Stratonikov
f9f1fe03b2 core: refactor native call
1. `System.Contract.CallNative` expects version on stack.
2. Actual method is determined based on current
   instruction pointer.
3. Native hashes don't longer depend on NEF checksum.
2021-02-26 10:59:09 +03:00
Anna Shaleva
2fbbadeb56 rpc: detalize submit* RPC validation error
These changes do not break the compatibility with the C# node response.

It is useful for the end-user to be aware of the failed validation reason.
Also, the `cause` will be displayed at the running node log.
2021-02-25 19:18:57 +03:00
Roman Khimov
f264996f74
Merge pull request #1777 from nspcc-dev/fix/vote
core: fix native method call flags
2021-02-25 18:55:10 +03:00
Anna Shaleva
950041c7a5 Makefile: remove push-to-registry target
It is unused and outdated.
2021-02-25 18:41:01 +03:00
Anna Shaleva
dc610cdb7c github: tag as 'latest' only released images 2021-02-25 18:38:59 +03:00
Evgeniy Stratonikov
663afbe4df core: check call flags in LoadToken
Follow neo-project/neo#2292.
2021-02-25 18:14:52 +03:00
Evgeniy Stratonikov
4db5ef05f8 core: fix call flags for System.Contract.Call
Follow neo-project/neo#2292.
2021-02-25 18:12:38 +03:00
Evgeniy Stratonikov
cbda20aca3 core: fix native method call flags
Replace `WriteStates` with `States`.

Follow neo-project/neo#2339.
Close #1775.
Related #1725.
2021-02-25 18:07:33 +03:00
Roman Khimov
345d6f059e
Merge pull request #1776 from nspcc-dev/ci-manual
github: allow to publish image from any ref
2021-02-25 17:02:13 +03:00
Anna Shaleva
d628b6a33d github: allow to publish image from any ref
It will help us to publish previous releases or intermediate refs.
2021-02-25 16:52:25 +03:00