multi_signers.py raw

   1  #!/usr/bin/env python3
   2  # Copyright (c) 2022-present The Bitcoin Core developers
   3  # Distributed under the MIT software license, see the accompanying
   4  # file COPYING or http://www.opensource.org/licenses/mit-license.php.
   5  
   6  import argparse
   7  import json
   8  import sys
   9  
  10  def enumerate(args):
  11      sys.stdout.write(json.dumps([{"fingerprint": "00000001", "type": "trezor", "model": "trezor_t"},
  12          {"fingerprint": "00000002", "type": "trezor", "model": "trezor_one"}]))
  13  
  14  parser = argparse.ArgumentParser(prog='./multi_signers.py', description='External multi-signer mock')
  15  
  16  subparsers = parser.add_subparsers(description='Commands', dest='command')
  17  subparsers.required = True
  18  
  19  parser_enumerate = subparsers.add_parser('enumerate', help='list available signers')
  20  parser_enumerate.set_defaults(func=enumerate)
  21  
  22  
  23  if not sys.stdin.isatty():
  24      buffer = sys.stdin.read()
  25      if buffer and buffer.rstrip() != "":
  26          sys.argv.extend(buffer.rstrip().split(" "))
  27  
  28  args = parser.parse_args()
  29  
  30  args.func(args)
  31