Anna Shaleva
811e09675f
cli: simplify VM preparation for VM CLI
...
Load script from provided transaction if so.
2022-10-13 16:07:34 +03:00
Anna Shaleva
d09a0c18a7
cli: unify signers parsing
...
Share signers parsing code between 'contract invokefunction' and
'vm load*' commands, quite a useful thing when it comes to witness
checks.
2022-10-13 16:07:34 +03:00
Anna Shaleva
af658bc3e5
cli: support Null as an argument for invocation-related commands
2022-10-13 16:07:31 +03:00
Anna Shaleva
7eb87afab8
cli: unify parameters parsing
...
Share parameters parsing code between 'contract invokefunction' and
'vm run' commands. It allows VM CLI to parse more complicated parameter
types including arrays and file-backed bytestrings.
2022-10-13 08:20:27 +03:00
Anna Shaleva
3fba4e4f17
cli: support 'loaddeployed' VM CLI command
2022-10-12 14:57:13 +03:00
Anna Shaleva
9977606e40
cli: support 'loadtx' VM CLI command
2022-10-12 14:57:10 +03:00
Anna Shaleva
343ce4d4bb
cli: properly cleanup state-dependand VM CLI
...
Close #2736 .
2022-10-10 08:26:22 +03:00
Roman Khimov
1426b54fd7
Merge pull request #2723 from nspcc-dev/smart-vm-cli
...
vm: make VM CLI state-dependant
2022-10-07 21:21:11 +07:00
Roman Khimov
4d2afa2624
cli/vm: use ParseInt to properly (and easily) check for int32
2022-10-07 17:10:04 +03:00
Anna Shaleva
eac5e1526e
cli: rename VMCLI to CLI
2022-10-07 15:57:33 +03:00
Anna Shaleva
16f5ae3812
cli: add upper bound check for contract ID for 'storage' VM CLI cmd
2022-10-07 15:57:33 +03:00
Anna Shaleva
95cbddf19e
cli: use custom logger to filter out runtime.Log messages
...
```
anna@kiwi:~/Documents/GitProjects/nspcc-dev/neo-go$ ./bin/neo-go vm -p
_ ____________ __________ _ ____ ___
/ | / / ____/ __ \ / ____/ __ \ | | / / |/ /
/ |/ / __/ / / / /_____/ / __/ / / /____| | / / /|_/ /
/ /| / /___/ /_/ /_____/ /_/ / /_/ /_____/ |/ / / / /
/_/ |_/_____/\____/ \____/\____/ |___/_/ /_/
NEO-GO-VM > loadgo ./1-print/1-print.go
READY: loaded 21 instructions
NEO-GO-VM 0 > run
2022-10-07T15:28:20.461+0300 INFO runtime log {"tx": "", "script": "db03ceb3f672ee8cd0d714989b4d103ff7eed2f3", "msg": "Hello, world!"}
[]
```
2022-10-07 15:57:33 +03:00
Anna Shaleva
b2cd007d8d
cli: move handleLoggingParams to 'options' package
...
It will be reused by other CLI packages.
2022-10-07 15:57:33 +03:00
Anna Shaleva
b3c8192d2e
cli: add 'changes' command for VM CLI
2022-10-07 15:57:31 +03:00
Anna Shaleva
cac4f6a4a6
cli: allow to dump storage diff for 'storage' VM CLI command
2022-10-07 15:56:34 +03:00
Anna Shaleva
8c78177806
vm: add 'storage' VM CLI command to dump storage items
...
Another nice one, very useful for debugging.
2022-10-07 15:56:34 +03:00
Anna Shaleva
ff03c33e6d
vm: allow historic calls inside VM CLI
2022-10-07 15:56:34 +03:00
Anna Shaleva
79e13f73d8
core, rpc: move getFakeNextBlock to Blockchain
...
It's needed for VM CLI as far and may be improved later.
2022-10-07 15:56:34 +03:00
Anna Shaleva
0036c89d63
vm: add 'env' command showing state of the blockchain-backed VM CLI
...
A useful one.
2022-10-07 15:56:34 +03:00
Anna Shaleva
f1ecdb82cc
vm: add 'events' command to VM CLI
...
And dump events automatically after HALTed or FAULTed end of execution.
2022-10-07 15:56:34 +03:00
Anna Shaleva
33ae8d0ddc
vm: clear manifest on VM CLI reset
...
Fix the bug when outdated manifest was stored after new program was loaded.
2022-10-07 15:56:34 +03:00
Anna Shaleva
513821cfff
vm: allow to provide state for VM CLI
...
Close #2528 .
Also, add new simple testchain as an analogue for basicchain.
2022-10-07 15:56:34 +03:00
Anna Shaleva
0b717b0c22
vm: move vm CLI to cli/vm package
2022-10-07 15:56:34 +03:00
Anna Shaleva
70e59d83c9
docs: fix supported database types
2022-10-07 15:56:34 +03:00
Roman Khimov
0efe3dd42c
cli: deduplicate smartcontract/wallet tx confirm/sign/save/send
...
It's the same code.
2022-10-06 23:03:32 +03:00
Roman Khimov
5200765dab
cli/wallet: add out/force flags to claim/candidate cmds
...
Fixes #2669 .
2022-10-06 22:19:40 +03:00
Roman Khimov
5bafa5f6b4
cli/wallet: add sysgas option to candidate and claim commands
...
It doesn't make a lot of sense, but hey, it's a transaction, it can have a bit
more GAS.
2022-10-06 22:09:32 +03:00
Roman Khimov
1ea06e9757
cli/wallet: unify claim and candidate code
...
Add -g option to claim which doesn't have a lot of sense, but can be used
anyway.
2022-10-06 21:52:40 +03:00
Anna Shaleva
c4c93b591e
cli: remove debug flag from VM CLI
...
It's not used.
2022-10-06 14:01:56 +03:00
Anna Shaleva
5698ce03be
cli: move debug flag to options package
2022-10-06 14:01:56 +03:00
Anna Shaleva
37571162a0
cli: move config path flag to options package
2022-10-06 14:01:56 +03:00
Roman Khimov
29e858df66
cli: move nep11/nep17 tests into a package of their own
...
The tests are still there, coverage should counted fine, but it improves things:
? github.com/nspcc-dev/neo-go/cli [no test files]
ok github.com/nspcc-dev/neo-go/cli/app 0.058s coverage: 100.0% of statements
ok github.com/nspcc-dev/neo-go/cli/cmdargs 0.005s coverage: 60.8% of statements
ok github.com/nspcc-dev/neo-go/cli/flags 0.027s coverage: 97.7% of statements
? github.com/nspcc-dev/neo-go/cli/input [no test files]
ok github.com/nspcc-dev/neo-go/cli/nep_test 30.443s coverage: [no statements]
ok github.com/nspcc-dev/neo-go/cli/options 0.054s coverage: 50.0% of statements
? github.com/nspcc-dev/neo-go/cli/paramcontext [no test files]
ok github.com/nspcc-dev/neo-go/cli/query 2.089s coverage: 45.3% of statements
ok github.com/nspcc-dev/neo-go/cli/server 1.510s coverage: 67.8% of statements
ok github.com/nspcc-dev/neo-go/cli/smartcontract 8.433s coverage: 94.3% of statements
ok github.com/nspcc-dev/neo-go/cli/util 0.013s coverage: 10.9% of statements
? github.com/nspcc-dev/neo-go/cli/vm [no test files]
ok github.com/nspcc-dev/neo-go/cli/wallet 47.252s coverage: 63.0% of statements
2022-10-06 09:21:26 +03:00
Roman Khimov
1ac60ada19
cli: move tests to subpackages
...
Refs. #2379 , but not completely solves it, one package seriously outweights
others:
? github.com/nspcc-dev/neo-go/cli [no test files]
ok github.com/nspcc-dev/neo-go/cli/app 0.036s coverage: 100.0% of statements
ok github.com/nspcc-dev/neo-go/cli/cmdargs 0.011s coverage: 60.8% of statements
ok github.com/nspcc-dev/neo-go/cli/flags 0.009s coverage: 97.7% of statements
? github.com/nspcc-dev/neo-go/cli/input [no test files]
ok github.com/nspcc-dev/neo-go/cli/options 0.033s coverage: 50.0% of statements
? github.com/nspcc-dev/neo-go/cli/paramcontext [no test files]
ok github.com/nspcc-dev/neo-go/cli/query 2.155s coverage: 45.3% of statements
ok github.com/nspcc-dev/neo-go/cli/server 1.373s coverage: 67.8% of statements
ok github.com/nspcc-dev/neo-go/cli/smartcontract 8.819s coverage: 94.3% of statements
ok github.com/nspcc-dev/neo-go/cli/util 0.006s coverage: 10.9% of statements
? github.com/nspcc-dev/neo-go/cli/vm [no test files]
ok github.com/nspcc-dev/neo-go/cli/wallet 72.103s coverage: 88.2% of statements
Still a nice thing to have.
2022-10-06 09:21:26 +03:00
Roman Khimov
d2d190913b
cli: add historic abilities for all invoking commands
...
Notice that we can't do this for balance commands (unless we change the
interface in some manner) because they use getnepXXbalances.
Fixes #2620 .
2022-09-08 19:20:18 +03:00
Roman Khimov
4403a95ae6
cli: don't return sender from invokeWithArgs
...
It's not really needed, deployer knows the sender exactly already.
2022-09-08 15:57:27 +03:00
Roman Khimov
541d4b49e1
context: define a constant for transaction context type
2022-09-08 14:33:04 +03:00
Roman Khimov
4f3ffe7290
golangci: enable errorlint and fix everything it found
2022-09-02 18:36:23 +03:00
Roman Khimov
58dc8d0c9b
*: always close the wallet after use
...
Fix #2631 .
2022-09-02 14:44:32 +03:00
Roman Khimov
cbc2299295
cli/wallet: add warning for dump and export commands
2022-09-02 14:44:18 +03:00
Roman Khimov
e164625a7f
wallet: provide (*Account).SignHashable API
...
Make PrivateKey() less used and less useful.
2022-09-02 14:44:01 +03:00
Roman Khimov
e569edc841
wallet: add ScriptHash() to Account
...
It allows to simplify a lot of code and avoid getting a PrivateKey in some
cases.
2022-09-02 14:43:34 +03:00
Roman Khimov
fd8da6fdb9
*: do not get private key from Account to check if it CanSign()
...
We have this API now to performs checks.
2022-09-02 14:43:34 +03:00
Roman Khimov
8d33206bb8
*: don't get private key from account if just public one is needed
...
Add PublicKey() API to the Account and use it as appropriate, avoid creating
additional references to the private key.
2022-09-02 14:43:28 +03:00
Roman Khimov
411ebdf51e
cli: add complete support for offline signing, fix #2662
...
See documentation update for an example. Some code is made generic as well,
GetCompleteTransaction can now be used directly on ParameterContext.
2022-09-01 15:30:34 +03:00
Roman Khimov
2e6bd51727
cli/wallet: add strip-keys command
...
To strip keys from wallets.
2022-09-01 15:30:34 +03:00
Roman Khimov
a9237659ff
cli/wallet: correct error message
...
It can be both NEP-11 and NEP-17.
2022-09-01 15:30:33 +03:00
Roman Khimov
c2c10c111c
cli/wallet: process non-out non-rpc calls to sign
...
And document the behavior better. Fixes #2664 .
2022-09-01 15:30:33 +03:00
Roman Khimov
c316107c9f
cli/wallet: avoid parsing address in signStoredTransaction
...
It's not needed, we already have the hash and getDecryptedAccount can't return
an account for a different one.
2022-09-01 15:30:33 +03:00
Roman Khimov
4b136e8ab1
cli/sc: tune error messages for forced save/send
...
Here we're either saving or sending a transaction (depending on `out`), but
not both. Refs. #2664 .
2022-08-31 09:51:57 +03:00
Roman Khimov
314cd3341b
Merge pull request #2667 from nspcc-dev/rpc-nep-token-info
...
Drop NEPXXTokenInfo from the RPC client
2022-08-30 14:41:30 +03:00