Handle pubkey's checksum in the tx code
The following discussion from !132 should be addressed:
- [ ] @matograine started a [discussion](https://git.duniter.org/clients/python/silkaj/-/merge_requests/132#note_22528): (+3 comments)
> Seems like there is a bug in the tx.py module.
> (I use the checksum example [given by Tortue](https://github.com/Tortue95/Duniter_Paper_Wallet))
>
> ```bash
> silkaj --gtest tx -r Hvrm4fZQWQ2M26wNczZcijce7cB8XQno2NPTwf5MovPa:5XP -a 100
> Please enter your Scrypt Salt (Secret identifier):
> Please enter your Scrypt password (masked):
> ╒════════════════════════════════════════════╤══════════════════════════════════════════════════╕
> │ pubkey's balance before tx (unit|relative) │ 96678.75 ĞTest | 9.6756 UD ĞTest │
> ├────────────────────────────────────────────┼──────────────────────────────────────────────────┤
> │ total transaction amount (unit|relative) │ 100.0 ĞTest | 0.01 UD ĞTest │
> ├────────────────────────────────────────────┼──────────────────────────────────────────────────┤
> │ pubkey's balance after tx (unit|relative) │ 96578.75 ĞTest | 9.6656 UD ĞTest │
> ├────────────────────────────────────────────┼──────────────────────────────────────────────────┤
> │ from (pubkey) │ AhRMHUxMPXSeG7qXZrE6qCdjwK9p2bu5Eqei7xAWVEDK │
> ├────────────────────────────────────────────┼──────────────────────────────────────────────────┤
> │ to (pubkey) │ Hvrm4fZQWQ2M26wNczZcijce7cB8XQno2NPTwf5MovPa:5XP │
> ├────────────────────────────────────────────┼──────────────────────────────────────────────────┤
> │ amount (unit|relative) │ 100.0 ĞTest | 0.01 UD ĞTest │
> ├────────────────────────────────────────────┼──────────────────────────────────────────────────┤
> │ comment │ │
> ╘════════════════════════════════════════════╧══════════════════════════════════════════════════╛
> Do you confirm sending this transaction? [yes/no]: yes
> Generate Transaction:
> - From: AhRMHUxMPXSeG7qXZrE6qCdjwK9p2bu5Eqei7xAWVEDK
> - To: Hvrm4fZQWQ2M26wNczZcijce7cB8XQno2NPTwf5MovPa:5XP
> - Amount: 100.0
> - Total: 100.0
> Traceback (most recent call last):
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/bin/silkaj", line 11, in <module>
> load_entry_point('silkaj', 'console_scripts', 'silkaj')()
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/click/core.py", line 764, in __call__
> return self.main(*args, **kwargs)
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/click/core.py", line 717, in main
> rv = self.invoke(ctx)
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
> return _process_result(sub_ctx.command.invoke(sub_ctx))
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/click/core.py", line 956, in invoke
> return ctx.invoke(self.callback, **ctx.params)
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/click/core.py", line 555, in invoke
> return callback(*args, **kwargs)
> File "/mnt/DATA/Users/bob/Documents/Associatif/June/Developpement/dev-silkaj/silkaj-multi_output/silkaj/tools.py", line 70, in wrapper
> return loop.run_until_complete(f(*args, **kwargs))
> File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
> return future.result()
> File "/mnt/DATA/Users/bob/Documents/Associatif/June/Developpement/dev-silkaj/silkaj-multi_output/silkaj/tx.py", line 141, in send_transaction
> key, issuer_pubkey, tx_amounts, recipients, comment, outputbackchange,
> File "/mnt/DATA/Users/bob/Documents/Associatif/June/Developpement/dev-silkaj/silkaj-multi_output/silkaj/tx.py", line 301, in handle_intermediaries_transactions
> OutputbackChange,
> File "/mnt/DATA/Users/bob/Documents/Associatif/June/Developpement/dev-silkaj/silkaj-multi_output/silkaj/tx.py", line 339, in generate_and_send_transaction
> transaction.sign([key])
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/duniterpy/documents/document.py", line 84, in sign
> signing = base64.b64encode(key.signature(bytes(self.raw(), "ascii")))
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/duniterpy/documents/transaction.py", line 839, in raw
> doc += "{0}\n".format(o.inline())
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/duniterpy/documents/transaction.py", line 201, in inline
> self.amount, self.base, pypeg2.compose(self.condition, output.Condition)
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/pypeg2/__init__.py", line 699, in compose
> return parser.compose(thing, grammar)
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/pypeg2/__init__.py", line 1299, in compose
> return terminal_indent() + thing.compose(self, attr_of=attr_of)
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/duniterpy/grammars/output.py", line 383, in compose
> left = parser.compose(self.left, grammar=grammar, attr_of=attr_of)
> File "/home/thomas/.cache/pypoetry/virtualenvs/silkaj-HKHTj0CI-py3.7/lib/python3.7/site-packages/pypeg2/__init__.py", line 1333, in compose
> + grammar.pattern)
> ValueError: '' does not match \w+
> ERROR:asyncio:Unclosed client session
> client_session: <aiohttp.client.ClientSession object at 0x7fc8c1496080>
> ERROR:asyncio:Unclosed connector
> connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x7fc8c14fbd48>, 83529.411582788)]']
> connector: <aiohttp.connector.TCPConnector object at 0x7fc8c1496048>
>
> ```
issue