Evgeniy Stratonikov
dd1e2cefe4
core,cli: disallow verify methods with non-bool returns
2021-01-27 12:51:47 +03:00
Evgeniy Stratonikov
73f888f02e
core: allow to overload contract methods
...
Multiple methods with different parameter count can co-exist.
2021-01-27 12:51:07 +03:00
Evgeniy Stratonikov
0b26b46234
state: store NEF instead of script for contract
...
NEFs for native contracts are set statically, thus
field values are taken from the reference implementation.
2021-01-13 15:34:10 +03:00
Roman Khimov
cf8cf93e7a
native: change contract names, move them to separate package
...
Follow neo-project/neo#2138 and make RPC client's GetNativeContractHash
case-sensitive.
2020-12-14 15:24:15 +03:00
Evgenii Stratonikov
239a8c3de7
cli: fix wallet convert
and add tests
...
Close #1589 .
2020-12-04 12:45:53 +03:00
Roman Khimov
1cf1fe5d74
*: introduce stable contract hashes
...
Follow neo-project/neo#2044 .
2020-11-27 21:47:08 +03:00
Evgenii Stratonikov
31eca342eb
*: replace all NEP5 occurences to NEP17
2020-11-24 13:08:24 +03:00
Anna Shaleva
2f9d64821f
cli: add ExitError where needed
2020-11-05 10:37:06 +03:00
Anna Shaleva
b8a88f9378
rpc: allow to use address, id or name instead of scripthash [Client]
...
... for getcontractstate RPC client method.
2020-11-03 17:58:24 +03:00
Evgenii Stratonikov
40a24bad64
cli: add tests for wallet import-deployed
...
Fix bugs with import, allow to sign tx with contract.
2020-09-18 12:07:02 +03:00
Evgenii Stratonikov
583ef546f9
cli: add tests for wallet claim
...
Fix a NEO contract hash used in tx.
2020-09-18 12:07:02 +03:00
Evgenii Stratonikov
5d7f177811
cli: add tests for wallet/account creation
2020-09-18 12:07:02 +03:00
Evgenii Stratonikov
0dda247719
cli: move input handling to a separate package
2020-09-18 12:05:31 +03:00
Evgenii Stratonikov
911be78cc7
cli: use Writer from app instead of Stdout
...
It is useful in tests.
2020-09-18 12:05:31 +03:00
Evgenii Stratonikov
cdfb2429f2
cli: allow to create accounts for deployed contracts
2020-08-27 11:32:55 +03:00
Evgenii Stratonikov
78eade24a3
cli/wallet: decrypt account immediately
2020-08-12 16:54:59 +03:00
Evgenii Stratonikov
88e926fbc3
cli: move wallet vote
to validator vote
2020-08-12 16:54:58 +03:00
Roman Khimov
c3c88a57cd
Merge pull request #1281 from nspcc-dev/drop-go-1.12-and-fix-some-things
...
Drop go 1.12 and fix some things
2020-08-07 13:34:54 +03:00
Roman Khimov
0e2784cd2c
always wrap errors when creating new ones with fmt.Errorf()
...
It doesn't really change anything in most of the cases, but it's a useful
habit anyway.
Fix #350 .
2020-08-07 12:21:52 +03:00
Evgenii Stratonikov
05c24d9401
cli: support voting
...
Closes #1206 .
2020-08-06 20:39:13 +03:00
alexvanin
642a221e39
cli: update wallet path argument name in cli context
...
In #1104 wallet path argument has changed from `--path` to `--wallet`
but cli application still getting wallet path with `ctx.String("path")`
instead of `ctx.String("wallet")`.
2020-06-25 18:46:24 +03:00
Evgenii Stratonikov
65cb6dd0ad
cli: change name for wallet path flag
...
`-p` is used for `--privnet`, `-w` is for wallet.
Fix CLI error:
balance flag redefined: p
panic: balance flag redefined: p
2020-06-25 17:21:18 +03:00
Roman Khimov
16ce63e653
cli: unify RPC endpoint flags under options package
...
This makes rpc flags consistent across all commands, previously some commands
used 'endpoint, e' and some 'rpc, r', some had ability to change timeout and
some hadn't. Now 'rpc-endpoint, r' is used everywhere along with 'timeout, t'.
2020-06-18 12:10:59 +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
0a09a20900
transaction: drop Register transaction type
...
And everything associated like SystemFee configuration.
2020-06-05 19:20:16 +03:00
Roman Khimov
e358c70ecc
cli/wallet: drop classic transfer support
...
We do have 'nep5 transfer' and that's enough for now.
2020-06-05 19:20:16 +03:00
Roman Khimov
d496cc9687
cli/wallet: switch claim command to claim NEP5 GAS
2020-06-05 19:20:16 +03:00
Anna Shaleva
7acf5b2841
core: add SystemFee and NetworkFee to transaction
...
closes #831
2020-05-20 23:26:48 +03:00
Anna Shaleva
2b5c14160c
core: add sender field to transaction
...
closes #860
2020-04-20 17:21:28 +03:00
Anna Shaleva
5fa11987d2
core: add validUntilBlock field to transaction
...
1. closes #841
2. Commented out test cases where binary transaction are used.
These test cases marked with `TODO NEO3.0: Update binary` and need to be
updated.
3. Updated other tests.
4. Added cache to calculateValidUntilBlock() RPC-client method.
2020-04-15 13:46:43 +03:00
Anna Shaleva
65503aa9b4
core: add nonce field to transaction
...
1. Closes #840 : added Nonce field to transaction.Transaction and
removed Nonce field from transaction.MinerTx
2. Added following methods to different tx types:
- NewMinerTx()
- NewMinerTxWithNonce(...)
- NewEnrollmentTx(...)
- NewIssueTx()
- NewPublishTx(...)
- NewRegisterTx(...)
- NewStateTx(...)
in order to avoid code duplication when new transaction is created.
3. Commented out test cases where binary transaction/block are used.
These test cases marked with `TODO NEO3.0: Update binary` and need to be
updated.
4. Updated other tests
5. Added constant Nonce to GoveringTockenTx, UtilityTokenTx and genesis
block to avoid data variability. Also marked with TODO.
2020-04-14 16:19:41 +03:00
Evgenii Stratonikov
cc5ec8e6d6
cli: support contract import in wallets
...
Sometimes we need to use custom verification script, e.g.
for contracts where funds needs to become accessible only
after a certain amount of time.
2020-03-16 15:12:50 +03:00
Evgenii Stratonikov
ffc0729adb
cli: implement wallet remove-account
...
Make it possible to remove unneeded accounts from wallet.
2020-03-16 15:12:50 +03:00
Evgenii Stratonikov
2d82eb89f8
cli: rename wallet
commands
...
Creating accounts is done frequently so it makes
sense to have lesser name for this command.
`create` -> `init`
`create-account` -> `create`
2020-03-16 15:12:50 +03:00
Evgenii Stratonikov
c2924795ad
cli: fix a bug in wallet claim
...
getclaimable RPC expects address as a 1-st argument.
2020-03-10 13:02:14 +03:00
Evgenii Stratonikov
053b779be7
cli: implement NEP5 transfer
2020-03-10 13:02:14 +03:00
Evgenii Stratonikov
519b27fe0e
cli: implement NEP5 token import
...
To work with NEP5 tokens, one need to save some info
e.g. token Name. This way we will not make additional
RPC just to get Decimals.
2020-03-10 13:02:14 +03:00
Evgenii Stratonikov
8d73276393
cli: do not allow default value for an empty address
...
Right now a bizarre error message can occur if an address flag was not
set: `wallet contains no account for 'AFmseVrdL9f9oyCzZefL9tG6UbvhPbdYzM'`.
This bug is 10x worse if it occures in `transfer` --from flag.
2020-03-10 09:54:23 +03:00
Evgenii Stratonikov
9be4312d8d
cli: implement AddressFlag
...
This makes code less verbose and performs all parsing
before invoking main function.
2020-03-06 13:50:34 +03:00
Evgenii Stratonikov
a9783d05f5
cli: implement wallet multisig sign
command
...
Implement ability to sign transactions with multisig address.
This should be done in several steps:
1. Create TX with `wallet transfer --out <file>`
2. Sign TX with `wallet multisign sign --in <file> --out <file2>`.
3. Repeat 2 for every party.
Input file contains transaction with possibly incomplete
set of the signatures. Output file will contain the same tx
with updated signature set.
When --rpc flag is provided, result transaction is sent
via `sendrawtransaction`.
2020-03-05 09:45:34 +03:00
Evgenii Stratonikov
0d4ad9f76c
cli: add --out flag to the wallet transfer
command
...
When transferring assets from multisig accounts,
it is useful to export tx into a file, so that
other participants can sign it too.
2020-03-05 09:45:12 +03:00
Evgenii Stratonikov
7eaeb18f18
transaction: marshal ContractTX even if Data is nil
...
It contains no information so it doesn't matter anyway.
2020-03-04 20:01:26 +03:00
Roman Khimov
e41d434a49
*: move all packages from CityOfZion to nspcc-dev
2020-03-03 17:21:42 +03:00
Evgenii Stratonikov
05a3625b7d
wallet: implement (*Account).SignTx
...
It is used in both CLI and RPC.
2020-03-02 18:03:56 +03:00
Evgenii Stratonikov
ed190dcfd3
cli: add command for asset transfer
...
It uses getunspents RPC for getting UTXO and
forming transaction.
2020-03-02 18:01:49 +03:00
Evgenii Stratonikov
907d599edb
cli: add command for GAS claiming
...
GAS can be claimed via `wallet claim` command.
This will claim first get all claimable outputs via
`getclaimable` RPC and then form a transaction signed
byte the private key from the wallet.
2020-03-02 18:01:49 +03:00
Evgenii Stratonikov
2fc6375958
cli: provide separate function for opening wallet
2020-02-21 12:14:53 +03:00
Evgenii Stratonikov
3d67d52537
cli: support account creation in existing wallet
2020-02-21 12:14:53 +03:00
Evgenii Stratonikov
20c98411fd
cli: implement wallet WIF/NEP2 export
...
One positional argument can be provided. If so, it is
interpreted as address and only WIFs corresponding to it
are exported. If address is provided '--decrypt' flag can be
specified to export unencrypted WIFs.
2020-02-21 12:14:52 +03:00
Evgenii Stratonikov
a030411310
cli: implement multisig import to wallet
2020-02-21 12:14:33 +03:00
Evgenii Stratonikov
baa68e1d46
cli: implement wallet WIF import
2020-02-21 11:19:34 +03:00
Evgenii Stratonikov
a71c2c4bfd
cli: move password getting to a separate function
...
Also do not ignore errors from `terminal.ReadPassword`.
2020-02-21 10:45:58 +03:00
Evgenii Stratonikov
02954285c1
cli: declare wallet path flag once
2020-02-20 15:52:07 +03:00
Roman Khimov
aad0d3792d
wallet: implement dump
command
...
Mostly a testing tool for the moment.
2020-01-09 18:40:30 +03:00
Roman Khimov
c8aa061421
cli/wallet: use more secure way to read passwords
...
They were printed in plaintext, believe it or not. Also, `ssh/terminal` does
some proper magic to really read something from the terminal.
2019-12-03 20:04:52 +03:00
Roman Khimov
dafd385f57
cli: extend NewCommand() to NewCommands()
...
So that each module could now return an array of commands. It's gonna be used
in the future to extend them.
2019-10-19 23:58:45 +03:00
Evgeniy Kulikov
67cbcac643
Fix typos ( #133 )
...
* Fix typos
* revert chains/unit_testnet
* revert chains
* fix review comments (thx @AlexVanin )
2019-02-13 18:01:10 +00:00
Evgeniy Kulikov
f000b76879
[FIX] Formatting and code-style ( #118 )
...
* [FIX] Formatting and code-style
- gofmt
- import resort
- prealloc slices
- simplify code
* fix vet
2019-01-25 12:20:35 +01:00
Sathvik Birudavolu
5b57a10250
Fix NEP2Encrypt add Unit Tests ( #108 )
...
* fix NEP2 add unit tests
* version update
2018-12-05 12:30:13 +01:00
Anthony De Meulemeester
f3f6662fc9
Base wallet implementation ( #35 )
...
* Initial draft of the neo-go wallet
* Cleanup + more test for util package
* integrated wallet into neo-cli partially
* base wallet implementation + smartcontract code.
2018-03-02 16:24:09 +01:00