Skip to content
This repository was archived by the owner on Nov 15, 2021. It is now read-only.

Conversation

@jseagrave21
Copy link
Contributor

What current issue(s) does this address, or what feature is it adding?

How did you solve this problem?
Trial and Error

How did you make sure your solution works?
Unittest

Are there any special changes in the code that we should be aware of?
No

Please check the following, if applicable:

  • Did you add any tests?
  • Did you run make lint?
  • Did you run make test?
  • Are you making a PR to a feature branch or development rather than master?
  • Did you add an entry to CHANGELOG.rst? (if not, please do)

Merge CoZ refactor-prompt into jseagrave21 refactor-prompt
- add CommandShow and CommandSearch to prompt
revert changes
- Add CommandShow
Adds Command Show and supports `show block` through `show nodes`
add tests for `show block` through `show nodes`
remove space for `make lint`
self.register_sub_command(CommandShowNodes(), ['node'])

def command_desc(self):
return CommandDesc('show', 'show data from the blockchain')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to generalise the description a bit more because it also includes "node memory usage", "connected nodes", "overall client state" (and who knows what in the future).

I'm out of inspiration at this point, but I'm sure you can find a nice and short generalised line 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about "show useful data"
?

def __init__(self):
super().__init__()

def execute(self, arguments):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

show block and show headers without an argument throws an exception. Example

neo> show block
Could not execute command: object of type 'NoneType' has no len()
and then some

show tx without arguments throws a different exception

neo> show tx
Could not find transaction from args: 'NoneType' object is not subscriptable ([])

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed all those user friendly messages because I thought @LysanderGG 's change to CommandBase here #733 (review) was going to be merged. Oops 😊
I will add all the original messages back in

def __init__(self):
super().__init__()

def execute(self, arguments):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

show tx with an invalid argument gives a not user friendly error

neo> show tx 1
Could not find transaction from args: Invalid UInt256 Format: 1 chars != 64 chars (['1'])

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about now? (I just removed the exception)

- update for compatibility
Merge refactor-prompt into refactor-CommandShow-pt1
- re-add CommandShow
- update per review
- update per review
- update for missing arguments
- add tests for updated missing arguments
- updated indentation for `make lint`
@ixje
Copy link
Member

ixje commented Dec 6, 2018

Looks good as far as I could test and see now 👍

@ixje ixje merged commit cfefd13 into CityOfZion:refactor-prompt Dec 6, 2018
@jseagrave21 jseagrave21 deleted the refactor-CommandShow-pt1 branch December 6, 2018 14:39
@coveralls
Copy link

coveralls commented Dec 8, 2018

Coverage Status

Coverage increased (+0.2%) to 84.279% when pulling 474caa1 on jseagrave21:refactor-CommandShow-pt1 into f19db75 on CityOfZion:refactor-prompt.

