silkaj issueshttps://git.duniter.org/clients/python/silkaj/-/issues2023-11-13T14:27:15+01:00https://git.duniter.org/clients/python/silkaj/-/issues/376Replace tools.message_exit() with sys.exit()2023-11-13T14:27:15+01:00MoulReplace tools.message_exit() with sys.exit()`sys.exit()` can print an error and send the appropriate error status to the shell.`sys.exit()` can print an error and send the appropriate error status to the shell.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/375Write unit tests for 'certify' command2023-05-30T16:44:53+02:00MoulWrite unit tests for 'certify' commandBackloghttps://git.duniter.org/clients/python/silkaj/-/issues/372Option to store a user generated document2022-03-29T11:24:06+02:00MoulOption to store a user generated document> Original idea from https://forum.duniter.org/t/re-emission-dune-transaction/8161
- [ ] option format: `--store/-s --file/-f=<path>`
- [ ] #305: `tx`: would allow to send (by any messaging mean) the document to someone else to sign i...> Original idea from https://forum.duniter.org/t/re-emission-dune-transaction/8161
- [ ] option format: `--store/-s --file/-f=<path>`
- [ ] #305: `tx`: would allow to send (by any messaging mean) the document to someone else to sign it for multi-sig: #144.
- [ ] `cert`
- [ ] `membership`
- [x] `revocation`: basic feature of this command
- [ ] `identity`
- [ ] `sign`: to add a signature to a transaction
- [ ] `send`: new command to send those documents
- [ ] ability to resend a documentBackloghttps://git.duniter.org/clients/python/silkaj/-/issues/370Check if the node requested is up to date2021-07-27T13:33:36+02:00MoulCheck if the node requested is up to dateFor each network-command, calculate the difference between last block’s time and current time.
If the difference it too big, print a warning message.
Or, check the block numbers between different nodes.For each network-command, calculate the difference between last block’s time and current time.
If the difference it too big, print a warning message.
Or, check the block numbers between different nodes.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/359Take advantage of the CLI Guidelines2021-05-20T18:52:04+02:00MoulTake advantage of the CLI Guidelines- [Command Line Interface Guidelines Website](https://clig.dev/)
- [GH](https://github.com/cli-guidelines/cli-guidelines)- [Command Line Interface Guidelines Website](https://clig.dev/)
- [GH](https://github.com/cli-guidelines/cli-guidelines)Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/357Document coding style and harmonize it2021-04-07T19:00:15+02:00matograineDocument coding style and harmonize itI get sometimes confused by variables names.
I think the coding style should be documented in CONTRIBUTING.md.
I suggest (to be discussed) :
* camelCase for variables
* CamelCase for classes
* i_don_t_know_how_it_is_called() for functio...I get sometimes confused by variables names.
I think the coding style should be documented in CONTRIBUTING.md.
I suggest (to be discussed) :
* camelCase for variables
* CamelCase for classes
* i_don_t_know_how_it_is_called() for functions
to do:
- [ ] document it
- [ ] harmonize all codeBackloghttps://git.duniter.org/clients/python/silkaj/-/issues/354Write test to lock the ability to use Silkaj without Click context2021-08-10T21:38:31+02:00MoulWrite test to lock the ability to use Silkaj without Click context- [ ] Since Python 3.5 has been dropped, we can use `ModuleNotFoundError` exception.
- https://docs.python.org/3/library/exceptions.html#ModuleNotFoundError
- [ ] Write tests- [ ] Since Python 3.5 has been dropped, we can use `ModuleNotFoundError` exception.
- https://docs.python.org/3/library/exceptions.html#ModuleNotFoundError
- [ ] Write testsBackloghttps://git.duniter.org/clients/python/silkaj/-/issues/350Set the priority to the passed pubkey over the authentication method for `bal...2023-08-16T21:11:26+02:00MoulSet the priority to the passed pubkey over the authentication method for `balance` and `checksum` cmdsCommands allowing to pass a pubkey via the authentication and the usual CLI (`balance` and `checksum` for now) are prioritizing the authentication methods over the pubkey.
@matograine suggested to prioritize the pubkey over the authentic...Commands allowing to pass a pubkey via the authentication and the usual CLI (`balance` and `checksum` for now) are prioritizing the authentication methods over the pubkey.
@matograine suggested to prioritize the pubkey over the authentication method or return an error.
That could be an issue when `silkaj -af` is set as a shell alias, where the authentication would always be set on every command, then the user would forget about it, and get the result for public key from the authentication file.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/349authfile command: use general instead of specific option to specify the auth ...2022-03-29T11:16:49+02:00Moulauthfile command: use general instead of specific option to specify the auth file path?The advantage is using a common system: `click` context.
The downside is that it doesn't get obvious, since it's not longer suggested in the command specific help.
The help of the command could specify that.The advantage is using a common system: `click` context.
The downside is that it doesn't get obvious, since it's not longer suggested in the command specific help.
The help of the command could specify that.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/340Multiline support into the table libs2023-07-10T22:07:30+02:00MoulMultiline support into the table libsHave a look if there is multiline support into the table libs:
- `tabulate`
- `texttable`
- …
That would be useful for the `history` command (!141) and others.Have a look if there is multiline support into the table libs:
- `tabulate`
- `texttable`
- …
That would be useful for the `history` command (!141) and others.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/339Write unit test on tx_history command2021-04-08T14:20:28+02:00MoulWrite unit test on tx_history commandCurrently, there is just integration tests on the `history` command.
Except for !141, unit testing this command should be done.
This code base might be rework with GVA and/or a new interface.Currently, there is just integration tests on the `history` command.
Except for !141, unit testing this command should be done.
This code base might be rework with GVA and/or a new interface.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/334Upload python package to GitLab Python repository2023-07-22T18:11:26+02:00MoulUpload python package to GitLab Python repository…instead of PyPI test.
- [Authentication how-to](https://git.duniter.org/help/user/packages/pypi_repository/index.md#adding-the-gitlab-pypi-repository-as-a-source)
[PyPI package feature available in `Core` since GitLab v13.3](https://a...…instead of PyPI test.
- [Authentication how-to](https://git.duniter.org/help/user/packages/pypi_repository/index.md#adding-the-gitlab-pypi-repository-as-a-source)
[PyPI package feature available in `Core` since GitLab v13.3](https://about.gitlab.com/releases/2020/08/22/gitlab-13-3-released/#package-registry-now-available-in-core)
- [Can be imported from GitLab v16.2](https://about.gitlab.com/releases/2023/07/22/gitlab-16-2-released/#import-pypi-packages-with-cicd-pipelines)Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/331Add ability to initiate a new currency2020-07-29T17:21:47+02:00MoulAdd ability to initiate a new currencyhttps://forum.duniter.org/t/projet-etudiant-autour-de-duniter/7393/13?u=moulhttps://forum.duniter.org/t/projet-etudiant-autour-de-duniter/7393/13?u=moulBackloghttps://git.duniter.org/clients/python/silkaj/-/issues/329HD Wallet support2021-04-08T16:44:51+02:00MoulHD Wallet support> https://git.duniter.org/clients/python/duniterpy/-/issues/129
>
> https://git.duniter.org/clients/python/sakia/-/issues/812
- [HD Wallets Explained: From High Level to Nuts and Bolts](https://medium.com/@harshagoli/hd-wallets-explaine...> https://git.duniter.org/clients/python/duniterpy/-/issues/129
>
> https://git.duniter.org/clients/python/sakia/-/issues/812
- [HD Wallets Explained: From High Level to Nuts and Bolts](https://medium.com/@harshagoli/hd-wallets-explained-from-high-level-to-nuts-and-bolts-9a41545f5b0)
- [Deterministic wallet](https://en.bitcoinwiki.org/wiki/Deterministic_wallet)
- ~~[What are HD Wallets? (Deterministic Wallet)](https://coinsutra.com/hd-wallets-deterministic-wallet/)~~Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/328Import modules in an upper level to not cause issue while monkeypatching2022-03-13T18:09:28+01:00MoulImport modules in an upper level to not cause issue while monkeypatching### Problem
Following `pep8` recommendations to import just the necessary function used in the code.
And following what I heard about importing just the minimum to speed-up the program start-up, and may be decrease the memory usage by ke...### Problem
Following `pep8` recommendations to import just the necessary function used in the code.
And following what I heard about importing just the minimum to speed-up the program start-up, and may be decrease the memory usage by keeping the minimum libs in the memory.
This two above statement made silkaj runtime code just import the strict minimum of what's used.
We are now starting to write more and more tests, and this caused troubles. Monkeypatching wasn't working due to import issues.
[This article](https://medium.com/@chipiga86/python-monkey-patching-like-a-boss-87d7ddb8098e) explains why the monkey patching is sometimes not working due to import issues. As a summary, this is due to how the modules are imported. Once imported and cached, it can not be changed. But, if you import at a higher level, via the above module, the patching is working.
### Solution
This ticket is just about changing the modules import, by importing them from a higher level:
```
from silkaj import tx
tx.send_transaction()
tx.confirmation_chart()
```
We could import a whole file, a class, but not a function nor a method, otherwise we would get annoyed by non-working monkeypatching.
This also allow to know from which library the f() is coming from, the context. There will be less effort tracking which function is use/is no more used and can be removed.
The idea is to get into this direction. We could still import function and method if wished.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/325Read blockchain from Duniter local storage2021-04-08T14:24:03+02:00MoulRead blockchain from Duniter local storageReading the blockchain from Duniter local storage, could be specified by an option (`--local`) by commands using the blockchain (`verify`, `blocks`, …).
Rather than getting the blockchain from the client API, reading should be faster.
...Reading the blockchain from Duniter local storage, could be specified by an option (`--local`) by commands using the blockchain (`verify`, `blocks`, …).
Rather than getting the blockchain from the client API, reading should be faster.
https://forum.duniter.org/t/parser-lensemble-des-blocs-du-stockage-local-de-duniter/7344
https://forum.monnaie-libre.fr/t/la-toile-de-confiance-animee/11132Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/324change "lookup" command to "check" command and display more info2021-04-07T16:11:02+02:00matograinechange "lookup" command to "check" command and display more infoA "check" function would be useful, instead of "id", to display more info :
`check <pubkey>` gives :
* identity is it is a member account
* identity status (pool/BC)
* \<pubkey>:\<checksum>
* "virgin" wallet (with or without in/out txs)...A "check" function would be useful, instead of "id", to display more info :
`check <pubkey>` gives :
* identity is it is a member account
* identity status (pool/BC)
* \<pubkey>:\<checksum>
* "virgin" wallet (with or without in/out txs)
`check <pubkey>:<checksum>` gives :
* \<pubkey> if right checksum ; WRONG PUBKEY if not
* identity is it is a member account
* identity status (pool/BC)
* "virgin" wallet (with or without in/out txs)
`check <identity>` gives:
* \<pubkey> if existing identity // NON-EXISTING IDENTITY if not
* identity status (pool/BC)
* \<pubkey>:\<checksum>
* "virgin" wallet (with or without in/out txs)
For now, no Duniter client gives the pubkey + checksum, although it is a useful information.
Maybe the checksum should be displayed separately. This should be discussed.Backloghttps://git.duniter.org/clients/python/silkaj/-/issues/319Graphics with mathplotlib2023-05-30T16:50:36+02:00MoulGraphics with mathplotlibI am not sure on how to integrate it. Can a window pop from the CLI? Can it be integrated into a GUI lib?
List of finding links:
- https://realpython.com/python-matplotlib-guide/
- https://pypi.org/project/matplotlib/
- https://matplotl...I am not sure on how to integrate it. Can a window pop from the CLI? Can it be integrated into a GUI lib?
List of finding links:
- https://realpython.com/python-matplotlib-guide/
- https://pypi.org/project/matplotlib/
- https://matplotlib.org
- https://github.com/matplotlib/matplotlib
- https://github.com/daleroberts/itermplot
- https://pypi.org/project/terminalplot/
- https://github.com/kressi/terminalplotBackloghttps://git.duniter.org/clients/python/silkaj/-/issues/318Introduce safety pre-commit hook2022-04-20T16:52:33+02:00MoulIntroduce safety pre-commit hook- [Safety](https://github.com/pyupio/safety)
- [`poetry.lock` is yet not handled, but there is a hack](https://github.com/pyupio/safety/issues/201#issuecomment-632627366)
---
- [ ] Introduce `pre-commit` hook
- [ ] run in `pre-commit:h...- [Safety](https://github.com/pyupio/safety)
- [`poetry.lock` is yet not handled, but there is a hack](https://github.com/pyupio/safety/issues/201#issuecomment-632627366)
---
- [ ] Introduce `pre-commit` hook
- [ ] run in `pre-commit:hooks` jobBackloghttps://git.duniter.org/clients/python/silkaj/-/issues/316Clarify exit status code2021-04-07T16:11:31+02:00MoulClarify exit status codeWhen there is a CLI error in Click arguments, the exit status code is set to `2`.
When we are reporting a CLI issue with `message_exit()` we returns `1`.
Following sources are not agree on `1` and `2`:
- https://tldp.org/LDP/abs/html/ex...When there is a CLI error in Click arguments, the exit status code is set to `2`.
When we are reporting a CLI issue with `message_exit()` we returns `1`.
Following sources are not agree on `1` and `2`:
- https://tldp.org/LDP/abs/html/exitcodes.html
- https://jazz.net/help-dev/clm/topic/com.ibm.team.scm.doc/topics/r_scm_cli_retcodes.html
See `tests/test_tx.py:test_tx_passed_amount_cli()`Backlog