/ test / functional / mocks / multi_signers.py
multi_signers.py
 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)