ixje added a commit that referenced this pull request Jan 10, 2019
* Add the bases for making prompt commands plugin based (#720)

* WIP make prompt commands plugin based

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Merge ixje:refactor-prompt

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Handle help detection in prompt.py

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Use CommandBase for subcommands to be able to have N levels of commands.

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Move "create wallet" command into "wallet"

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Improve CommandBase.register_sub_command to use the subcommand's CommandDesc.command as an id. (#725)

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Fix 1 word commands (#727)

* Improve CommandBase.register_sub_command to use the subcommand's CommandDesc.command as an id.

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Fix exception when a command was used without arguments (for example "wallet")

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Add support for `wallet` `send`, `sendmany`, `sign`, `open`, and `close` (#726)

* Prompt cleanup (#730)

* Update description and clarify debug logs

* Make return's explicit, clarify multi-sig help message

* cleanup prompt

* remove colour from initial help, sort commands alphabetically, cleanup descriptions

* fix linting

* process feedback

* [refactor-prompt] Prompt fixes (#732)

* Improve CommandBase.register_sub_command to use the subcommand's CommandDesc.command as an id.

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Fix CommandWalletCreateAddress missing parameter desc

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Fix missing words for autocompletion

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* [refactor-prompt] Add missing tests for wallet create, verbose and create_addr (#733)

* Add missing tests for wallet create, verbose and create_addr

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* fix reviews

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* [refactor prompt] Add support for search method group (#739)

* [refactor prompt] Add support for show method group (pt 1) (#738)

* Fix NodeLeader was not reset between test cases. (#742)

This would lead to some problems when the blockchain is reset but the NodeLeader instance members are not.
Transactions were still considered as known.

Some members were not reset in NodeLeader.Setup()
Also removed unsued member NodeLeader.MissionsGlobal

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Migrate command: wallet rebuild (#747)

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* remove deprecated migrate command

* remove deprecated migrate command (#748)

* [refactor prompt] Add support for show method group (pt 2) (#741)

* [refactor-prompt] Implement CommandWalletClaimGas (#740)

* [refactor-prompt] Add wallet token base + delete (#757)

* [refactor-prompt] Migrate command: wallet delete_addr (#752)

* Migrate command: wallet delete_addr

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* UserWallet.DeleteAddress now returns False on error + proper handling of invalid addresses in CommandWalletDeleteAddress

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Migrate command: wallet alias (#753)

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* [refactor-prompt] Add wallet token send (#758)

* remove deprecated migrate command

* Add wallet token send

* Update requirements and use isValidPublicAddress from new neo-python-core version

* - fix send token description
- process feedback

* fix doc string typo

* [refactor prompt] Add support for config group pt1 (#759)

* add wallet import nep2/wif (#765)

* [refactor-prompt] add wallet token history (#763)

* Add wallet token history

* process feedback

* fix broken test after base branch merge

* [refactor-prompt] add wallet export commands (#764)

* add wallet export commands

* Fix export nep2 to ask for passwords to prevent pw leaking to logs

* process feedback

* [refactor-prompt] add wallet import watchaddr (#766)

* [refactor-prompt] add token sendfrom (#761)

* [refactor-prompt] add import multisig_addr (#767)

* add import multsig address

* remove obsolete function

* [refactor-prompt] Migrate command: wallet unspent (#760)

* migrate command: wallet unspent

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* wallet unspent - add tests

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* fix arguments names and missing doc

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Handle review: add feedback when there is no asset matching the arguments + use neocore.Utils.isValidPublicAddress

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* [refactor prompt] Add support for config maxpeers (#762)

* add token approve and token allowance (#769)

* add config nep8 (#771)

* [refactor-prompt] Migrate command: wallet split (#770)

* Migrate command wallet split

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Fix some comments

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Fix command desc + remove print() calls committed by mistake

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Add tests for CommandWalletSplit

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Review: test_wallet_split use string arguments instead of ints

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Handle Reviews - handle negative fees, improve error messages

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* add token mint (#773)

* [refactor prompt] Fix `search asset` and `search contract` (#774)

* Update prompt.py

- add CommandShow and CommandSearch to prompt

* Update prompt.py

revert changes

* Update Search.py

- update `search contract` and `search asset` per #623 (comment)

* Update test_search_commands.py

- add tests in case no search parameter is provided

* add token register (#775)

* [refactor-prompt] Migrate command: wallet import token (#772)

* test_wallet_commands.py: Move tests of non commands at the end

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Add wallet import token

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Review: return None implicitly where possible

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Add a few tests for SplitUnspentCoin()

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* CommandWalletImportToken - Handle review: better validation of contract_hash

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* Add wallet import contract_addr (#777)

Signed-off-by: Guillaume George <lysandergc@gmail.com>

* split prompt wallet into multiple files (#782)

* [refactor-prompt] add support for the sc group including build, build_run, and load_run (#779)

* [refactor-prompt] cleanup 2 (#783)

* make base command response consistent

* fix plurality

* check input parameters before closing wallet

* streamline missing arguments response
streamline accepted boolean options for config

* process feedback

* [refactor-prompt] add debugstorage command (#784)

* add debugstorage command (and fix auto save linting error)

* correct comments

* [refactor-prompt] add sc deploy (#785)

* add sc deploy (previously known as; import contract)

* process feedback

* [refactor-prompt] add sc invoke (#786)

* add sc invoke (previously known as testinvoke)

* process feedback

* streamline parameter descriptions (#787)

* add wallet password checking before exporting (#790)

* fix exception in help if command has no params (#792)

* [refactor-prompt] enforce pw prompt send (#791)

* remove password bypass

* remove unused import

* [refactor-prompt] update docs (#789)

* update global readme

* update docs

* process feedback

* update show contract output

* [refactor-prompt] restore theming support (#788)

* re-store theming support

* fix comment

* improve wallet usage help (#794)

* clarify insufficient funds error message due to not enough unspent outputs (#793)

* fix prompt printer for lists and other possible objects (#795)

* Fix send/sendmany default wallet source address for tx (#796)

* [refactor-prompt] Improve send & sendmany (third try) (#799)

* Update Send.py

* Update test_send_command.py

* rename test_send_command.py as test_send_commands.py

* [refactor-prompt] Fix #800 (#802)

* Update prompt.py

- add CommandShow and CommandSearch to prompt

* Update prompt.py

revert changes

* Fix #800

- adds support for contracts not requiring params

* fix calculation of change value when using alternating asset inputs (#803)

* test print fix

* oops

* test again

* update makefile

* update changelog to trigger stuck build
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants