diff --git a/silkaj/cert.py b/silkaj/cert.py index 876c2fc787115ece3338c684c481719948dbb024..d282cc4b5115950e2a25c27adfc3d6bc6810a4be 100644 --- a/silkaj/cert.py +++ b/silkaj/cert.py @@ -14,10 +14,13 @@ # along with Silkaj. If not, see <https://www.gnu.org/licenses/>. import sys +from typing import Dict import click from duniterpy.api import bma -from duniterpy.documents import BlockID, Certification, Identity, get_block_id +from duniterpy.api.client import Client +from duniterpy.documents import Block, BlockID, Certification, Identity, get_block_id +from duniterpy.key import SigningKey from pendulum import from_timestamp, now from tabulate import tabulate @@ -34,12 +37,12 @@ from silkaj.network_tools import client_instance, send_document @click.command("cert", help="Send certification") @click.argument("uid_pubkey_to_certify") @click.pass_context -def send_certification(ctx, uid_pubkey_to_certify): +def send_certification(ctx: click.Context, uid_pubkey_to_certify: str) -> None: client = client_instance() checked_pubkey = is_pubkey_and_check(uid_pubkey_to_certify) if checked_pubkey: - uid_pubkey_to_certify = checked_pubkey + uid_pubkey_to_certify = str(checked_pubkey) idty_to_certify, pubkey_to_certify, send_certs = wot.choose_identity( uid_pubkey_to_certify @@ -79,7 +82,7 @@ def send_certification(ctx, uid_pubkey_to_certify): send_document(bma.wot.certify, certification) -def pre_checks(client, issuer_pubkey, pubkey_to_certify): +def pre_checks(client: Client, issuer_pubkey: str, pubkey_to_certify: str) -> Dict: # Check whether current user is member issuer = wt.is_member(issuer_pubkey) if not issuer: @@ -90,8 +93,8 @@ def pre_checks(client, issuer_pubkey, pubkey_to_certify): # Check if the certification can be renewed params = get_blockchain_parameters() - req = client(bma.wot.requirements, pubkey_to_certify) - req = req["identities"][0] + requirements = client(bma.wot.requirements, pubkey_to_certify) + req = requirements["identities"][0] # type: Dict for cert in req["certifications"]: if cert["from"] == issuer_pubkey: # Ğ1: 0<–>2y - 2y + 2m @@ -109,8 +112,12 @@ def pre_checks(client, issuer_pubkey, pubkey_to_certify): def certification_confirmation( - ctx, issuer, issuer_pubkey, pubkey_to_certify, idty_to_certify -): + ctx: click.Context, + issuer: Dict, + issuer_pubkey: str, + pubkey_to_certify: str, + idty_to_certify: Dict, +) -> None: cert = list() cert.append(["Cert", "Issuer", "–>", "Recipient: Published: #block-hash date"]) client = client_instance() @@ -138,8 +145,13 @@ def certification_confirmation( def docs_generation( - currency, pubkey_to_certify, idty_to_certify, issuer_pubkey, head, key -): + currency: str, + pubkey_to_certify: str, + idty_to_certify: Dict, + issuer_pubkey: str, + head: Block, + key: SigningKey, +) -> Certification: identity = Identity( pubkey=pubkey_to_certify, uid=idty_to_certify["uid"],