Exemple #1
0
def bip39_passphrase(passphrase, verbose=False):
    """Provide a BIP39 passphrase"""

    with get_device() as dev:
        dev.check_mitm()

        ok = dev.send_recv(CCProtocolPacker.bip39_passphrase(passphrase),
                           timeout=None)
        assert ok == None

        print("Waiting for OK on the Coldcard...", end='', file=sys.stderr)
        sys.stderr.flush()

        while 1:
            time.sleep(0.250)
            done = dev.send_recv(CCProtocolPacker.get_passphrase_done(),
                                 timeout=None)
            if done == None:
                continue
            break

        print("\r                                  \r",
              end='',
              file=sys.stderr)
        sys.stderr.flush()

        if verbose:
            xpub = done
            click.echo(xpub)
        else:
            click.echo('Done.')